/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_valuebound100.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-e106359-m [2022-04-15 07:36:50,788 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-15 07:36:50,794 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-15 07:36:50,832 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-15 07:36:50,832 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-15 07:36:50,833 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-15 07:36:50,834 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-15 07:36:50,835 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-15 07:36:50,836 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-15 07:36:50,837 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-15 07:36:50,837 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-15 07:36:50,838 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-15 07:36:50,838 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-15 07:36:50,838 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-15 07:36:50,839 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-15 07:36:50,840 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-15 07:36:50,840 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-15 07:36:50,841 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-15 07:36:50,842 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-15 07:36:50,843 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-15 07:36:50,843 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-15 07:36:50,844 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-15 07:36:50,845 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-15 07:36:50,845 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-15 07:36:50,846 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-15 07:36:50,847 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-15 07:36:50,847 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-15 07:36:50,847 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-15 07:36:50,848 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-15 07:36:50,848 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-15 07:36:50,848 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-15 07:36:50,849 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-15 07:36:50,849 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-15 07:36:50,849 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-15 07:36:50,850 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-15 07:36:50,850 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-15 07:36:50,850 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-15 07:36:50,851 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-15 07:36:50,851 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-15 07:36:50,851 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-15 07:36:50,851 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-15 07:36:50,852 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-15 07:36:50,852 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:36:50,859 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-15 07:36:50,860 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-15 07:36:50,860 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-15 07:36:50,860 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-15 07:36:50,860 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-15 07:36:50,860 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-15 07:36:50,861 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-15 07:36:50,861 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-15 07:36:50,861 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-15 07:36:50,861 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-15 07:36:50,861 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-15 07:36:50,861 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-15 07:36:50,861 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-15 07:36:50,861 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-15 07:36:50,861 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-15 07:36:50,861 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-15 07:36:50,861 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-15 07:36:50,861 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-15 07:36:50,861 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-15 07:36:50,862 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-15 07:36:50,862 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-15 07:36:50,862 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-15 07:36:50,862 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-15 07:36:50,862 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-15 07:36:50,862 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=JORDAN [2022-04-15 07:36:50,862 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:36:51,029 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-15 07:36:51,043 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-15 07:36:51,045 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-15 07:36:51,045 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-15 07:36:51,046 INFO L275 PluginConnector]: CDTParser initialized [2022-04-15 07:36:51,047 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/bresenham-ll_valuebound100.c [2022-04-15 07:36:51,089 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/cb5fe7a73/12f8cd9555f443099beded21e6d5c902/FLAGe983ef887 [2022-04-15 07:36:51,461 INFO L306 CDTParser]: Found 1 translation units. [2022-04-15 07:36:51,462 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/bresenham-ll_valuebound100.c [2022-04-15 07:36:51,467 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/cb5fe7a73/12f8cd9555f443099beded21e6d5c902/FLAGe983ef887 [2022-04-15 07:36:51,479 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/cb5fe7a73/12f8cd9555f443099beded21e6d5c902 [2022-04-15 07:36:51,481 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-15 07:36:51,482 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-15 07:36:51,483 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-15 07:36:51,483 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-15 07:36:51,486 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-15 07:36:51,489 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 15.04 07:36:51" (1/1) ... [2022-04-15 07:36:51,490 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@8c5405e and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 07:36:51, skipping insertion in model container [2022-04-15 07:36:51,490 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 15.04 07:36:51" (1/1) ... [2022-04-15 07:36:51,494 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-15 07:36:51,504 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-15 07:36:51,597 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_valuebound100.c[597,610] [2022-04-15 07:36:51,612 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-15 07:36:51,618 INFO L203 MainTranslator]: Completed pre-run [2022-04-15 07:36:51,628 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_valuebound100.c[597,610] [2022-04-15 07:36:51,635 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-15 07:36:51,646 INFO L208 MainTranslator]: Completed translation [2022-04-15 07:36:51,646 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 07:36:51 WrapperNode [2022-04-15 07:36:51,646 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-15 07:36:51,647 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-15 07:36:51,647 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-15 07:36:51,647 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-15 07:36:51,655 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 07:36:51" (1/1) ... [2022-04-15 07:36:51,655 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 07:36:51" (1/1) ... [2022-04-15 07:36:51,660 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 07:36:51" (1/1) ... [2022-04-15 07:36:51,660 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 07:36:51" (1/1) ... [2022-04-15 07:36:51,666 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 07:36:51" (1/1) ... [2022-04-15 07:36:51,669 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 07:36:51" (1/1) ... [2022-04-15 07:36:51,670 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 07:36:51" (1/1) ... [2022-04-15 07:36:51,671 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-15 07:36:51,672 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-15 07:36:51,672 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-15 07:36:51,672 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-15 07:36:51,675 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 07:36:51" (1/1) ... [2022-04-15 07:36:51,682 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-15 07:36:51,688 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:36:51,702 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:36:51,703 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:36:51,726 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-15 07:36:51,726 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-15 07:36:51,726 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-15 07:36:51,726 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-15 07:36:51,727 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-15 07:36:51,727 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-15 07:36:51,727 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-15 07:36:51,727 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-15 07:36:51,727 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-15 07:36:51,727 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-15 07:36:51,727 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-15 07:36:51,727 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-15 07:36:51,727 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-15 07:36:51,727 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-15 07:36:51,727 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-15 07:36:51,727 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-15 07:36:51,728 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-15 07:36:51,728 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-15 07:36:51,728 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-15 07:36:51,728 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-15 07:36:51,777 INFO L234 CfgBuilder]: Building ICFG [2022-04-15 07:36:51,778 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-15 07:36:51,998 INFO L275 CfgBuilder]: Performing block encoding [2022-04-15 07:36:52,004 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-15 07:36:52,004 INFO L299 CfgBuilder]: Removed 1 assume(true) statements. [2022-04-15 07:36:52,005 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 15.04 07:36:52 BoogieIcfgContainer [2022-04-15 07:36:52,006 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-15 07:36:52,007 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-15 07:36:52,007 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-15 07:36:52,026 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-15 07:36:52,026 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 15.04 07:36:51" (1/3) ... [2022-04-15 07:36:52,027 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@6423c7fe and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 15.04 07:36:52, skipping insertion in model container [2022-04-15 07:36:52,027 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 07:36:51" (2/3) ... [2022-04-15 07:36:52,027 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@6423c7fe and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 15.04 07:36:52, skipping insertion in model container [2022-04-15 07:36:52,027 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 15.04 07:36:52" (3/3) ... [2022-04-15 07:36:52,028 INFO L111 eAbstractionObserver]: Analyzing ICFG bresenham-ll_valuebound100.c [2022-04-15 07:36:52,032 INFO L202 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-15 07:36:52,032 INFO L161 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-15 07:36:52,079 INFO L339 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-15 07:36:52,086 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:36:52,087 INFO L341 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-15 07:36:52,111 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:36:52,126 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2022-04-15 07:36:52,126 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:36:52,127 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:36:52,127 INFO L403 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:36:52,130 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:36:52,130 INFO L85 PathProgramCache]: Analyzing trace with hash -1867489771, now seen corresponding path program 1 times [2022-04-15 07:36:52,135 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:36:52,135 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1957970228] [2022-04-15 07:36:52,144 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 07:36:52,144 INFO L85 PathProgramCache]: Analyzing trace with hash -1867489771, now seen corresponding path program 2 times [2022-04-15 07:36:52,147 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:36:52,148 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [843314525] [2022-04-15 07:36:52,148 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:36:52,148 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:36:52,237 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:36:52,284 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 07:36:52,294 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:36:52,314 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:36:52,314 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume true; {35#true} is VALID [2022-04-15 07:36:52,315 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {35#true} {35#true} #69#return; {35#true} is VALID [2022-04-15 07:36:52,315 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 07:36:52,317 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:36:52,327 INFO L290 TraceCheckUtils]: 0: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-15 07:36:52,328 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-15 07:36:52,328 INFO L290 TraceCheckUtils]: 2: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-15 07:36:52,328 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36#false} {35#true} #61#return; {36#false} is VALID [2022-04-15 07:36:52,328 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-15 07:36:52,339 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:36:52,343 INFO L290 TraceCheckUtils]: 0: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-15 07:36:52,343 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-15 07:36:52,343 INFO L290 TraceCheckUtils]: 2: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-15 07:36:52,344 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36#false} {36#false} #63#return; {36#false} is VALID [2022-04-15 07:36:52,344 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:36:52,344 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:36:52,345 INFO L290 TraceCheckUtils]: 2: Hoare triple {35#true} assume true; {35#true} is VALID [2022-04-15 07:36:52,345 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {35#true} {35#true} #69#return; {35#true} is VALID [2022-04-15 07:36:52,345 INFO L272 TraceCheckUtils]: 4: Hoare triple {35#true} call #t~ret8 := main(); {35#true} is VALID [2022-04-15 07:36:52,345 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:36:52,345 INFO L272 TraceCheckUtils]: 6: Hoare triple {35#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {35#true} is VALID [2022-04-15 07:36:52,346 INFO L290 TraceCheckUtils]: 7: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-15 07:36:52,346 INFO L290 TraceCheckUtils]: 8: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-15 07:36:52,346 INFO L290 TraceCheckUtils]: 9: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-15 07:36:52,346 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {36#false} {35#true} #61#return; {36#false} is VALID [2022-04-15 07:36:52,346 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:36:52,347 INFO L272 TraceCheckUtils]: 12: Hoare triple {36#false} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {35#true} is VALID [2022-04-15 07:36:52,347 INFO L290 TraceCheckUtils]: 13: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-15 07:36:52,347 INFO L290 TraceCheckUtils]: 14: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-15 07:36:52,347 INFO L290 TraceCheckUtils]: 15: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-15 07:36:52,347 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {36#false} {36#false} #63#return; {36#false} is VALID [2022-04-15 07:36:52,347 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:36:52,348 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:36:52,348 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:36:52,348 INFO L290 TraceCheckUtils]: 20: Hoare triple {36#false} ~cond := #in~cond; {36#false} is VALID [2022-04-15 07:36:52,348 INFO L290 TraceCheckUtils]: 21: Hoare triple {36#false} assume 0 == ~cond; {36#false} is VALID [2022-04-15 07:36:52,348 INFO L290 TraceCheckUtils]: 22: Hoare triple {36#false} assume !false; {36#false} is VALID [2022-04-15 07:36:52,349 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:36:52,349 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:36:52,349 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [843314525] [2022-04-15 07:36:52,350 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [843314525] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:36:52,350 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:36:52,350 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-15 07:36:52,352 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:36:52,352 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1957970228] [2022-04-15 07:36:52,352 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1957970228] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:36:52,352 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:36:52,352 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-15 07:36:52,352 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [872162463] [2022-04-15 07:36:52,353 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:36:52,356 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:36:52,357 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:36:52,359 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:36:52,379 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:36:52,379 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-15 07:36:52,380 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:36:52,398 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-15 07:36:52,399 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-15 07:36:52,402 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:36:52,531 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:36:52,532 INFO L93 Difference]: Finished difference Result 57 states and 74 transitions. [2022-04-15 07:36:52,532 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-15 07:36:52,532 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:36:52,532 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:36:52,533 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:36:52,541 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 74 transitions. [2022-04-15 07:36:52,541 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:36:52,551 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 74 transitions. [2022-04-15 07:36:52,552 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 74 transitions. [2022-04-15 07:36:52,646 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:36:52,653 INFO L225 Difference]: With dead ends: 57 [2022-04-15 07:36:52,653 INFO L226 Difference]: Without dead ends: 27 [2022-04-15 07:36:52,656 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:36:52,659 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:36:52,660 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:36:52,672 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 27 states. [2022-04-15 07:36:52,681 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 27 to 27. [2022-04-15 07:36:52,681 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:36:52,682 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:36:52,683 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:36:52,683 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:36:52,685 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:36:52,686 INFO L93 Difference]: Finished difference Result 27 states and 30 transitions. [2022-04-15 07:36:52,686 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 30 transitions. [2022-04-15 07:36:52,686 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:36:52,686 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:36:52,687 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:36:52,687 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:36:52,689 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:36:52,689 INFO L93 Difference]: Finished difference Result 27 states and 30 transitions. [2022-04-15 07:36:52,689 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 30 transitions. [2022-04-15 07:36:52,689 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:36:52,689 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:36:52,689 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:36:52,690 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:36:52,690 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:36:52,691 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 30 transitions. [2022-04-15 07:36:52,692 INFO L78 Accepts]: Start accepts. Automaton has 27 states and 30 transitions. Word has length 23 [2022-04-15 07:36:52,692 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:36:52,692 INFO L478 AbstractCegarLoop]: Abstraction has 27 states and 30 transitions. [2022-04-15 07:36:52,692 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:36:52,693 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 27 states and 30 transitions. [2022-04-15 07:36:52,760 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:36:52,761 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 30 transitions. [2022-04-15 07:36:52,761 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2022-04-15 07:36:52,761 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:36:52,762 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:36:52,762 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-15 07:36:52,762 INFO L403 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:36:52,762 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:36:52,763 INFO L85 PathProgramCache]: Analyzing trace with hash 1827672217, now seen corresponding path program 1 times [2022-04-15 07:36:52,763 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:36:52,763 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1447571674] [2022-04-15 07:36:52,763 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 07:36:52,763 INFO L85 PathProgramCache]: Analyzing trace with hash 1827672217, now seen corresponding path program 2 times [2022-04-15 07:36:52,763 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:36:52,764 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [657057543] [2022-04-15 07:36:52,764 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:36:52,764 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:36:52,789 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:36:52,791 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [703140050] [2022-04-15 07:36:52,792 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 07:36:52,792 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:36:52,792 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:36:52,793 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:36:52,794 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:36:52,836 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-15 07:36:52,836 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:36:52,838 INFO L263 TraceCheckSpWp]: Trace formula consists of 71 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-15 07:36:52,846 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:36:52,848 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:36:52,971 INFO L272 TraceCheckUtils]: 0: Hoare triple {273#true} call ULTIMATE.init(); {273#true} is VALID [2022-04-15 07:36:52,971 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:36:52,971 INFO L290 TraceCheckUtils]: 2: Hoare triple {273#true} assume true; {273#true} is VALID [2022-04-15 07:36:52,972 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {273#true} {273#true} #69#return; {273#true} is VALID [2022-04-15 07:36:52,972 INFO L272 TraceCheckUtils]: 4: Hoare triple {273#true} call #t~ret8 := main(); {273#true} is VALID [2022-04-15 07:36:52,972 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:36:52,972 INFO L272 TraceCheckUtils]: 6: Hoare triple {273#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {273#true} is VALID [2022-04-15 07:36:52,972 INFO L290 TraceCheckUtils]: 7: Hoare triple {273#true} ~cond := #in~cond; {273#true} is VALID [2022-04-15 07:36:52,972 INFO L290 TraceCheckUtils]: 8: Hoare triple {273#true} assume !(0 == ~cond); {273#true} is VALID [2022-04-15 07:36:52,972 INFO L290 TraceCheckUtils]: 9: Hoare triple {273#true} assume true; {273#true} is VALID [2022-04-15 07:36:52,973 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {273#true} {273#true} #61#return; {273#true} is VALID [2022-04-15 07:36:52,973 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:36:52,973 INFO L272 TraceCheckUtils]: 12: Hoare triple {273#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {273#true} is VALID [2022-04-15 07:36:52,973 INFO L290 TraceCheckUtils]: 13: Hoare triple {273#true} ~cond := #in~cond; {273#true} is VALID [2022-04-15 07:36:52,973 INFO L290 TraceCheckUtils]: 14: Hoare triple {273#true} assume !(0 == ~cond); {273#true} is VALID [2022-04-15 07:36:52,973 INFO L290 TraceCheckUtils]: 15: Hoare triple {273#true} assume true; {273#true} is VALID [2022-04-15 07:36:52,973 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {273#true} {273#true} #63#return; {273#true} is VALID [2022-04-15 07:36:52,974 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:36:52,975 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:36:52,976 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:36:52,976 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:36:52,976 INFO L290 TraceCheckUtils]: 21: Hoare triple {341#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {274#false} is VALID [2022-04-15 07:36:52,977 INFO L290 TraceCheckUtils]: 22: Hoare triple {274#false} assume !false; {274#false} is VALID [2022-04-15 07:36:52,977 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:36:52,977 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-15 07:36:52,977 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:36:52,977 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [657057543] [2022-04-15 07:36:52,977 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 07:36:52,978 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [703140050] [2022-04-15 07:36:52,978 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [703140050] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:36:52,978 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:36:52,978 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-15 07:36:52,979 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:36:52,979 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1447571674] [2022-04-15 07:36:52,979 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1447571674] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:36:52,979 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:36:52,979 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-15 07:36:52,979 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [599541731] [2022-04-15 07:36:52,979 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:36:52,980 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:36:52,980 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:36:52,980 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:36:52,994 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:36:52,994 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-15 07:36:52,994 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:36:52,995 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-15 07:36:52,995 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-15 07:36:52,995 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:36:53,176 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:36:53,177 INFO L93 Difference]: Finished difference Result 39 states and 44 transitions. [2022-04-15 07:36:53,177 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-15 07:36:53,177 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:36:53,177 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:36:53,178 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:36:53,181 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 44 transitions. [2022-04-15 07:36:53,182 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:36:53,184 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 44 transitions. [2022-04-15 07:36:53,184 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 44 transitions. [2022-04-15 07:36:53,218 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:36:53,221 INFO L225 Difference]: With dead ends: 39 [2022-04-15 07:36:53,221 INFO L226 Difference]: Without dead ends: 35 [2022-04-15 07:36:53,222 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:36:53,223 INFO L913 BasicCegarLoop]: 22 mSDtfsCounter, 10 mSDsluCounter, 69 mSDsCounter, 0 mSdLazyCounter, 61 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s 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:36:53,226 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:36:53,228 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 35 states. [2022-04-15 07:36:53,248 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 35 to 34. [2022-04-15 07:36:53,249 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:36:53,249 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:36:53,249 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:36:53,251 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:36:53,254 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:36:53,254 INFO L93 Difference]: Finished difference Result 35 states and 39 transitions. [2022-04-15 07:36:53,254 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 39 transitions. [2022-04-15 07:36:53,254 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:36:53,255 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:36:53,257 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:36:53,257 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:36:53,264 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:36:53,264 INFO L93 Difference]: Finished difference Result 35 states and 39 transitions. [2022-04-15 07:36:53,264 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 39 transitions. [2022-04-15 07:36:53,264 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:36:53,264 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:36:53,264 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:36:53,264 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:36:53,265 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:36:53,266 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 37 transitions. [2022-04-15 07:36:53,266 INFO L78 Accepts]: Start accepts. Automaton has 34 states and 37 transitions. Word has length 23 [2022-04-15 07:36:53,266 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:36:53,266 INFO L478 AbstractCegarLoop]: Abstraction has 34 states and 37 transitions. [2022-04-15 07:36:53,266 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:36:53,266 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 34 states and 37 transitions. [2022-04-15 07:36:53,297 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:36:53,297 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 37 transitions. [2022-04-15 07:36:53,299 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2022-04-15 07:36:53,299 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:36:53,299 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:36:53,315 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:36:53,511 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:36:53,518 INFO L403 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:36:53,518 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:36:53,519 INFO L85 PathProgramCache]: Analyzing trace with hash -1419291471, now seen corresponding path program 1 times [2022-04-15 07:36:53,519 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:36:53,519 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1990007607] [2022-04-15 07:36:53,519 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 07:36:53,519 INFO L85 PathProgramCache]: Analyzing trace with hash -1419291471, now seen corresponding path program 2 times [2022-04-15 07:36:53,519 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:36:53,519 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2034611426] [2022-04-15 07:36:53,519 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:36:53,520 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:36:53,544 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:36:53,544 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1617976974] [2022-04-15 07:36:53,545 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 07:36:53,545 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:36:53,545 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:36:53,547 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:36:53,548 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:36:53,595 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 07:36:53,595 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:36:53,596 INFO L263 TraceCheckSpWp]: Trace formula consists of 103 conjuncts, 24 conjunts are in the unsatisfiable core [2022-04-15 07:36:53,610 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:36:53,611 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:36:53,903 INFO L272 TraceCheckUtils]: 0: Hoare triple {567#true} call ULTIMATE.init(); {567#true} is VALID [2022-04-15 07:36:53,904 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:36:53,904 INFO L290 TraceCheckUtils]: 2: Hoare triple {567#true} assume true; {567#true} is VALID [2022-04-15 07:36:53,904 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {567#true} {567#true} #69#return; {567#true} is VALID [2022-04-15 07:36:53,904 INFO L272 TraceCheckUtils]: 4: Hoare triple {567#true} call #t~ret8 := main(); {567#true} is VALID [2022-04-15 07:36:53,904 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:36:53,904 INFO L272 TraceCheckUtils]: 6: Hoare triple {567#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {567#true} is VALID [2022-04-15 07:36:53,904 INFO L290 TraceCheckUtils]: 7: Hoare triple {567#true} ~cond := #in~cond; {567#true} is VALID [2022-04-15 07:36:53,904 INFO L290 TraceCheckUtils]: 8: Hoare triple {567#true} assume !(0 == ~cond); {567#true} is VALID [2022-04-15 07:36:53,905 INFO L290 TraceCheckUtils]: 9: Hoare triple {567#true} assume true; {567#true} is VALID [2022-04-15 07:36:53,905 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {567#true} {567#true} #61#return; {567#true} is VALID [2022-04-15 07:36:53,905 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:36:53,905 INFO L272 TraceCheckUtils]: 12: Hoare triple {567#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {567#true} is VALID [2022-04-15 07:36:53,905 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:36:53,906 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:36:53,906 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:36:53,909 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 100))} is VALID [2022-04-15 07:36:53,910 INFO L290 TraceCheckUtils]: 17: Hoare triple {622#(and (<= 0 main_~Y~0) (<= main_~Y~0 100))} ~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 100))} is VALID [2022-04-15 07:36:53,910 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 100))} 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 100))} is VALID [2022-04-15 07:36:53,910 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 100))} 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:36:53,911 INFO L290 TraceCheckUtils]: 20: Hoare triple {567#true} ~cond := #in~cond; {567#true} is VALID [2022-04-15 07:36:53,911 INFO L290 TraceCheckUtils]: 21: Hoare triple {567#true} assume !(0 == ~cond); {567#true} is VALID [2022-04-15 07:36:53,911 INFO L290 TraceCheckUtils]: 22: Hoare triple {567#true} assume true; {567#true} is VALID [2022-04-15 07:36:53,912 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 100))} #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 100))} is VALID [2022-04-15 07:36:53,913 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 100))} 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 100))} is VALID [2022-04-15 07:36:53,914 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 100))} 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 100) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} is VALID [2022-04-15 07:36:53,915 INFO L290 TraceCheckUtils]: 26: Hoare triple {651#(and (= main_~x~0 0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100) (= (+ (* (- 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 100) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} is VALID [2022-04-15 07:36:53,915 INFO L290 TraceCheckUtils]: 27: Hoare triple {655#(and (= main_~x~0 1) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100) (= (+ (* (- 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 100) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} is VALID [2022-04-15 07:36:53,916 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 100) (= (+ (* (- 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:36:53,917 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:36:53,917 INFO L290 TraceCheckUtils]: 30: Hoare triple {667#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {568#false} is VALID [2022-04-15 07:36:53,917 INFO L290 TraceCheckUtils]: 31: Hoare triple {568#false} assume !false; {568#false} is VALID [2022-04-15 07:36:53,917 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:36:53,917 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:36:54,136 INFO L290 TraceCheckUtils]: 31: Hoare triple {568#false} assume !false; {568#false} is VALID [2022-04-15 07:36:54,137 INFO L290 TraceCheckUtils]: 30: Hoare triple {667#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {568#false} is VALID [2022-04-15 07:36:54,137 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:36:54,138 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:36:54,139 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:36:54,147 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:36:54,148 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:36:54,149 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:36:54,149 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:36:54,150 INFO L290 TraceCheckUtils]: 22: Hoare triple {567#true} assume true; {567#true} is VALID [2022-04-15 07:36:54,150 INFO L290 TraceCheckUtils]: 21: Hoare triple {567#true} assume !(0 == ~cond); {567#true} is VALID [2022-04-15 07:36:54,150 INFO L290 TraceCheckUtils]: 20: Hoare triple {567#true} ~cond := #in~cond; {567#true} is VALID [2022-04-15 07:36:54,150 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:36:54,151 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:36:54,153 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:36:54,153 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {567#true} {567#true} #63#return; {567#true} is VALID [2022-04-15 07:36:54,153 INFO L290 TraceCheckUtils]: 15: Hoare triple {567#true} assume true; {567#true} is VALID [2022-04-15 07:36:54,153 INFO L290 TraceCheckUtils]: 14: Hoare triple {567#true} assume !(0 == ~cond); {567#true} is VALID [2022-04-15 07:36:54,153 INFO L290 TraceCheckUtils]: 13: Hoare triple {567#true} ~cond := #in~cond; {567#true} is VALID [2022-04-15 07:36:54,153 INFO L272 TraceCheckUtils]: 12: Hoare triple {567#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {567#true} is VALID [2022-04-15 07:36:54,154 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:36:54,154 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {567#true} {567#true} #61#return; {567#true} is VALID [2022-04-15 07:36:54,154 INFO L290 TraceCheckUtils]: 9: Hoare triple {567#true} assume true; {567#true} is VALID [2022-04-15 07:36:54,154 INFO L290 TraceCheckUtils]: 8: Hoare triple {567#true} assume !(0 == ~cond); {567#true} is VALID [2022-04-15 07:36:54,154 INFO L290 TraceCheckUtils]: 7: Hoare triple {567#true} ~cond := #in~cond; {567#true} is VALID [2022-04-15 07:36:54,154 INFO L272 TraceCheckUtils]: 6: Hoare triple {567#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {567#true} is VALID [2022-04-15 07:36:54,154 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:36:54,154 INFO L272 TraceCheckUtils]: 4: Hoare triple {567#true} call #t~ret8 := main(); {567#true} is VALID [2022-04-15 07:36:54,154 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {567#true} {567#true} #69#return; {567#true} is VALID [2022-04-15 07:36:54,154 INFO L290 TraceCheckUtils]: 2: Hoare triple {567#true} assume true; {567#true} is VALID [2022-04-15 07:36:54,155 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:36:54,155 INFO L272 TraceCheckUtils]: 0: Hoare triple {567#true} call ULTIMATE.init(); {567#true} is VALID [2022-04-15 07:36:54,155 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:36:54,155 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:36:54,155 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2034611426] [2022-04-15 07:36:54,155 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 07:36:54,155 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1617976974] [2022-04-15 07:36:54,155 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1617976974] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:36:54,156 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 07:36:54,156 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 7] total 14 [2022-04-15 07:36:54,156 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:36:54,156 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1990007607] [2022-04-15 07:36:54,156 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1990007607] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:36:54,156 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:36:54,156 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-15 07:36:54,156 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1535370377] [2022-04-15 07:36:54,156 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:36:54,157 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:36:54,157 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:36:54,157 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:36:54,180 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:36:54,180 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-15 07:36:54,180 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:36:54,180 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-15 07:36:54,180 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=149, Unknown=0, NotChecked=0, Total=182 [2022-04-15 07:36:54,181 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:36:54,694 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:36:54,694 INFO L93 Difference]: Finished difference Result 48 states and 54 transitions. [2022-04-15 07:36:54,694 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-15 07:36:54,694 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:36:54,694 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:36:54,694 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:36:54,696 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 51 transitions. [2022-04-15 07:36:54,696 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:36:54,697 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 51 transitions. [2022-04-15 07:36:54,697 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 51 transitions. [2022-04-15 07:36:54,734 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:36:54,735 INFO L225 Difference]: With dead ends: 48 [2022-04-15 07:36:54,735 INFO L226 Difference]: Without dead ends: 44 [2022-04-15 07:36:54,735 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:36:54,736 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:36:54,736 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:36:54,736 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 44 states. [2022-04-15 07:36:54,764 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 44 to 43. [2022-04-15 07:36:54,764 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:36:54,764 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:36:54,764 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:36:54,764 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:36:54,766 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:36:54,766 INFO L93 Difference]: Finished difference Result 44 states and 49 transitions. [2022-04-15 07:36:54,766 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 49 transitions. [2022-04-15 07:36:54,766 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:36:54,766 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:36:54,766 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:36:54,767 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:36:54,768 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:36:54,768 INFO L93 Difference]: Finished difference Result 44 states and 49 transitions. [2022-04-15 07:36:54,768 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 49 transitions. [2022-04-15 07:36:54,768 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:36:54,768 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:36:54,768 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:36:54,768 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:36:54,769 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:36:54,770 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 43 states to 43 states and 47 transitions. [2022-04-15 07:36:54,770 INFO L78 Accepts]: Start accepts. Automaton has 43 states and 47 transitions. Word has length 32 [2022-04-15 07:36:54,770 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:36:54,770 INFO L478 AbstractCegarLoop]: Abstraction has 43 states and 47 transitions. [2022-04-15 07:36:54,770 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:36:54,770 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 43 states and 47 transitions. [2022-04-15 07:36:54,809 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:36:54,809 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 47 transitions. [2022-04-15 07:36:54,810 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2022-04-15 07:36:54,810 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:36:54,810 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:36:54,827 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Forceful destruction successful, exit code 0 [2022-04-15 07:36:55,023 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:36:55,023 INFO L403 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:36:55,024 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:36:55,024 INFO L85 PathProgramCache]: Analyzing trace with hash 355715891, now seen corresponding path program 1 times [2022-04-15 07:36:55,024 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:36:55,024 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [252355510] [2022-04-15 07:36:55,024 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 07:36:55,024 INFO L85 PathProgramCache]: Analyzing trace with hash 355715891, now seen corresponding path program 2 times [2022-04-15 07:36:55,025 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:36:55,025 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [377299514] [2022-04-15 07:36:55,025 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:36:55,025 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:36:55,036 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:36:55,036 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1426006725] [2022-04-15 07:36:55,036 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 07:36:55,036 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:36:55,036 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:36:55,037 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:36:55,053 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:36:55,078 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 07:36:55,078 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:36:55,079 INFO L263 TraceCheckSpWp]: Trace formula consists of 105 conjuncts, 24 conjunts are in the unsatisfiable core [2022-04-15 07:36:55,086 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:36:55,086 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:36:55,272 INFO L272 TraceCheckUtils]: 0: Hoare triple {1048#true} call ULTIMATE.init(); {1048#true} is VALID [2022-04-15 07:36:55,272 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:36:55,272 INFO L290 TraceCheckUtils]: 2: Hoare triple {1048#true} assume true; {1048#true} is VALID [2022-04-15 07:36:55,272 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1048#true} {1048#true} #69#return; {1048#true} is VALID [2022-04-15 07:36:55,272 INFO L272 TraceCheckUtils]: 4: Hoare triple {1048#true} call #t~ret8 := main(); {1048#true} is VALID [2022-04-15 07:36:55,272 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:36:55,272 INFO L272 TraceCheckUtils]: 6: Hoare triple {1048#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {1048#true} is VALID [2022-04-15 07:36:55,273 INFO L290 TraceCheckUtils]: 7: Hoare triple {1048#true} ~cond := #in~cond; {1048#true} is VALID [2022-04-15 07:36:55,273 INFO L290 TraceCheckUtils]: 8: Hoare triple {1048#true} assume !(0 == ~cond); {1048#true} is VALID [2022-04-15 07:36:55,273 INFO L290 TraceCheckUtils]: 9: Hoare triple {1048#true} assume true; {1048#true} is VALID [2022-04-15 07:36:55,273 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1048#true} {1048#true} #61#return; {1048#true} is VALID [2022-04-15 07:36:55,273 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:36:55,273 INFO L272 TraceCheckUtils]: 12: Hoare triple {1048#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {1048#true} is VALID [2022-04-15 07:36:55,273 INFO L290 TraceCheckUtils]: 13: Hoare triple {1048#true} ~cond := #in~cond; {1048#true} is VALID [2022-04-15 07:36:55,273 INFO L290 TraceCheckUtils]: 14: Hoare triple {1048#true} assume !(0 == ~cond); {1048#true} is VALID [2022-04-15 07:36:55,273 INFO L290 TraceCheckUtils]: 15: Hoare triple {1048#true} assume true; {1048#true} is VALID [2022-04-15 07:36:55,273 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1048#true} {1048#true} #63#return; {1048#true} is VALID [2022-04-15 07:36:55,274 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:36:55,274 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:36:55,274 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:36:55,275 INFO L290 TraceCheckUtils]: 20: Hoare triple {1048#true} ~cond := #in~cond; {1048#true} is VALID [2022-04-15 07:36:55,275 INFO L290 TraceCheckUtils]: 21: Hoare triple {1048#true} assume !(0 == ~cond); {1048#true} is VALID [2022-04-15 07:36:55,275 INFO L290 TraceCheckUtils]: 22: Hoare triple {1048#true} assume true; {1048#true} is VALID [2022-04-15 07:36:55,276 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:36:55,276 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:36:55,277 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:36:55,277 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:36:55,278 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:36:55,279 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:36:55,279 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:36:55,279 INFO L290 TraceCheckUtils]: 30: Hoare triple {1146#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1049#false} is VALID [2022-04-15 07:36:55,280 INFO L290 TraceCheckUtils]: 31: Hoare triple {1049#false} assume !false; {1049#false} is VALID [2022-04-15 07:36:55,280 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:36:55,280 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:36:55,469 INFO L290 TraceCheckUtils]: 31: Hoare triple {1049#false} assume !false; {1049#false} is VALID [2022-04-15 07:36:55,470 INFO L290 TraceCheckUtils]: 30: Hoare triple {1146#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1049#false} is VALID [2022-04-15 07:36:55,470 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:36:55,471 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:36:55,472 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:36:55,575 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:36:55,577 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:36:55,578 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:36:55,578 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:36:55,579 INFO L290 TraceCheckUtils]: 22: Hoare triple {1048#true} assume true; {1048#true} is VALID [2022-04-15 07:36:55,579 INFO L290 TraceCheckUtils]: 21: Hoare triple {1048#true} assume !(0 == ~cond); {1048#true} is VALID [2022-04-15 07:36:55,579 INFO L290 TraceCheckUtils]: 20: Hoare triple {1048#true} ~cond := #in~cond; {1048#true} is VALID [2022-04-15 07:36:55,579 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:36:55,579 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:36:55,580 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:36:55,580 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1048#true} {1048#true} #63#return; {1048#true} is VALID [2022-04-15 07:36:55,580 INFO L290 TraceCheckUtils]: 15: Hoare triple {1048#true} assume true; {1048#true} is VALID [2022-04-15 07:36:55,580 INFO L290 TraceCheckUtils]: 14: Hoare triple {1048#true} assume !(0 == ~cond); {1048#true} is VALID [2022-04-15 07:36:55,580 INFO L290 TraceCheckUtils]: 13: Hoare triple {1048#true} ~cond := #in~cond; {1048#true} is VALID [2022-04-15 07:36:55,580 INFO L272 TraceCheckUtils]: 12: Hoare triple {1048#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {1048#true} is VALID [2022-04-15 07:36:55,580 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:36:55,580 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1048#true} {1048#true} #61#return; {1048#true} is VALID [2022-04-15 07:36:55,580 INFO L290 TraceCheckUtils]: 9: Hoare triple {1048#true} assume true; {1048#true} is VALID [2022-04-15 07:36:55,581 INFO L290 TraceCheckUtils]: 8: Hoare triple {1048#true} assume !(0 == ~cond); {1048#true} is VALID [2022-04-15 07:36:55,581 INFO L290 TraceCheckUtils]: 7: Hoare triple {1048#true} ~cond := #in~cond; {1048#true} is VALID [2022-04-15 07:36:55,581 INFO L272 TraceCheckUtils]: 6: Hoare triple {1048#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {1048#true} is VALID [2022-04-15 07:36:55,581 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:36:55,581 INFO L272 TraceCheckUtils]: 4: Hoare triple {1048#true} call #t~ret8 := main(); {1048#true} is VALID [2022-04-15 07:36:55,581 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1048#true} {1048#true} #69#return; {1048#true} is VALID [2022-04-15 07:36:55,581 INFO L290 TraceCheckUtils]: 2: Hoare triple {1048#true} assume true; {1048#true} is VALID [2022-04-15 07:36:55,581 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:36:55,581 INFO L272 TraceCheckUtils]: 0: Hoare triple {1048#true} call ULTIMATE.init(); {1048#true} is VALID [2022-04-15 07:36:55,581 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:36:55,582 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:36:55,582 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [377299514] [2022-04-15 07:36:55,582 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 07:36:55,582 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1426006725] [2022-04-15 07:36:55,582 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1426006725] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:36:55,582 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 07:36:55,582 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 8] total 13 [2022-04-15 07:36:55,582 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:36:55,582 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [252355510] [2022-04-15 07:36:55,582 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [252355510] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:36:55,582 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:36:55,582 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-15 07:36:55,582 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1927078911] [2022-04-15 07:36:55,582 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:36:55,583 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:36:55,583 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:36:55,583 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:36:55,607 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:36:55,608 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-15 07:36:55,608 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:36:55,608 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-15 07:36:55,608 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=123, Unknown=0, NotChecked=0, Total=156 [2022-04-15 07:36:55,609 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:36:55,986 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:36:55,986 INFO L93 Difference]: Finished difference Result 56 states and 62 transitions. [2022-04-15 07:36:55,986 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-15 07:36:55,986 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:36:55,987 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:36:55,987 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:36:55,988 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 51 transitions. [2022-04-15 07:36:55,988 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:36:55,989 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 51 transitions. [2022-04-15 07:36:55,989 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 51 transitions. [2022-04-15 07:36:56,026 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:36:56,027 INFO L225 Difference]: With dead ends: 56 [2022-04-15 07:36:56,027 INFO L226 Difference]: Without dead ends: 54 [2022-04-15 07:36:56,027 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:36:56,028 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:36:56,028 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:36:56,029 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 54 states. [2022-04-15 07:36:56,065 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 54 to 50. [2022-04-15 07:36:56,065 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:36:56,065 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:36:56,066 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:36:56,066 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:36:56,067 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:36:56,067 INFO L93 Difference]: Finished difference Result 54 states and 60 transitions. [2022-04-15 07:36:56,068 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 60 transitions. [2022-04-15 07:36:56,068 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:36:56,068 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:36:56,068 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:36:56,068 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:36:56,070 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:36:56,070 INFO L93 Difference]: Finished difference Result 54 states and 60 transitions. [2022-04-15 07:36:56,070 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 60 transitions. [2022-04-15 07:36:56,070 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:36:56,070 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:36:56,070 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:36:56,070 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:36:56,070 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:36:56,072 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 54 transitions. [2022-04-15 07:36:56,072 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 54 transitions. Word has length 32 [2022-04-15 07:36:56,072 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:36:56,072 INFO L478 AbstractCegarLoop]: Abstraction has 50 states and 54 transitions. [2022-04-15 07:36:56,072 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:36:56,072 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 50 states and 54 transitions. [2022-04-15 07:36:56,124 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:36:56,124 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 54 transitions. [2022-04-15 07:36:56,125 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2022-04-15 07:36:56,125 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:36:56,125 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:36:56,143 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Ended with exit code 0 [2022-04-15 07:36:56,339 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:36:56,339 INFO L403 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:36:56,340 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:36:56,340 INFO L85 PathProgramCache]: Analyzing trace with hash 125050924, now seen corresponding path program 1 times [2022-04-15 07:36:56,340 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:36:56,340 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [49013933] [2022-04-15 07:36:56,340 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 07:36:56,340 INFO L85 PathProgramCache]: Analyzing trace with hash 125050924, now seen corresponding path program 2 times [2022-04-15 07:36:56,340 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:36:56,340 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2052452762] [2022-04-15 07:36:56,340 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:36:56,341 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:36:56,353 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:36:56,353 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [882848126] [2022-04-15 07:36:56,354 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 07:36:56,354 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:36:56,354 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:36:56,359 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:36:56,360 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:36:56,404 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 07:36:56,404 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:36:56,405 INFO L263 TraceCheckSpWp]: Trace formula consists of 119 conjuncts, 30 conjunts are in the unsatisfiable core [2022-04-15 07:36:56,414 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:36:56,415 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:37:11,591 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 07:37:18,219 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 07:37:24,245 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 07:37:29,777 INFO L272 TraceCheckUtils]: 0: Hoare triple {1576#true} call ULTIMATE.init(); {1576#true} is VALID [2022-04-15 07:37:29,777 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:37:29,777 INFO L290 TraceCheckUtils]: 2: Hoare triple {1576#true} assume true; {1576#true} is VALID [2022-04-15 07:37:29,777 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1576#true} {1576#true} #69#return; {1576#true} is VALID [2022-04-15 07:37:29,777 INFO L272 TraceCheckUtils]: 4: Hoare triple {1576#true} call #t~ret8 := main(); {1576#true} is VALID [2022-04-15 07:37:29,777 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:37:29,777 INFO L272 TraceCheckUtils]: 6: Hoare triple {1576#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {1576#true} is VALID [2022-04-15 07:37:29,777 INFO L290 TraceCheckUtils]: 7: Hoare triple {1576#true} ~cond := #in~cond; {1576#true} is VALID [2022-04-15 07:37:29,778 INFO L290 TraceCheckUtils]: 8: Hoare triple {1576#true} assume !(0 == ~cond); {1576#true} is VALID [2022-04-15 07:37:29,778 INFO L290 TraceCheckUtils]: 9: Hoare triple {1576#true} assume true; {1576#true} is VALID [2022-04-15 07:37:29,778 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1576#true} {1576#true} #61#return; {1576#true} is VALID [2022-04-15 07:37:29,778 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:37:29,778 INFO L272 TraceCheckUtils]: 12: Hoare triple {1576#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {1576#true} is VALID [2022-04-15 07:37:29,778 INFO L290 TraceCheckUtils]: 13: Hoare triple {1576#true} ~cond := #in~cond; {1576#true} is VALID [2022-04-15 07:37:29,778 INFO L290 TraceCheckUtils]: 14: Hoare triple {1576#true} assume !(0 == ~cond); {1576#true} is VALID [2022-04-15 07:37:29,778 INFO L290 TraceCheckUtils]: 15: Hoare triple {1576#true} assume true; {1576#true} is VALID [2022-04-15 07:37:29,778 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1576#true} {1576#true} #63#return; {1576#true} is VALID [2022-04-15 07:37:29,781 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:37:29,782 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:37:29,782 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:37:29,782 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:37:29,782 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:37:29,783 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:37:29,783 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:37:29,784 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:37:29,784 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:37:29,784 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:37:29,785 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:37:29,785 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:37:29,785 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:37:29,785 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:37:29,786 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:37:29,787 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:37:29,787 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:37:29,793 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:37:29,795 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:37:29,795 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:37:29,795 INFO L290 TraceCheckUtils]: 37: Hoare triple {1700#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1577#false} is VALID [2022-04-15 07:37:29,795 INFO L290 TraceCheckUtils]: 38: Hoare triple {1577#false} assume !false; {1577#false} is VALID [2022-04-15 07:37:29,796 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:37:29,796 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:37:30,693 INFO L290 TraceCheckUtils]: 38: Hoare triple {1577#false} assume !false; {1577#false} is VALID [2022-04-15 07:37:30,693 INFO L290 TraceCheckUtils]: 37: Hoare triple {1700#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1577#false} is VALID [2022-04-15 07:37:30,694 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:37:30,694 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:37:30,695 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:37:30,696 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:37:30,697 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:37:30,697 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:37:30,697 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:37:30,698 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:37:30,698 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:37:30,698 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:37:30,699 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:37:30,702 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:37:30,703 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:37:30,703 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1576#true} {1576#true} #65#return; {1576#true} is VALID [2022-04-15 07:37:30,703 INFO L290 TraceCheckUtils]: 22: Hoare triple {1576#true} assume true; {1576#true} is VALID [2022-04-15 07:37:30,703 INFO L290 TraceCheckUtils]: 21: Hoare triple {1576#true} assume !(0 == ~cond); {1576#true} is VALID [2022-04-15 07:37:30,707 INFO L290 TraceCheckUtils]: 20: Hoare triple {1576#true} ~cond := #in~cond; {1576#true} is VALID [2022-04-15 07:37:30,707 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:37:30,708 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:37:30,709 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:37:30,711 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1576#true} {1576#true} #63#return; {1576#true} is VALID [2022-04-15 07:37:30,712 INFO L290 TraceCheckUtils]: 15: Hoare triple {1576#true} assume true; {1576#true} is VALID [2022-04-15 07:37:30,712 INFO L290 TraceCheckUtils]: 14: Hoare triple {1576#true} assume !(0 == ~cond); {1576#true} is VALID [2022-04-15 07:37:30,712 INFO L290 TraceCheckUtils]: 13: Hoare triple {1576#true} ~cond := #in~cond; {1576#true} is VALID [2022-04-15 07:37:30,712 INFO L272 TraceCheckUtils]: 12: Hoare triple {1576#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {1576#true} is VALID [2022-04-15 07:37:30,712 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:37:30,713 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1576#true} {1576#true} #61#return; {1576#true} is VALID [2022-04-15 07:37:30,713 INFO L290 TraceCheckUtils]: 9: Hoare triple {1576#true} assume true; {1576#true} is VALID [2022-04-15 07:37:30,713 INFO L290 TraceCheckUtils]: 8: Hoare triple {1576#true} assume !(0 == ~cond); {1576#true} is VALID [2022-04-15 07:37:30,716 INFO L290 TraceCheckUtils]: 7: Hoare triple {1576#true} ~cond := #in~cond; {1576#true} is VALID [2022-04-15 07:37:30,716 INFO L272 TraceCheckUtils]: 6: Hoare triple {1576#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {1576#true} is VALID [2022-04-15 07:37:30,716 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:37:30,716 INFO L272 TraceCheckUtils]: 4: Hoare triple {1576#true} call #t~ret8 := main(); {1576#true} is VALID [2022-04-15 07:37:30,716 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1576#true} {1576#true} #69#return; {1576#true} is VALID [2022-04-15 07:37:30,716 INFO L290 TraceCheckUtils]: 2: Hoare triple {1576#true} assume true; {1576#true} is VALID [2022-04-15 07:37:30,716 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:37:30,716 INFO L272 TraceCheckUtils]: 0: Hoare triple {1576#true} call ULTIMATE.init(); {1576#true} is VALID [2022-04-15 07:37:30,716 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:37:30,717 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:37:30,717 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2052452762] [2022-04-15 07:37:30,717 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 07:37:30,717 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [882848126] [2022-04-15 07:37:30,717 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [882848126] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:37:30,717 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 07:37:30,717 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 13] total 22 [2022-04-15 07:37:30,717 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:37:30,717 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [49013933] [2022-04-15 07:37:30,717 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [49013933] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:37:30,717 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:37:30,717 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-15 07:37:30,717 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [406851562] [2022-04-15 07:37:30,717 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:37:30,718 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:37:30,718 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:37:30,718 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:37:30,754 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:37:30,754 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-15 07:37:30,754 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:37:30,754 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-15 07:37:30,755 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=74, Invalid=388, Unknown=0, NotChecked=0, Total=462 [2022-04-15 07:37:30,756 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:37:33,914 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:37:33,914 INFO L93 Difference]: Finished difference Result 61 states and 66 transitions. [2022-04-15 07:37:33,914 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-15 07:37:33,915 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:37:33,915 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:37:33,915 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:37:33,916 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 53 transitions. [2022-04-15 07:37:33,916 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:37:33,917 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 53 transitions. [2022-04-15 07:37:33,917 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 53 transitions. [2022-04-15 07:37:33,962 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:37:33,963 INFO L225 Difference]: With dead ends: 61 [2022-04-15 07:37:33,963 INFO L226 Difference]: Without dead ends: 53 [2022-04-15 07:37:33,964 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 82 GetRequests, 56 SyntacticMatches, 1 SemanticMatches, 25 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 130 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=116, Invalid=586, Unknown=0, NotChecked=0, Total=702 [2022-04-15 07:37:33,964 INFO L913 BasicCegarLoop]: 23 mSDtfsCounter, 16 mSDsluCounter, 196 mSDsCounter, 0 mSdLazyCounter, 295 mSolverCounterSat, 4 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s 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.4s IncrementalHoareTripleChecker+Time [2022-04-15 07:37:33,964 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.4s Time] [2022-04-15 07:37:33,965 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 53 states. [2022-04-15 07:37:33,999 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 53 to 43. [2022-04-15 07:37:33,999 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:37:33,999 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:37:34,000 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:37:34,000 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:37:34,001 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:37:34,001 INFO L93 Difference]: Finished difference Result 53 states and 58 transitions. [2022-04-15 07:37:34,001 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 58 transitions. [2022-04-15 07:37:34,001 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:37:34,001 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:37:34,002 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:37:34,002 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:37:34,003 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:37:34,003 INFO L93 Difference]: Finished difference Result 53 states and 58 transitions. [2022-04-15 07:37:34,003 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 58 transitions. [2022-04-15 07:37:34,003 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:37:34,003 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:37:34,003 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:37:34,003 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:37:34,004 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:37:34,005 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 43 states to 43 states and 47 transitions. [2022-04-15 07:37:34,005 INFO L78 Accepts]: Start accepts. Automaton has 43 states and 47 transitions. Word has length 39 [2022-04-15 07:37:34,005 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:37:34,005 INFO L478 AbstractCegarLoop]: Abstraction has 43 states and 47 transitions. [2022-04-15 07:37:34,005 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:37:34,005 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 43 states and 47 transitions. [2022-04-15 07:37:34,057 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:37:34,057 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 47 transitions. [2022-04-15 07:37:34,058 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 42 [2022-04-15 07:37:34,058 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:37:34,058 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:37:34,075 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Forceful destruction successful, exit code 0 [2022-04-15 07:37:34,267 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:37:34,267 INFO L403 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:37:34,268 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:37:34,268 INFO L85 PathProgramCache]: Analyzing trace with hash 733948825, now seen corresponding path program 3 times [2022-04-15 07:37:34,268 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:37:34,268 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [889403990] [2022-04-15 07:37:34,268 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 07:37:34,268 INFO L85 PathProgramCache]: Analyzing trace with hash 733948825, now seen corresponding path program 4 times [2022-04-15 07:37:34,268 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:37:34,268 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [758732054] [2022-04-15 07:37:34,268 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:37:34,268 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:37:34,279 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:37:34,280 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2027860198] [2022-04-15 07:37:34,280 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 07:37:34,280 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:37:34,280 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:37:34,283 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:37:34,284 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:37:34,318 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 07:37:34,318 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:37:34,319 INFO L263 TraceCheckSpWp]: Trace formula consists of 83 conjuncts, 33 conjunts are in the unsatisfiable core [2022-04-15 07:37:34,327 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:37:34,330 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:37:51,161 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 07:37:54,385 INFO L272 TraceCheckUtils]: 0: Hoare triple {2155#true} call ULTIMATE.init(); {2155#true} is VALID [2022-04-15 07:37:54,385 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:37:54,385 INFO L290 TraceCheckUtils]: 2: Hoare triple {2155#true} assume true; {2155#true} is VALID [2022-04-15 07:37:54,385 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2155#true} {2155#true} #69#return; {2155#true} is VALID [2022-04-15 07:37:54,385 INFO L272 TraceCheckUtils]: 4: Hoare triple {2155#true} call #t~ret8 := main(); {2155#true} is VALID [2022-04-15 07:37:54,385 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:37:54,385 INFO L272 TraceCheckUtils]: 6: Hoare triple {2155#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {2155#true} is VALID [2022-04-15 07:37:54,386 INFO L290 TraceCheckUtils]: 7: Hoare triple {2155#true} ~cond := #in~cond; {2155#true} is VALID [2022-04-15 07:37:54,386 INFO L290 TraceCheckUtils]: 8: Hoare triple {2155#true} assume !(0 == ~cond); {2155#true} is VALID [2022-04-15 07:37:54,386 INFO L290 TraceCheckUtils]: 9: Hoare triple {2155#true} assume true; {2155#true} is VALID [2022-04-15 07:37:54,386 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2155#true} {2155#true} #61#return; {2155#true} is VALID [2022-04-15 07:37:54,386 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:37:54,386 INFO L272 TraceCheckUtils]: 12: Hoare triple {2155#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {2155#true} is VALID [2022-04-15 07:37:54,386 INFO L290 TraceCheckUtils]: 13: Hoare triple {2155#true} ~cond := #in~cond; {2155#true} is VALID [2022-04-15 07:37:54,386 INFO L290 TraceCheckUtils]: 14: Hoare triple {2155#true} assume !(0 == ~cond); {2155#true} is VALID [2022-04-15 07:37:54,386 INFO L290 TraceCheckUtils]: 15: Hoare triple {2155#true} assume true; {2155#true} is VALID [2022-04-15 07:37:54,386 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2155#true} {2155#true} #63#return; {2155#true} is VALID [2022-04-15 07:37:54,391 INFO L290 TraceCheckUtils]: 17: Hoare triple {2155#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {2211#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-15 07:37:54,392 INFO L290 TraceCheckUtils]: 18: Hoare triple {2211#(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; {2211#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-15 07:37:54,392 INFO L272 TraceCheckUtils]: 19: Hoare triple {2211#(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)); {2155#true} is VALID [2022-04-15 07:37:54,392 INFO L290 TraceCheckUtils]: 20: Hoare triple {2155#true} ~cond := #in~cond; {2221#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:37:54,392 INFO L290 TraceCheckUtils]: 21: Hoare triple {2221#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2225#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:37:54,393 INFO L290 TraceCheckUtils]: 22: Hoare triple {2225#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2225#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:37:54,393 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2225#(not (= |__VERIFIER_assert_#in~cond| 0))} {2211#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} #65#return; {2211#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-15 07:37:54,393 INFO L290 TraceCheckUtils]: 24: Hoare triple {2211#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {2211#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-15 07:37:54,394 INFO L290 TraceCheckUtils]: 25: Hoare triple {2211#(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; {2238#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 0))} is VALID [2022-04-15 07:37:54,394 INFO L290 TraceCheckUtils]: 26: Hoare triple {2238#(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; {2238#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 0))} is VALID [2022-04-15 07:37:54,395 INFO L290 TraceCheckUtils]: 27: Hoare triple {2238#(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; {2245#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= (* 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:37:54,395 INFO L272 TraceCheckUtils]: 28: Hoare triple {2245#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= (* 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)); {2155#true} is VALID [2022-04-15 07:37:54,395 INFO L290 TraceCheckUtils]: 29: Hoare triple {2155#true} ~cond := #in~cond; {2221#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:37:54,396 INFO L290 TraceCheckUtils]: 30: Hoare triple {2221#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2225#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:37:54,396 INFO L290 TraceCheckUtils]: 31: Hoare triple {2225#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2225#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:37:54,397 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {2225#(not (= |__VERIFIER_assert_#in~cond| 0))} {2245#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} #65#return; {2261#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~y~0 0))} is VALID [2022-04-15 07:37:54,397 INFO L290 TraceCheckUtils]: 33: Hoare triple {2261#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {2261#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~y~0 0))} is VALID [2022-04-15 07:37:54,398 INFO L290 TraceCheckUtils]: 34: Hoare triple {2261#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~y~0 0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {2268#(and (= main_~y~0 0) (= (+ main_~v~0 (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* 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:37:54,400 INFO L290 TraceCheckUtils]: 35: Hoare triple {2268#(and (= main_~y~0 0) (= (+ main_~v~0 (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* 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; {2272#(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 0) (= (+ main_~v~0 (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))))} is VALID [2022-04-15 07:37:54,405 INFO L290 TraceCheckUtils]: 36: Hoare triple {2272#(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 0) (= (+ main_~v~0 (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2276#(and (= main_~xy~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 6)) (= main_~yx~0 (* (div (+ (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) main_~Y~0)))} is VALID [2022-04-15 07:37:54,409 INFO L272 TraceCheckUtils]: 37: Hoare triple {2276#(and (= main_~xy~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 6)) (= main_~yx~0 (* (div (+ (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) 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)); {2280#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 07:37:54,409 INFO L290 TraceCheckUtils]: 38: Hoare triple {2280#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2284#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:37:54,409 INFO L290 TraceCheckUtils]: 39: Hoare triple {2284#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2156#false} is VALID [2022-04-15 07:37:54,410 INFO L290 TraceCheckUtils]: 40: Hoare triple {2156#false} assume !false; {2156#false} is VALID [2022-04-15 07:37:54,410 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 2 proven. 11 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2022-04-15 07:37:54,410 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:37:56,813 INFO L290 TraceCheckUtils]: 40: Hoare triple {2156#false} assume !false; {2156#false} is VALID [2022-04-15 07:37:56,813 INFO L290 TraceCheckUtils]: 39: Hoare triple {2284#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2156#false} is VALID [2022-04-15 07:37:56,814 INFO L290 TraceCheckUtils]: 38: Hoare triple {2280#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2284#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:37:56,814 INFO L272 TraceCheckUtils]: 37: Hoare triple {2300#(= (+ (* 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)); {2280#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 07:37:56,815 INFO L290 TraceCheckUtils]: 36: Hoare triple {2304#(= (+ (* 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; {2300#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-15 07:37:56,816 INFO L290 TraceCheckUtils]: 35: Hoare triple {2308#(= (+ (* (* 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; {2304#(= (+ (* 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:37:56,817 INFO L290 TraceCheckUtils]: 34: Hoare triple {2304#(= (+ (* 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; {2308#(= (+ (* (* 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:37:56,817 INFO L290 TraceCheckUtils]: 33: Hoare triple {2304#(= (+ (* 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); {2304#(= (+ (* 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:37:56,818 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {2225#(not (= |__VERIFIER_assert_#in~cond| 0))} {2318#(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; {2304#(= (+ (* 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:37:56,818 INFO L290 TraceCheckUtils]: 31: Hoare triple {2225#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2225#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:37:56,819 INFO L290 TraceCheckUtils]: 30: Hoare triple {2328#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {2225#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:37:56,819 INFO L290 TraceCheckUtils]: 29: Hoare triple {2155#true} ~cond := #in~cond; {2328#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 07:37:56,819 INFO L272 TraceCheckUtils]: 28: Hoare triple {2318#(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)); {2155#true} is VALID [2022-04-15 07:37:56,820 INFO L290 TraceCheckUtils]: 27: Hoare triple {2155#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2318#(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:37:56,820 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:37:56,820 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:37:56,820 INFO L290 TraceCheckUtils]: 24: Hoare triple {2155#true} assume !!(~x~0 <= ~X~0); {2155#true} is VALID [2022-04-15 07:37:56,820 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2155#true} {2155#true} #65#return; {2155#true} is VALID [2022-04-15 07:37:56,820 INFO L290 TraceCheckUtils]: 22: Hoare triple {2155#true} assume true; {2155#true} is VALID [2022-04-15 07:37:56,820 INFO L290 TraceCheckUtils]: 21: Hoare triple {2155#true} assume !(0 == ~cond); {2155#true} is VALID [2022-04-15 07:37:56,820 INFO L290 TraceCheckUtils]: 20: Hoare triple {2155#true} ~cond := #in~cond; {2155#true} is VALID [2022-04-15 07:37:56,820 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:37:56,820 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:37:56,821 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:37:56,821 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2155#true} {2155#true} #63#return; {2155#true} is VALID [2022-04-15 07:37:56,821 INFO L290 TraceCheckUtils]: 15: Hoare triple {2155#true} assume true; {2155#true} is VALID [2022-04-15 07:37:56,821 INFO L290 TraceCheckUtils]: 14: Hoare triple {2155#true} assume !(0 == ~cond); {2155#true} is VALID [2022-04-15 07:37:56,821 INFO L290 TraceCheckUtils]: 13: Hoare triple {2155#true} ~cond := #in~cond; {2155#true} is VALID [2022-04-15 07:37:56,821 INFO L272 TraceCheckUtils]: 12: Hoare triple {2155#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {2155#true} is VALID [2022-04-15 07:37:56,821 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:37:56,821 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2155#true} {2155#true} #61#return; {2155#true} is VALID [2022-04-15 07:37:56,821 INFO L290 TraceCheckUtils]: 9: Hoare triple {2155#true} assume true; {2155#true} is VALID [2022-04-15 07:37:56,821 INFO L290 TraceCheckUtils]: 8: Hoare triple {2155#true} assume !(0 == ~cond); {2155#true} is VALID [2022-04-15 07:37:56,821 INFO L290 TraceCheckUtils]: 7: Hoare triple {2155#true} ~cond := #in~cond; {2155#true} is VALID [2022-04-15 07:37:56,821 INFO L272 TraceCheckUtils]: 6: Hoare triple {2155#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {2155#true} is VALID [2022-04-15 07:37:56,821 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:37:56,821 INFO L272 TraceCheckUtils]: 4: Hoare triple {2155#true} call #t~ret8 := main(); {2155#true} is VALID [2022-04-15 07:37:56,821 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2155#true} {2155#true} #69#return; {2155#true} is VALID [2022-04-15 07:37:56,821 INFO L290 TraceCheckUtils]: 2: Hoare triple {2155#true} assume true; {2155#true} is VALID [2022-04-15 07:37:56,822 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:37:56,822 INFO L272 TraceCheckUtils]: 0: Hoare triple {2155#true} call ULTIMATE.init(); {2155#true} is VALID [2022-04-15 07:37:56,822 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:37:56,822 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:37:56,822 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [758732054] [2022-04-15 07:37:56,822 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 07:37:56,822 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2027860198] [2022-04-15 07:37:56,822 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2027860198] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:37:56,846 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 07:37:56,846 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 10] total 18 [2022-04-15 07:37:56,846 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:37:56,846 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [889403990] [2022-04-15 07:37:56,846 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [889403990] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:37:56,847 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:37:56,847 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-15 07:37:56,847 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1565444683] [2022-04-15 07:37:56,847 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:37:56,847 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 11 states have (on average 2.090909090909091) internal successors, (23), 12 states have internal predecessors, (23), 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:37:56,847 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:37:56,847 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 11 states have (on average 2.090909090909091) internal successors, (23), 12 states have internal predecessors, (23), 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:37:56,894 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:37:56,894 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-15 07:37:56,894 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:37:56,894 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-15 07:37:56,895 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=47, Invalid=259, Unknown=0, NotChecked=0, Total=306 [2022-04-15 07:37:56,895 INFO L87 Difference]: Start difference. First operand 43 states and 47 transitions. Second operand has 13 states, 11 states have (on average 2.090909090909091) internal successors, (23), 12 states have internal predecessors, (23), 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:37:57,990 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:37:57,990 INFO L93 Difference]: Finished difference Result 61 states and 69 transitions. [2022-04-15 07:37:57,990 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-15 07:37:57,990 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 11 states have (on average 2.090909090909091) internal successors, (23), 12 states have internal predecessors, (23), 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:37:57,990 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:37:57,991 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 11 states have (on average 2.090909090909091) internal successors, (23), 12 states have internal predecessors, (23), 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:37:57,992 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 58 transitions. [2022-04-15 07:37:57,992 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 11 states have (on average 2.090909090909091) internal successors, (23), 12 states have internal predecessors, (23), 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:37:57,993 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 58 transitions. [2022-04-15 07:37:57,993 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 58 transitions. [2022-04-15 07:37:58,051 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:37:58,053 INFO L225 Difference]: With dead ends: 61 [2022-04-15 07:37:58,053 INFO L226 Difference]: Without dead ends: 57 [2022-04-15 07:37:58,053 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 85 GetRequests, 63 SyntacticMatches, 2 SemanticMatches, 20 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 57 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=75, Invalid=387, Unknown=0, NotChecked=0, Total=462 [2022-04-15 07:37:58,054 INFO L913 BasicCegarLoop]: 24 mSDtfsCounter, 18 mSDsluCounter, 125 mSDsCounter, 0 mSdLazyCounter, 248 mSolverCounterSat, 8 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 19 SdHoareTripleChecker+Valid, 149 SdHoareTripleChecker+Invalid, 256 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 8 IncrementalHoareTripleChecker+Valid, 248 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-15 07:37:58,054 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [19 Valid, 149 Invalid, 256 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [8 Valid, 248 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-15 07:37:58,054 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 57 states. [2022-04-15 07:37:58,105 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 57 to 55. [2022-04-15 07:37:58,106 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:37:58,106 INFO L82 GeneralOperation]: Start isEquivalent. First operand 57 states. Second operand has 55 states, 38 states have (on average 1.131578947368421) internal successors, (43), 40 states have internal predecessors, (43), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 07:37:58,106 INFO L74 IsIncluded]: Start isIncluded. First operand 57 states. Second operand has 55 states, 38 states have (on average 1.131578947368421) internal successors, (43), 40 states have internal predecessors, (43), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 07:37:58,106 INFO L87 Difference]: Start difference. First operand 57 states. Second operand has 55 states, 38 states have (on average 1.131578947368421) internal successors, (43), 40 states have internal predecessors, (43), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 07:37:58,108 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:37:58,108 INFO L93 Difference]: Finished difference Result 57 states and 64 transitions. [2022-04-15 07:37:58,108 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 64 transitions. [2022-04-15 07:37:58,109 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:37:58,109 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:37:58,109 INFO L74 IsIncluded]: Start isIncluded. First operand has 55 states, 38 states have (on average 1.131578947368421) internal successors, (43), 40 states have internal predecessors, (43), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 57 states. [2022-04-15 07:37:58,109 INFO L87 Difference]: Start difference. First operand has 55 states, 38 states have (on average 1.131578947368421) internal successors, (43), 40 states have internal predecessors, (43), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 57 states. [2022-04-15 07:37:58,111 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:37:58,111 INFO L93 Difference]: Finished difference Result 57 states and 64 transitions. [2022-04-15 07:37:58,111 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 64 transitions. [2022-04-15 07:37:58,112 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:37:58,112 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:37:58,112 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:37:58,112 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:37:58,112 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 55 states, 38 states have (on average 1.131578947368421) internal successors, (43), 40 states have internal predecessors, (43), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 07:37:58,114 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 55 states to 55 states and 61 transitions. [2022-04-15 07:37:58,114 INFO L78 Accepts]: Start accepts. Automaton has 55 states and 61 transitions. Word has length 41 [2022-04-15 07:37:58,114 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:37:58,114 INFO L478 AbstractCegarLoop]: Abstraction has 55 states and 61 transitions. [2022-04-15 07:37:58,115 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 11 states have (on average 2.090909090909091) internal successors, (23), 12 states have internal predecessors, (23), 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:37:58,115 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 55 states and 61 transitions. [2022-04-15 07:37:58,198 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 61 edges. 61 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:37:58,198 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 61 transitions. [2022-04-15 07:37:58,198 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 42 [2022-04-15 07:37:58,198 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:37:58,198 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:37:58,214 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:37:58,407 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:37:58,408 INFO L403 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:37:58,408 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:37:58,408 INFO L85 PathProgramCache]: Analyzing trace with hash -1786011109, now seen corresponding path program 1 times [2022-04-15 07:37:58,408 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:37:58,408 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1125863312] [2022-04-15 07:37:58,409 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 07:37:58,409 INFO L85 PathProgramCache]: Analyzing trace with hash -1786011109, now seen corresponding path program 2 times [2022-04-15 07:37:58,409 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:37:58,409 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [242528549] [2022-04-15 07:37:58,409 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:37:58,409 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:37:58,420 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:37:58,421 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [978527656] [2022-04-15 07:37:58,421 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 07:37:58,421 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:37:58,421 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:37:58,422 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:37:58,422 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:37:58,459 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 07:37:58,459 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:37:58,460 INFO L263 TraceCheckSpWp]: Trace formula consists of 124 conjuncts, 34 conjunts are in the unsatisfiable core [2022-04-15 07:37:58,469 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:37:58,470 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:37:58,793 INFO L272 TraceCheckUtils]: 0: Hoare triple {2772#true} call ULTIMATE.init(); {2772#true} is VALID [2022-04-15 07:37:58,794 INFO L290 TraceCheckUtils]: 1: Hoare triple {2772#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); {2772#true} is VALID [2022-04-15 07:37:58,794 INFO L290 TraceCheckUtils]: 2: Hoare triple {2772#true} assume true; {2772#true} is VALID [2022-04-15 07:37:58,794 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2772#true} {2772#true} #69#return; {2772#true} is VALID [2022-04-15 07:37:58,794 INFO L272 TraceCheckUtils]: 4: Hoare triple {2772#true} call #t~ret8 := main(); {2772#true} is VALID [2022-04-15 07:37:58,794 INFO L290 TraceCheckUtils]: 5: Hoare triple {2772#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; {2772#true} is VALID [2022-04-15 07:37:58,794 INFO L272 TraceCheckUtils]: 6: Hoare triple {2772#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {2772#true} is VALID [2022-04-15 07:37:58,794 INFO L290 TraceCheckUtils]: 7: Hoare triple {2772#true} ~cond := #in~cond; {2772#true} is VALID [2022-04-15 07:37:58,794 INFO L290 TraceCheckUtils]: 8: Hoare triple {2772#true} assume !(0 == ~cond); {2772#true} is VALID [2022-04-15 07:37:58,794 INFO L290 TraceCheckUtils]: 9: Hoare triple {2772#true} assume true; {2772#true} is VALID [2022-04-15 07:37:58,794 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2772#true} {2772#true} #61#return; {2772#true} is VALID [2022-04-15 07:37:58,794 INFO L290 TraceCheckUtils]: 11: Hoare triple {2772#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {2772#true} is VALID [2022-04-15 07:37:58,794 INFO L272 TraceCheckUtils]: 12: Hoare triple {2772#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {2772#true} is VALID [2022-04-15 07:37:58,794 INFO L290 TraceCheckUtils]: 13: Hoare triple {2772#true} ~cond := #in~cond; {2772#true} is VALID [2022-04-15 07:37:58,794 INFO L290 TraceCheckUtils]: 14: Hoare triple {2772#true} assume !(0 == ~cond); {2772#true} is VALID [2022-04-15 07:37:58,794 INFO L290 TraceCheckUtils]: 15: Hoare triple {2772#true} assume true; {2772#true} is VALID [2022-04-15 07:37:58,795 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2772#true} {2772#true} #63#return; {2772#true} is VALID [2022-04-15 07:37:58,795 INFO L290 TraceCheckUtils]: 17: Hoare triple {2772#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {2828#(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:37:58,795 INFO L290 TraceCheckUtils]: 18: Hoare triple {2828#(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; {2828#(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:37:58,795 INFO L272 TraceCheckUtils]: 19: Hoare triple {2828#(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)); {2772#true} is VALID [2022-04-15 07:37:58,796 INFO L290 TraceCheckUtils]: 20: Hoare triple {2772#true} ~cond := #in~cond; {2772#true} is VALID [2022-04-15 07:37:58,796 INFO L290 TraceCheckUtils]: 21: Hoare triple {2772#true} assume !(0 == ~cond); {2772#true} is VALID [2022-04-15 07:37:58,796 INFO L290 TraceCheckUtils]: 22: Hoare triple {2772#true} assume true; {2772#true} is VALID [2022-04-15 07:37:58,796 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2772#true} {2828#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} #65#return; {2828#(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:37:58,797 INFO L290 TraceCheckUtils]: 24: Hoare triple {2828#(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); {2828#(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:37:58,797 INFO L290 TraceCheckUtils]: 25: Hoare triple {2828#(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; {2853#(and (= main_~x~0 0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 0))} is VALID [2022-04-15 07:37:58,798 INFO L290 TraceCheckUtils]: 26: Hoare triple {2853#(and (= main_~x~0 0) (= 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; {2857#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~x~0 1) (= main_~y~0 0))} is VALID [2022-04-15 07:37:58,798 INFO L290 TraceCheckUtils]: 27: Hoare triple {2857#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~x~0 1) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2861#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~x~0 1) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} is VALID [2022-04-15 07:37:58,798 INFO L272 TraceCheckUtils]: 28: Hoare triple {2861#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~x~0 1) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2772#true} is VALID [2022-04-15 07:37:58,799 INFO L290 TraceCheckUtils]: 29: Hoare triple {2772#true} ~cond := #in~cond; {2868#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:37:58,799 INFO L290 TraceCheckUtils]: 30: Hoare triple {2868#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2872#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:37:58,799 INFO L290 TraceCheckUtils]: 31: Hoare triple {2872#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2872#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:37:58,800 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {2872#(not (= |__VERIFIER_assert_#in~cond| 0))} {2861#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~x~0 1) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} #65#return; {2857#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~x~0 1) (= main_~y~0 0))} is VALID [2022-04-15 07:37:58,801 INFO L290 TraceCheckUtils]: 33: Hoare triple {2857#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~x~0 1) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {2857#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~x~0 1) (= main_~y~0 0))} is VALID [2022-04-15 07:37:58,801 INFO L290 TraceCheckUtils]: 34: Hoare triple {2857#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~x~0 1) (= 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; {2885#(and (= (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 1) (= main_~x~0 1))} is VALID [2022-04-15 07:37:58,802 INFO L290 TraceCheckUtils]: 35: Hoare triple {2885#(and (= (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 1) (= main_~x~0 1))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {2889#(and (= (+ (- 1) main_~x~0) 1) (= (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 1))} is VALID [2022-04-15 07:37:58,803 INFO L290 TraceCheckUtils]: 36: Hoare triple {2889#(and (= (+ (- 1) main_~x~0) 1) (= (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 1))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2893#(and (= (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= (* main_~Y~0 2) main_~yx~0) (= main_~X~0 main_~xy~0))} is VALID [2022-04-15 07:37:58,804 INFO L272 TraceCheckUtils]: 37: Hoare triple {2893#(and (= (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= (* 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)); {2897#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 07:37:58,804 INFO L290 TraceCheckUtils]: 38: Hoare triple {2897#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2901#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:37:58,804 INFO L290 TraceCheckUtils]: 39: Hoare triple {2901#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2773#false} is VALID [2022-04-15 07:37:58,804 INFO L290 TraceCheckUtils]: 40: Hoare triple {2773#false} assume !false; {2773#false} is VALID [2022-04-15 07:37:58,804 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:37:58,805 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:38:03,291 INFO L290 TraceCheckUtils]: 40: Hoare triple {2773#false} assume !false; {2773#false} is VALID [2022-04-15 07:38:03,291 INFO L290 TraceCheckUtils]: 39: Hoare triple {2901#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2773#false} is VALID [2022-04-15 07:38:03,291 INFO L290 TraceCheckUtils]: 38: Hoare triple {2897#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2901#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:38:03,292 INFO L272 TraceCheckUtils]: 37: Hoare triple {2917#(= (+ (* 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)); {2897#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 07:38:03,293 INFO L290 TraceCheckUtils]: 36: Hoare triple {2921#(= (+ (* 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; {2917#(= (+ (* 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:03,295 INFO L290 TraceCheckUtils]: 35: Hoare triple {2925#(= (+ (* (* 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; {2921#(= (+ (* 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:03,296 INFO L290 TraceCheckUtils]: 34: Hoare triple {2921#(= (+ (* 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; {2925#(= (+ (* (* 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:03,297 INFO L290 TraceCheckUtils]: 33: Hoare triple {2921#(= (+ (* 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); {2921#(= (+ (* 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:03,298 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {2872#(not (= |__VERIFIER_assert_#in~cond| 0))} {2935#(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; {2921#(= (+ (* 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:03,298 INFO L290 TraceCheckUtils]: 31: Hoare triple {2872#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2872#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:38:03,298 INFO L290 TraceCheckUtils]: 30: Hoare triple {2945#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {2872#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:38:03,299 INFO L290 TraceCheckUtils]: 29: Hoare triple {2772#true} ~cond := #in~cond; {2945#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 07:38:03,299 INFO L272 TraceCheckUtils]: 28: Hoare triple {2935#(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)); {2772#true} is VALID [2022-04-15 07:38:03,299 INFO L290 TraceCheckUtils]: 27: Hoare triple {2772#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2935#(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:38:03,299 INFO L290 TraceCheckUtils]: 26: Hoare triple {2772#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {2772#true} is VALID [2022-04-15 07:38:03,300 INFO L290 TraceCheckUtils]: 25: Hoare triple {2772#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {2772#true} is VALID [2022-04-15 07:38:03,300 INFO L290 TraceCheckUtils]: 24: Hoare triple {2772#true} assume !!(~x~0 <= ~X~0); {2772#true} is VALID [2022-04-15 07:38:03,300 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2772#true} {2772#true} #65#return; {2772#true} is VALID [2022-04-15 07:38:03,300 INFO L290 TraceCheckUtils]: 22: Hoare triple {2772#true} assume true; {2772#true} is VALID [2022-04-15 07:38:03,300 INFO L290 TraceCheckUtils]: 21: Hoare triple {2772#true} assume !(0 == ~cond); {2772#true} is VALID [2022-04-15 07:38:03,300 INFO L290 TraceCheckUtils]: 20: Hoare triple {2772#true} ~cond := #in~cond; {2772#true} is VALID [2022-04-15 07:38:03,300 INFO L272 TraceCheckUtils]: 19: Hoare triple {2772#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2772#true} is VALID [2022-04-15 07:38:03,300 INFO L290 TraceCheckUtils]: 18: Hoare triple {2772#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2772#true} is VALID [2022-04-15 07:38:03,300 INFO L290 TraceCheckUtils]: 17: Hoare triple {2772#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {2772#true} is VALID [2022-04-15 07:38:03,300 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2772#true} {2772#true} #63#return; {2772#true} is VALID [2022-04-15 07:38:03,300 INFO L290 TraceCheckUtils]: 15: Hoare triple {2772#true} assume true; {2772#true} is VALID [2022-04-15 07:38:03,301 INFO L290 TraceCheckUtils]: 14: Hoare triple {2772#true} assume !(0 == ~cond); {2772#true} is VALID [2022-04-15 07:38:03,301 INFO L290 TraceCheckUtils]: 13: Hoare triple {2772#true} ~cond := #in~cond; {2772#true} is VALID [2022-04-15 07:38:03,301 INFO L272 TraceCheckUtils]: 12: Hoare triple {2772#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {2772#true} is VALID [2022-04-15 07:38:03,301 INFO L290 TraceCheckUtils]: 11: Hoare triple {2772#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {2772#true} is VALID [2022-04-15 07:38:03,301 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2772#true} {2772#true} #61#return; {2772#true} is VALID [2022-04-15 07:38:03,301 INFO L290 TraceCheckUtils]: 9: Hoare triple {2772#true} assume true; {2772#true} is VALID [2022-04-15 07:38:03,301 INFO L290 TraceCheckUtils]: 8: Hoare triple {2772#true} assume !(0 == ~cond); {2772#true} is VALID [2022-04-15 07:38:03,301 INFO L290 TraceCheckUtils]: 7: Hoare triple {2772#true} ~cond := #in~cond; {2772#true} is VALID [2022-04-15 07:38:03,301 INFO L272 TraceCheckUtils]: 6: Hoare triple {2772#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {2772#true} is VALID [2022-04-15 07:38:03,301 INFO L290 TraceCheckUtils]: 5: Hoare triple {2772#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; {2772#true} is VALID [2022-04-15 07:38:03,301 INFO L272 TraceCheckUtils]: 4: Hoare triple {2772#true} call #t~ret8 := main(); {2772#true} is VALID [2022-04-15 07:38:03,301 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2772#true} {2772#true} #69#return; {2772#true} is VALID [2022-04-15 07:38:03,302 INFO L290 TraceCheckUtils]: 2: Hoare triple {2772#true} assume true; {2772#true} is VALID [2022-04-15 07:38:03,302 INFO L290 TraceCheckUtils]: 1: Hoare triple {2772#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); {2772#true} is VALID [2022-04-15 07:38:03,302 INFO L272 TraceCheckUtils]: 0: Hoare triple {2772#true} call ULTIMATE.init(); {2772#true} is VALID [2022-04-15 07:38:03,302 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:38:03,302 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:38:03,302 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [242528549] [2022-04-15 07:38:03,302 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 07:38:03,302 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [978527656] [2022-04-15 07:38:03,303 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [978527656] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:38:03,303 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 07:38:03,303 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 10] total 18 [2022-04-15 07:38:03,303 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:38:03,303 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1125863312] [2022-04-15 07:38:03,303 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1125863312] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:38:03,303 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:38:03,303 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-15 07:38:03,303 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1641639456] [2022-04-15 07:38:03,303 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:38:03,304 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:38:03,304 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:38:03,304 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:38:03,335 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:38:03,335 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-15 07:38:03,335 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:38:03,335 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-15 07:38:03,335 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=51, Invalid=255, Unknown=0, NotChecked=0, Total=306 [2022-04-15 07:38:03,336 INFO L87 Difference]: Start difference. First operand 55 states and 61 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:38:04,158 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:38:04,158 INFO L93 Difference]: Finished difference Result 72 states and 79 transitions. [2022-04-15 07:38:04,158 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-15 07:38:04,159 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:38:04,159 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:38:04,159 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:38:04,160 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 58 transitions. [2022-04-15 07:38:04,160 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:38:04,161 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 58 transitions. [2022-04-15 07:38:04,161 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 58 transitions. [2022-04-15 07:38:04,202 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:38:04,203 INFO L225 Difference]: With dead ends: 72 [2022-04-15 07:38:04,203 INFO L226 Difference]: Without dead ends: 70 [2022-04-15 07:38:04,203 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:38:04,204 INFO L913 BasicCegarLoop]: 23 mSDtfsCounter, 16 mSDsluCounter, 163 mSDsCounter, 0 mSdLazyCounter, 336 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 17 SdHoareTripleChecker+Valid, 186 SdHoareTripleChecker+Invalid, 341 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 336 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-15 07:38:04,204 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [17 Valid, 186 Invalid, 341 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 336 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-15 07:38:04,204 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 70 states. [2022-04-15 07:38:04,273 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 70 to 59. [2022-04-15 07:38:04,273 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:38:04,273 INFO L82 GeneralOperation]: Start isEquivalent. First operand 70 states. Second operand has 59 states, 41 states have (on average 1.1219512195121952) internal successors, (46), 43 states have internal predecessors, (46), 10 states have call successors, (10), 8 states have call predecessors, (10), 7 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 07:38:04,274 INFO L74 IsIncluded]: Start isIncluded. First operand 70 states. Second operand has 59 states, 41 states have (on average 1.1219512195121952) internal successors, (46), 43 states have internal predecessors, (46), 10 states have call successors, (10), 8 states have call predecessors, (10), 7 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 07:38:04,274 INFO L87 Difference]: Start difference. First operand 70 states. Second operand has 59 states, 41 states have (on average 1.1219512195121952) internal successors, (46), 43 states have internal predecessors, (46), 10 states have call successors, (10), 8 states have call predecessors, (10), 7 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 07:38:04,275 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:38:04,275 INFO L93 Difference]: Finished difference Result 70 states and 77 transitions. [2022-04-15 07:38:04,275 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 77 transitions. [2022-04-15 07:38:04,276 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:38:04,276 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:38:04,276 INFO L74 IsIncluded]: Start isIncluded. First operand has 59 states, 41 states have (on average 1.1219512195121952) internal successors, (46), 43 states have internal predecessors, (46), 10 states have call successors, (10), 8 states have call predecessors, (10), 7 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 70 states. [2022-04-15 07:38:04,276 INFO L87 Difference]: Start difference. First operand has 59 states, 41 states have (on average 1.1219512195121952) internal successors, (46), 43 states have internal predecessors, (46), 10 states have call successors, (10), 8 states have call predecessors, (10), 7 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 70 states. [2022-04-15 07:38:04,277 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:38:04,277 INFO L93 Difference]: Finished difference Result 70 states and 77 transitions. [2022-04-15 07:38:04,278 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 77 transitions. [2022-04-15 07:38:04,278 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:38:04,278 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:38:04,278 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:38:04,278 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:38:04,278 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 59 states, 41 states have (on average 1.1219512195121952) internal successors, (46), 43 states have internal predecessors, (46), 10 states have call successors, (10), 8 states have call predecessors, (10), 7 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 07:38:04,279 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 59 states to 59 states and 64 transitions. [2022-04-15 07:38:04,279 INFO L78 Accepts]: Start accepts. Automaton has 59 states and 64 transitions. Word has length 41 [2022-04-15 07:38:04,279 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:38:04,279 INFO L478 AbstractCegarLoop]: Abstraction has 59 states and 64 transitions. [2022-04-15 07:38:04,279 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:38:04,280 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 59 states and 64 transitions. [2022-04-15 07:38:04,365 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:38:04,365 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 64 transitions. [2022-04-15 07:38:04,366 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 42 [2022-04-15 07:38:04,366 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:38:04,366 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:38:04,382 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Forceful destruction successful, exit code 0 [2022-04-15 07:38:04,575 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:38:04,576 INFO L403 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:38:04,576 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:38:04,576 INFO L85 PathProgramCache]: Analyzing trace with hash -287119529, now seen corresponding path program 3 times [2022-04-15 07:38:04,576 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:38:04,576 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [576891979] [2022-04-15 07:38:04,577 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 07:38:04,577 INFO L85 PathProgramCache]: Analyzing trace with hash -287119529, now seen corresponding path program 4 times [2022-04-15 07:38:04,577 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:38:04,577 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [352555995] [2022-04-15 07:38:04,577 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:38:04,577 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:38:04,586 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:38:04,586 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2121655504] [2022-04-15 07:38:04,586 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 07:38:04,586 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:38:04,586 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:38:04,587 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:38:04,606 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:38:04,636 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 07:38:04,636 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:38:04,636 INFO L263 TraceCheckSpWp]: Trace formula consists of 85 conjuncts, 34 conjunts are in the unsatisfiable core [2022-04-15 07:38:04,645 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:38:04,646 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:38:17,597 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 07:38:23,105 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 07:38:25,191 INFO L272 TraceCheckUtils]: 0: Hoare triple {3443#true} call ULTIMATE.init(); {3443#true} is VALID [2022-04-15 07:38:25,192 INFO L290 TraceCheckUtils]: 1: Hoare triple {3443#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); {3443#true} is VALID [2022-04-15 07:38:25,192 INFO L290 TraceCheckUtils]: 2: Hoare triple {3443#true} assume true; {3443#true} is VALID [2022-04-15 07:38:25,192 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3443#true} {3443#true} #69#return; {3443#true} is VALID [2022-04-15 07:38:25,192 INFO L272 TraceCheckUtils]: 4: Hoare triple {3443#true} call #t~ret8 := main(); {3443#true} is VALID [2022-04-15 07:38:25,192 INFO L290 TraceCheckUtils]: 5: Hoare triple {3443#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; {3443#true} is VALID [2022-04-15 07:38:25,192 INFO L272 TraceCheckUtils]: 6: Hoare triple {3443#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {3443#true} is VALID [2022-04-15 07:38:25,192 INFO L290 TraceCheckUtils]: 7: Hoare triple {3443#true} ~cond := #in~cond; {3443#true} is VALID [2022-04-15 07:38:25,192 INFO L290 TraceCheckUtils]: 8: Hoare triple {3443#true} assume !(0 == ~cond); {3443#true} is VALID [2022-04-15 07:38:25,192 INFO L290 TraceCheckUtils]: 9: Hoare triple {3443#true} assume true; {3443#true} is VALID [2022-04-15 07:38:25,192 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3443#true} {3443#true} #61#return; {3443#true} is VALID [2022-04-15 07:38:25,192 INFO L290 TraceCheckUtils]: 11: Hoare triple {3443#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {3443#true} is VALID [2022-04-15 07:38:25,192 INFO L272 TraceCheckUtils]: 12: Hoare triple {3443#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {3443#true} is VALID [2022-04-15 07:38:25,192 INFO L290 TraceCheckUtils]: 13: Hoare triple {3443#true} ~cond := #in~cond; {3443#true} is VALID [2022-04-15 07:38:25,192 INFO L290 TraceCheckUtils]: 14: Hoare triple {3443#true} assume !(0 == ~cond); {3443#true} is VALID [2022-04-15 07:38:25,193 INFO L290 TraceCheckUtils]: 15: Hoare triple {3443#true} assume true; {3443#true} is VALID [2022-04-15 07:38:25,193 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3443#true} {3443#true} #63#return; {3443#true} is VALID [2022-04-15 07:38:25,193 INFO L290 TraceCheckUtils]: 17: Hoare triple {3443#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {3499#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} is VALID [2022-04-15 07:38:25,193 INFO L290 TraceCheckUtils]: 18: Hoare triple {3499#(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; {3499#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} is VALID [2022-04-15 07:38:25,193 INFO L272 TraceCheckUtils]: 19: Hoare triple {3499#(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)); {3443#true} is VALID [2022-04-15 07:38:25,194 INFO L290 TraceCheckUtils]: 20: Hoare triple {3443#true} ~cond := #in~cond; {3509#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:38:25,194 INFO L290 TraceCheckUtils]: 21: Hoare triple {3509#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {3513#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:38:25,194 INFO L290 TraceCheckUtils]: 22: Hoare triple {3513#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3513#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:38:25,195 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {3513#(not (= |__VERIFIER_assert_#in~cond| 0))} {3499#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} #65#return; {3499#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} is VALID [2022-04-15 07:38:25,195 INFO L290 TraceCheckUtils]: 24: Hoare triple {3499#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} assume !!(~x~0 <= ~X~0); {3499#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} is VALID [2022-04-15 07:38:25,196 INFO L290 TraceCheckUtils]: 25: Hoare triple {3499#(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; {3526#(and (= main_~x~0 0) (not (< (* main_~Y~0 2) main_~X~0)) (<= (* main_~Y~0 4) (+ main_~v~0 (* main_~X~0 3))))} is VALID [2022-04-15 07:38:25,197 INFO L290 TraceCheckUtils]: 26: Hoare triple {3526#(and (= main_~x~0 0) (not (< (* main_~Y~0 2) main_~X~0)) (<= (* main_~Y~0 4) (+ main_~v~0 (* main_~X~0 3))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {3530#(and (= (+ (- 1) main_~x~0) 0) (not (< (* main_~Y~0 2) main_~X~0)) (<= (* main_~Y~0 4) (+ main_~v~0 (* main_~X~0 3))))} is VALID [2022-04-15 07:38:25,197 INFO L290 TraceCheckUtils]: 27: Hoare triple {3530#(and (= (+ (- 1) main_~x~0) 0) (not (< (* main_~Y~0 2) main_~X~0)) (<= (* main_~Y~0 4) (+ main_~v~0 (* main_~X~0 3))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3534#(and (= (+ (- 1) main_~x~0) 0) (not (< (* main_~Y~0 2) main_~X~0)) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= (* main_~Y~0 4) (+ main_~v~0 (* main_~X~0 3))))} is VALID [2022-04-15 07:38:25,197 INFO L272 TraceCheckUtils]: 28: Hoare triple {3534#(and (= (+ (- 1) main_~x~0) 0) (not (< (* main_~Y~0 2) main_~X~0)) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= (* main_~Y~0 4) (+ main_~v~0 (* main_~X~0 3))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {3443#true} is VALID [2022-04-15 07:38:25,197 INFO L290 TraceCheckUtils]: 29: Hoare triple {3443#true} ~cond := #in~cond; {3509#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:38:25,198 INFO L290 TraceCheckUtils]: 30: Hoare triple {3509#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {3513#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:38:25,198 INFO L290 TraceCheckUtils]: 31: Hoare triple {3513#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3513#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:38:25,199 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {3513#(not (= |__VERIFIER_assert_#in~cond| 0))} {3534#(and (= (+ (- 1) main_~x~0) 0) (not (< (* main_~Y~0 2) main_~X~0)) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= (* main_~Y~0 4) (+ main_~v~0 (* main_~X~0 3))))} #65#return; {3550#(and (= (+ (- 1) main_~x~0) 0) (not (< (* main_~Y~0 2) main_~X~0)) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= (* main_~Y~0 4) (+ main_~v~0 (* main_~X~0 3))))} is VALID [2022-04-15 07:38:25,200 INFO L290 TraceCheckUtils]: 33: Hoare triple {3550#(and (= (+ (- 1) main_~x~0) 0) (not (< (* main_~Y~0 2) main_~X~0)) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= (* main_~Y~0 4) (+ main_~v~0 (* main_~X~0 3))))} assume !!(~x~0 <= ~X~0); {3550#(and (= (+ (- 1) main_~x~0) 0) (not (< (* main_~Y~0 2) main_~X~0)) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= (* main_~Y~0 4) (+ main_~v~0 (* main_~X~0 3))))} is VALID [2022-04-15 07:38:25,201 INFO L290 TraceCheckUtils]: 34: Hoare triple {3550#(and (= (+ (- 1) main_~x~0) 0) (not (< (* main_~Y~0 2) main_~X~0)) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= (* main_~Y~0 4) (+ main_~v~0 (* main_~X~0 3))))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {3557#(and (= (+ (- 1) main_~x~0) 0) (= 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))) (not (< (* main_~Y~0 2) main_~X~0)) (< (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0)) (<= (+ (* (* main_~X~0 main_~y~0) 2) (* main_~Y~0 2)) (+ (* main_~X~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-15 07:38:25,202 INFO L290 TraceCheckUtils]: 35: Hoare triple {3557#(and (= (+ (- 1) main_~x~0) 0) (= 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))) (not (< (* main_~Y~0 2) main_~X~0)) (< (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0)) (<= (+ (* (* main_~X~0 main_~y~0) 2) (* main_~Y~0 2)) (+ (* main_~X~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {3561#(and (not (< (* main_~Y~0 2) main_~X~0)) (<= (* (* main_~X~0 main_~y~0) 2) (* main_~X~0 2)) (< (* main_~Y~0 4) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0)) (= main_~x~0 2) (= main_~v~0 (+ (* (- 1) main_~X~0) (* (- 2) main_~X~0 main_~y~0) (* main_~Y~0 6))))} is VALID [2022-04-15 07:38:25,204 INFO L290 TraceCheckUtils]: 36: Hoare triple {3561#(and (not (< (* main_~Y~0 2) main_~X~0)) (<= (* (* main_~X~0 main_~y~0) 2) (* main_~X~0 2)) (< (* main_~Y~0 4) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0)) (= main_~x~0 2) (= main_~v~0 (+ (* (- 1) main_~X~0) (* (- 2) main_~X~0 main_~y~0) (* main_~Y~0 6))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3565#(and (not (< (* main_~Y~0 2) main_~X~0)) (= (* main_~Y~0 2) main_~yx~0) (< (* main_~Y~0 4) (+ main_~X~0 (* (* (div main_~xy~0 main_~X~0) main_~X~0) 2))) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 6) (* (- 2) (div main_~xy~0 main_~X~0) main_~X~0))) (<= (* (* (div main_~xy~0 main_~X~0) main_~X~0) 2) (* main_~X~0 2)) (= (mod main_~xy~0 main_~X~0) 0))} is VALID [2022-04-15 07:38:25,205 INFO L272 TraceCheckUtils]: 37: Hoare triple {3565#(and (not (< (* main_~Y~0 2) main_~X~0)) (= (* main_~Y~0 2) main_~yx~0) (< (* main_~Y~0 4) (+ main_~X~0 (* (* (div main_~xy~0 main_~X~0) main_~X~0) 2))) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 6) (* (- 2) (div main_~xy~0 main_~X~0) main_~X~0))) (<= (* (* (div main_~xy~0 main_~X~0) main_~X~0) 2) (* main_~X~0 2)) (= (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)); {3569#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 07:38:25,206 INFO L290 TraceCheckUtils]: 38: Hoare triple {3569#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3573#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:38:25,206 INFO L290 TraceCheckUtils]: 39: Hoare triple {3573#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3444#false} is VALID [2022-04-15 07:38:25,206 INFO L290 TraceCheckUtils]: 40: Hoare triple {3444#false} assume !false; {3444#false} is VALID [2022-04-15 07:38:25,206 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 2 proven. 11 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2022-04-15 07:38:25,206 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:38:31,126 INFO L290 TraceCheckUtils]: 40: Hoare triple {3444#false} assume !false; {3444#false} is VALID [2022-04-15 07:38:31,127 INFO L290 TraceCheckUtils]: 39: Hoare triple {3573#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3444#false} is VALID [2022-04-15 07:38:31,127 INFO L290 TraceCheckUtils]: 38: Hoare triple {3569#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3573#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:38:31,128 INFO L272 TraceCheckUtils]: 37: Hoare triple {3589#(= (+ (* 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)); {3569#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 07:38:31,128 INFO L290 TraceCheckUtils]: 36: Hoare triple {3593#(= (+ (* 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; {3589#(= (+ (* 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:31,130 INFO L290 TraceCheckUtils]: 35: Hoare triple {3597#(= (+ (* (* 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; {3593#(= (+ (* 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:31,130 INFO L290 TraceCheckUtils]: 34: Hoare triple {3601#(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; {3597#(= (+ (* (* 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:31,131 INFO L290 TraceCheckUtils]: 33: Hoare triple {3601#(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); {3601#(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:38:31,132 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {3513#(not (= |__VERIFIER_assert_#in~cond| 0))} {3608#(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; {3601#(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:38:31,132 INFO L290 TraceCheckUtils]: 31: Hoare triple {3513#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3513#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:38:31,132 INFO L290 TraceCheckUtils]: 30: Hoare triple {3618#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {3513#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:38:31,132 INFO L290 TraceCheckUtils]: 29: Hoare triple {3443#true} ~cond := #in~cond; {3618#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 07:38:31,133 INFO L272 TraceCheckUtils]: 28: Hoare triple {3608#(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)); {3443#true} is VALID [2022-04-15 07:38:31,133 INFO L290 TraceCheckUtils]: 27: Hoare triple {3443#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3608#(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:38:31,133 INFO L290 TraceCheckUtils]: 26: Hoare triple {3443#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {3443#true} is VALID [2022-04-15 07:38:31,133 INFO L290 TraceCheckUtils]: 25: Hoare triple {3443#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; {3443#true} is VALID [2022-04-15 07:38:31,133 INFO L290 TraceCheckUtils]: 24: Hoare triple {3443#true} assume !!(~x~0 <= ~X~0); {3443#true} is VALID [2022-04-15 07:38:31,133 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {3443#true} {3443#true} #65#return; {3443#true} is VALID [2022-04-15 07:38:31,133 INFO L290 TraceCheckUtils]: 22: Hoare triple {3443#true} assume true; {3443#true} is VALID [2022-04-15 07:38:31,134 INFO L290 TraceCheckUtils]: 21: Hoare triple {3443#true} assume !(0 == ~cond); {3443#true} is VALID [2022-04-15 07:38:31,134 INFO L290 TraceCheckUtils]: 20: Hoare triple {3443#true} ~cond := #in~cond; {3443#true} is VALID [2022-04-15 07:38:31,134 INFO L272 TraceCheckUtils]: 19: Hoare triple {3443#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {3443#true} is VALID [2022-04-15 07:38:31,134 INFO L290 TraceCheckUtils]: 18: Hoare triple {3443#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3443#true} is VALID [2022-04-15 07:38:31,134 INFO L290 TraceCheckUtils]: 17: Hoare triple {3443#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {3443#true} is VALID [2022-04-15 07:38:31,134 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3443#true} {3443#true} #63#return; {3443#true} is VALID [2022-04-15 07:38:31,134 INFO L290 TraceCheckUtils]: 15: Hoare triple {3443#true} assume true; {3443#true} is VALID [2022-04-15 07:38:31,134 INFO L290 TraceCheckUtils]: 14: Hoare triple {3443#true} assume !(0 == ~cond); {3443#true} is VALID [2022-04-15 07:38:31,134 INFO L290 TraceCheckUtils]: 13: Hoare triple {3443#true} ~cond := #in~cond; {3443#true} is VALID [2022-04-15 07:38:31,134 INFO L272 TraceCheckUtils]: 12: Hoare triple {3443#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {3443#true} is VALID [2022-04-15 07:38:31,134 INFO L290 TraceCheckUtils]: 11: Hoare triple {3443#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {3443#true} is VALID [2022-04-15 07:38:31,134 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3443#true} {3443#true} #61#return; {3443#true} is VALID [2022-04-15 07:38:31,134 INFO L290 TraceCheckUtils]: 9: Hoare triple {3443#true} assume true; {3443#true} is VALID [2022-04-15 07:38:31,134 INFO L290 TraceCheckUtils]: 8: Hoare triple {3443#true} assume !(0 == ~cond); {3443#true} is VALID [2022-04-15 07:38:31,134 INFO L290 TraceCheckUtils]: 7: Hoare triple {3443#true} ~cond := #in~cond; {3443#true} is VALID [2022-04-15 07:38:31,134 INFO L272 TraceCheckUtils]: 6: Hoare triple {3443#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {3443#true} is VALID [2022-04-15 07:38:31,134 INFO L290 TraceCheckUtils]: 5: Hoare triple {3443#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; {3443#true} is VALID [2022-04-15 07:38:31,135 INFO L272 TraceCheckUtils]: 4: Hoare triple {3443#true} call #t~ret8 := main(); {3443#true} is VALID [2022-04-15 07:38:31,135 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3443#true} {3443#true} #69#return; {3443#true} is VALID [2022-04-15 07:38:31,135 INFO L290 TraceCheckUtils]: 2: Hoare triple {3443#true} assume true; {3443#true} is VALID [2022-04-15 07:38:31,135 INFO L290 TraceCheckUtils]: 1: Hoare triple {3443#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); {3443#true} is VALID [2022-04-15 07:38:31,135 INFO L272 TraceCheckUtils]: 0: Hoare triple {3443#true} call ULTIMATE.init(); {3443#true} is VALID [2022-04-15 07:38:31,135 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:38:31,135 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:38:31,135 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [352555995] [2022-04-15 07:38:31,135 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 07:38:31,135 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2121655504] [2022-04-15 07:38:31,135 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2121655504] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:38:31,135 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 07:38:31,135 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 11] total 20 [2022-04-15 07:38:31,136 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:38:31,136 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [576891979] [2022-04-15 07:38:31,136 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [576891979] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:38:31,136 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:38:31,136 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-15 07:38:31,136 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1374806597] [2022-04-15 07:38:31,136 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:38:31,136 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 12 states have (on average 1.9166666666666667) internal successors, (23), 13 states have internal predecessors, (23), 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:38:31,136 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:38:31,136 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 14 states, 12 states have (on average 1.9166666666666667) internal successors, (23), 13 states have internal predecessors, (23), 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:38:31,169 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:38:31,169 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-15 07:38:31,169 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:38:31,170 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-15 07:38:31,170 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=60, Invalid=320, Unknown=0, NotChecked=0, Total=380 [2022-04-15 07:38:31,170 INFO L87 Difference]: Start difference. First operand 59 states and 64 transitions. Second operand has 14 states, 12 states have (on average 1.9166666666666667) internal successors, (23), 13 states have internal predecessors, (23), 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:38:33,456 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:38:41,116 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.18s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 07:38:41,766 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:38:41,767 INFO L93 Difference]: Finished difference Result 86 states and 98 transitions. [2022-04-15 07:38:41,767 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-15 07:38:41,767 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 12 states have (on average 1.9166666666666667) internal successors, (23), 13 states have internal predecessors, (23), 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:38:41,767 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:38:41,767 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 12 states have (on average 1.9166666666666667) internal successors, (23), 13 states have internal predecessors, (23), 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:38:41,768 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 70 transitions. [2022-04-15 07:38:41,768 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 12 states have (on average 1.9166666666666667) internal successors, (23), 13 states have internal predecessors, (23), 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:38:41,769 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 70 transitions. [2022-04-15 07:38:41,769 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 70 transitions. [2022-04-15 07:38:41,830 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:38:41,831 INFO L225 Difference]: With dead ends: 86 [2022-04-15 07:38:41,831 INFO L226 Difference]: Without dead ends: 73 [2022-04-15 07:38:41,831 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 86 GetRequests, 61 SyntacticMatches, 2 SemanticMatches, 23 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 71 ImplicationChecksByTransitivity, 2.5s TimeCoverageRelationStatistics Valid=98, Invalid=502, Unknown=0, NotChecked=0, Total=600 [2022-04-15 07:38:41,832 INFO L913 BasicCegarLoop]: 26 mSDtfsCounter, 15 mSDsluCounter, 158 mSDsCounter, 0 mSdLazyCounter, 300 mSolverCounterSat, 6 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 3.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 16 SdHoareTripleChecker+Valid, 184 SdHoareTripleChecker+Invalid, 307 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 300 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 3.6s IncrementalHoareTripleChecker+Time [2022-04-15 07:38:41,832 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [16 Valid, 184 Invalid, 307 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 300 Invalid, 1 Unknown, 0 Unchecked, 3.6s Time] [2022-04-15 07:38:41,832 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 73 states. [2022-04-15 07:38:41,916 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 73 to 73. [2022-04-15 07:38:41,916 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:38:41,917 INFO L82 GeneralOperation]: Start isEquivalent. First operand 73 states. Second operand has 73 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 54 states have internal predecessors, (58), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-15 07:38:41,917 INFO L74 IsIncluded]: Start isIncluded. First operand 73 states. Second operand has 73 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 54 states have internal predecessors, (58), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-15 07:38:41,917 INFO L87 Difference]: Start difference. First operand 73 states. Second operand has 73 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 54 states have internal predecessors, (58), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-15 07:38:41,919 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:38:41,919 INFO L93 Difference]: Finished difference Result 73 states and 80 transitions. [2022-04-15 07:38:41,919 INFO L276 IsEmpty]: Start isEmpty. Operand 73 states and 80 transitions. [2022-04-15 07:38:41,919 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:38:41,919 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:38:41,919 INFO L74 IsIncluded]: Start isIncluded. First operand has 73 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 54 states have internal predecessors, (58), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) Second operand 73 states. [2022-04-15 07:38:41,919 INFO L87 Difference]: Start difference. First operand has 73 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 54 states have internal predecessors, (58), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) Second operand 73 states. [2022-04-15 07:38:41,921 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:38:41,921 INFO L93 Difference]: Finished difference Result 73 states and 80 transitions. [2022-04-15 07:38:41,921 INFO L276 IsEmpty]: Start isEmpty. Operand 73 states and 80 transitions. [2022-04-15 07:38:41,921 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:38:41,921 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:38:41,921 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:38:41,921 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:38:41,921 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 73 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 54 states have internal predecessors, (58), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-15 07:38:41,923 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 73 states to 73 states and 80 transitions. [2022-04-15 07:38:41,923 INFO L78 Accepts]: Start accepts. Automaton has 73 states and 80 transitions. Word has length 41 [2022-04-15 07:38:41,923 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:38:41,923 INFO L478 AbstractCegarLoop]: Abstraction has 73 states and 80 transitions. [2022-04-15 07:38:41,923 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 12 states have (on average 1.9166666666666667) internal successors, (23), 13 states have internal predecessors, (23), 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:38:41,923 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 73 states and 80 transitions. [2022-04-15 07:38:42,052 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:38:42,052 INFO L276 IsEmpty]: Start isEmpty. Operand 73 states and 80 transitions. [2022-04-15 07:38:42,053 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 42 [2022-04-15 07:38:42,053 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:38:42,053 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:38:42,059 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:38:42,259 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:38:42,261 INFO L403 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:38:42,263 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:38:42,263 INFO L85 PathProgramCache]: Analyzing trace with hash 1487887833, now seen corresponding path program 3 times [2022-04-15 07:38:42,263 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:38:42,263 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [987606728] [2022-04-15 07:38:42,264 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 07:38:42,264 INFO L85 PathProgramCache]: Analyzing trace with hash 1487887833, now seen corresponding path program 4 times [2022-04-15 07:38:42,264 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:38:42,264 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1652260777] [2022-04-15 07:38:42,264 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:38:42,264 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:38:42,279 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:38:42,279 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [415657298] [2022-04-15 07:38:42,279 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 07:38:42,279 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:38:42,279 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:38:42,280 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:38:42,281 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:38:42,328 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 07:38:42,328 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:38:42,329 INFO L263 TraceCheckSpWp]: Trace formula consists of 87 conjuncts, 27 conjunts are in the unsatisfiable core [2022-04-15 07:38:42,335 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:38:42,336 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:38:42,611 INFO L272 TraceCheckUtils]: 0: Hoare triple {4182#true} call ULTIMATE.init(); {4182#true} is VALID [2022-04-15 07:38:42,611 INFO L290 TraceCheckUtils]: 1: Hoare triple {4182#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); {4182#true} is VALID [2022-04-15 07:38:42,611 INFO L290 TraceCheckUtils]: 2: Hoare triple {4182#true} assume true; {4182#true} is VALID [2022-04-15 07:38:42,611 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4182#true} {4182#true} #69#return; {4182#true} is VALID [2022-04-15 07:38:42,611 INFO L272 TraceCheckUtils]: 4: Hoare triple {4182#true} call #t~ret8 := main(); {4182#true} is VALID [2022-04-15 07:38:42,611 INFO L290 TraceCheckUtils]: 5: Hoare triple {4182#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; {4182#true} is VALID [2022-04-15 07:38:42,611 INFO L272 TraceCheckUtils]: 6: Hoare triple {4182#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {4182#true} is VALID [2022-04-15 07:38:42,611 INFO L290 TraceCheckUtils]: 7: Hoare triple {4182#true} ~cond := #in~cond; {4182#true} is VALID [2022-04-15 07:38:42,611 INFO L290 TraceCheckUtils]: 8: Hoare triple {4182#true} assume !(0 == ~cond); {4182#true} is VALID [2022-04-15 07:38:42,611 INFO L290 TraceCheckUtils]: 9: Hoare triple {4182#true} assume true; {4182#true} is VALID [2022-04-15 07:38:42,611 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4182#true} {4182#true} #61#return; {4182#true} is VALID [2022-04-15 07:38:42,612 INFO L290 TraceCheckUtils]: 11: Hoare triple {4182#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {4182#true} is VALID [2022-04-15 07:38:42,612 INFO L272 TraceCheckUtils]: 12: Hoare triple {4182#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {4182#true} is VALID [2022-04-15 07:38:42,612 INFO L290 TraceCheckUtils]: 13: Hoare triple {4182#true} ~cond := #in~cond; {4182#true} is VALID [2022-04-15 07:38:42,612 INFO L290 TraceCheckUtils]: 14: Hoare triple {4182#true} assume !(0 == ~cond); {4182#true} is VALID [2022-04-15 07:38:42,612 INFO L290 TraceCheckUtils]: 15: Hoare triple {4182#true} assume true; {4182#true} is VALID [2022-04-15 07:38:42,612 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4182#true} {4182#true} #63#return; {4182#true} is VALID [2022-04-15 07:38:42,612 INFO L290 TraceCheckUtils]: 17: Hoare triple {4182#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {4238#(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:42,613 INFO L290 TraceCheckUtils]: 18: Hoare triple {4238#(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; {4238#(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:42,613 INFO L272 TraceCheckUtils]: 19: Hoare triple {4238#(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)); {4182#true} is VALID [2022-04-15 07:38:42,613 INFO L290 TraceCheckUtils]: 20: Hoare triple {4182#true} ~cond := #in~cond; {4182#true} is VALID [2022-04-15 07:38:42,613 INFO L290 TraceCheckUtils]: 21: Hoare triple {4182#true} assume !(0 == ~cond); {4182#true} is VALID [2022-04-15 07:38:42,613 INFO L290 TraceCheckUtils]: 22: Hoare triple {4182#true} assume true; {4182#true} is VALID [2022-04-15 07:38:42,613 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {4182#true} {4238#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} #65#return; {4238#(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:42,614 INFO L290 TraceCheckUtils]: 24: Hoare triple {4238#(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); {4238#(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:42,615 INFO L290 TraceCheckUtils]: 25: Hoare triple {4238#(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; {4263#(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:38:42,615 INFO L290 TraceCheckUtils]: 26: Hoare triple {4263#(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; {4267#(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:38:42,615 INFO L290 TraceCheckUtils]: 27: Hoare triple {4267#(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; {4267#(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:38:42,615 INFO L272 TraceCheckUtils]: 28: Hoare triple {4267#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 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)); {4182#true} is VALID [2022-04-15 07:38:42,615 INFO L290 TraceCheckUtils]: 29: Hoare triple {4182#true} ~cond := #in~cond; {4182#true} is VALID [2022-04-15 07:38:42,616 INFO L290 TraceCheckUtils]: 30: Hoare triple {4182#true} assume !(0 == ~cond); {4182#true} is VALID [2022-04-15 07:38:42,616 INFO L290 TraceCheckUtils]: 31: Hoare triple {4182#true} assume true; {4182#true} is VALID [2022-04-15 07:38:42,616 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {4182#true} {4267#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} #65#return; {4267#(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:38:42,617 INFO L290 TraceCheckUtils]: 33: Hoare triple {4267#(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); {4289#(and (= (+ (- 1) main_~x~0) 0) (<= main_~x~0 main_~X~0) (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-15 07:38:42,617 INFO L290 TraceCheckUtils]: 34: Hoare triple {4289#(and (= (+ (- 1) main_~x~0) 0) (<= main_~x~0 main_~X~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 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {4293#(and (= (+ (- 1) main_~x~0) 0) (<= main_~x~0 main_~X~0) (= (+ (- 2) main_~y~0) 0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (+ 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:38:42,618 INFO L290 TraceCheckUtils]: 35: Hoare triple {4293#(and (= (+ (- 1) main_~x~0) 0) (<= main_~x~0 main_~X~0) (= (+ (- 2) main_~y~0) 0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (+ 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; {4297#(and (= (+ (- 2) main_~x~0) 0) (= (+ (- 2) main_~y~0) 0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-15 07:38:42,618 INFO L290 TraceCheckUtils]: 36: Hoare triple {4297#(and (= (+ (- 2) main_~x~0) 0) (= (+ (- 2) main_~y~0) 0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~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; {4301#(and (= main_~xy~0 (* main_~X~0 2)) (= (* main_~Y~0 2) main_~yx~0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 1 main_~X~0))} is VALID [2022-04-15 07:38:42,619 INFO L272 TraceCheckUtils]: 37: Hoare triple {4301#(and (= main_~xy~0 (* main_~X~0 2)) (= (* main_~Y~0 2) main_~yx~0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 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)); {4305#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 07:38:42,619 INFO L290 TraceCheckUtils]: 38: Hoare triple {4305#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4309#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:38:42,620 INFO L290 TraceCheckUtils]: 39: Hoare triple {4309#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4183#false} is VALID [2022-04-15 07:38:42,620 INFO L290 TraceCheckUtils]: 40: Hoare triple {4183#false} assume !false; {4183#false} is VALID [2022-04-15 07:38:42,620 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:38:42,620 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:38:43,010 INFO L290 TraceCheckUtils]: 40: Hoare triple {4183#false} assume !false; {4183#false} is VALID [2022-04-15 07:38:43,010 INFO L290 TraceCheckUtils]: 39: Hoare triple {4309#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4183#false} is VALID [2022-04-15 07:38:43,011 INFO L290 TraceCheckUtils]: 38: Hoare triple {4305#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4309#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:38:43,011 INFO L272 TraceCheckUtils]: 37: Hoare triple {4325#(= (+ (* 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)); {4305#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 07:38:43,012 INFO L290 TraceCheckUtils]: 36: Hoare triple {4329#(= (+ (* 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; {4325#(= (+ (* 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:43,014 INFO L290 TraceCheckUtils]: 35: Hoare triple {4333#(= (+ (* (* 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; {4329#(= (+ (* 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:43,016 INFO L290 TraceCheckUtils]: 34: Hoare triple {4337#(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; {4333#(= (+ (* (* 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:43,016 INFO L290 TraceCheckUtils]: 33: Hoare triple {4341#(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); {4337#(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:38:43,017 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {4182#true} {4341#(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; {4341#(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:38:43,017 INFO L290 TraceCheckUtils]: 31: Hoare triple {4182#true} assume true; {4182#true} is VALID [2022-04-15 07:38:43,017 INFO L290 TraceCheckUtils]: 30: Hoare triple {4182#true} assume !(0 == ~cond); {4182#true} is VALID [2022-04-15 07:38:43,017 INFO L290 TraceCheckUtils]: 29: Hoare triple {4182#true} ~cond := #in~cond; {4182#true} is VALID [2022-04-15 07:38:43,017 INFO L272 TraceCheckUtils]: 28: Hoare triple {4341#(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)); {4182#true} is VALID [2022-04-15 07:38:43,018 INFO L290 TraceCheckUtils]: 27: Hoare triple {4341#(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; {4341#(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:38:43,019 INFO L290 TraceCheckUtils]: 26: Hoare triple {4363#(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; {4341#(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:38:43,021 INFO L290 TraceCheckUtils]: 25: Hoare triple {4367#(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; {4363#(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:38:43,021 INFO L290 TraceCheckUtils]: 24: Hoare triple {4367#(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); {4367#(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:38:43,022 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {4182#true} {4367#(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; {4367#(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:38:43,022 INFO L290 TraceCheckUtils]: 22: Hoare triple {4182#true} assume true; {4182#true} is VALID [2022-04-15 07:38:43,022 INFO L290 TraceCheckUtils]: 21: Hoare triple {4182#true} assume !(0 == ~cond); {4182#true} is VALID [2022-04-15 07:38:43,022 INFO L290 TraceCheckUtils]: 20: Hoare triple {4182#true} ~cond := #in~cond; {4182#true} is VALID [2022-04-15 07:38:43,022 INFO L272 TraceCheckUtils]: 19: Hoare triple {4367#(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)); {4182#true} is VALID [2022-04-15 07:38:43,023 INFO L290 TraceCheckUtils]: 18: Hoare triple {4367#(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; {4367#(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:38:43,023 INFO L290 TraceCheckUtils]: 17: Hoare triple {4182#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {4367#(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:38:43,023 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4182#true} {4182#true} #63#return; {4182#true} is VALID [2022-04-15 07:38:43,023 INFO L290 TraceCheckUtils]: 15: Hoare triple {4182#true} assume true; {4182#true} is VALID [2022-04-15 07:38:43,023 INFO L290 TraceCheckUtils]: 14: Hoare triple {4182#true} assume !(0 == ~cond); {4182#true} is VALID [2022-04-15 07:38:43,024 INFO L290 TraceCheckUtils]: 13: Hoare triple {4182#true} ~cond := #in~cond; {4182#true} is VALID [2022-04-15 07:38:43,024 INFO L272 TraceCheckUtils]: 12: Hoare triple {4182#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {4182#true} is VALID [2022-04-15 07:38:43,024 INFO L290 TraceCheckUtils]: 11: Hoare triple {4182#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {4182#true} is VALID [2022-04-15 07:38:43,024 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4182#true} {4182#true} #61#return; {4182#true} is VALID [2022-04-15 07:38:43,024 INFO L290 TraceCheckUtils]: 9: Hoare triple {4182#true} assume true; {4182#true} is VALID [2022-04-15 07:38:43,024 INFO L290 TraceCheckUtils]: 8: Hoare triple {4182#true} assume !(0 == ~cond); {4182#true} is VALID [2022-04-15 07:38:43,024 INFO L290 TraceCheckUtils]: 7: Hoare triple {4182#true} ~cond := #in~cond; {4182#true} is VALID [2022-04-15 07:38:43,024 INFO L272 TraceCheckUtils]: 6: Hoare triple {4182#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {4182#true} is VALID [2022-04-15 07:38:43,024 INFO L290 TraceCheckUtils]: 5: Hoare triple {4182#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; {4182#true} is VALID [2022-04-15 07:38:43,024 INFO L272 TraceCheckUtils]: 4: Hoare triple {4182#true} call #t~ret8 := main(); {4182#true} is VALID [2022-04-15 07:38:43,024 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4182#true} {4182#true} #69#return; {4182#true} is VALID [2022-04-15 07:38:43,024 INFO L290 TraceCheckUtils]: 2: Hoare triple {4182#true} assume true; {4182#true} is VALID [2022-04-15 07:38:43,024 INFO L290 TraceCheckUtils]: 1: Hoare triple {4182#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); {4182#true} is VALID [2022-04-15 07:38:43,024 INFO L272 TraceCheckUtils]: 0: Hoare triple {4182#true} call ULTIMATE.init(); {4182#true} is VALID [2022-04-15 07:38:43,024 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 7 proven. 6 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2022-04-15 07:38:43,025 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:38:43,025 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1652260777] [2022-04-15 07:38:43,025 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 07:38:43,025 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [415657298] [2022-04-15 07:38:43,025 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [415657298] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:38:43,025 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 07:38:43,025 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 11] total 18 [2022-04-15 07:38:43,025 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:38:43,025 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [987606728] [2022-04-15 07:38:43,026 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [987606728] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:38:43,026 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:38:43,026 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-15 07:38:43,026 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [418019763] [2022-04-15 07:38:43,026 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:38:43,026 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:38:43,026 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:38:43,026 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:38:43,061 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:38:43,061 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-15 07:38:43,062 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:38:43,062 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-15 07:38:43,062 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=60, Invalid=246, Unknown=0, NotChecked=0, Total=306 [2022-04-15 07:38:43,062 INFO L87 Difference]: Start difference. First operand 73 states and 80 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:38:43,790 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:38:43,791 INFO L93 Difference]: Finished difference Result 86 states and 95 transitions. [2022-04-15 07:38:43,791 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-15 07:38:43,791 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:38:43,791 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:38:43,791 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:38:43,792 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 58 transitions. [2022-04-15 07:38:43,792 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:38:43,793 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 58 transitions. [2022-04-15 07:38:43,793 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 58 transitions. [2022-04-15 07:38:43,843 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:38:43,844 INFO L225 Difference]: With dead ends: 86 [2022-04-15 07:38:43,844 INFO L226 Difference]: Without dead ends: 84 [2022-04-15 07:38:43,845 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 83 GetRequests, 64 SyntacticMatches, 1 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 35 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=73, Invalid=307, Unknown=0, NotChecked=0, Total=380 [2022-04-15 07:38:43,847 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:38:43,847 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:38:43,848 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 84 states. [2022-04-15 07:38:43,936 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 84 to 73. [2022-04-15 07:38:43,936 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:38:43,936 INFO L82 GeneralOperation]: Start isEquivalent. First operand 84 states. Second operand has 73 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 54 states have internal predecessors, (58), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-15 07:38:43,936 INFO L74 IsIncluded]: Start isIncluded. First operand 84 states. Second operand has 73 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 54 states have internal predecessors, (58), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-15 07:38:43,936 INFO L87 Difference]: Start difference. First operand 84 states. Second operand has 73 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 54 states have internal predecessors, (58), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-15 07:38:43,938 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:38:43,938 INFO L93 Difference]: Finished difference Result 84 states and 93 transitions. [2022-04-15 07:38:43,938 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 93 transitions. [2022-04-15 07:38:43,938 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:38:43,938 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:38:43,939 INFO L74 IsIncluded]: Start isIncluded. First operand has 73 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 54 states have internal predecessors, (58), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) Second operand 84 states. [2022-04-15 07:38:43,939 INFO L87 Difference]: Start difference. First operand has 73 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 54 states have internal predecessors, (58), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) Second operand 84 states. [2022-04-15 07:38:43,940 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:38:43,940 INFO L93 Difference]: Finished difference Result 84 states and 93 transitions. [2022-04-15 07:38:43,940 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 93 transitions. [2022-04-15 07:38:43,941 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:38:43,941 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:38:43,941 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:38:43,941 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:38:43,941 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 73 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 54 states have internal predecessors, (58), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-15 07:38:43,942 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 73 states to 73 states and 80 transitions. [2022-04-15 07:38:43,942 INFO L78 Accepts]: Start accepts. Automaton has 73 states and 80 transitions. Word has length 41 [2022-04-15 07:38:43,942 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:38:43,942 INFO L478 AbstractCegarLoop]: Abstraction has 73 states and 80 transitions. [2022-04-15 07:38:43,943 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:38:43,943 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 73 states and 80 transitions. [2022-04-15 07:38:44,097 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:38:44,097 INFO L276 IsEmpty]: Start isEmpty. Operand 73 states and 80 transitions. [2022-04-15 07:38:44,097 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 49 [2022-04-15 07:38:44,097 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:38:44,097 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:38:44,101 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Forceful destruction successful, exit code 0 [2022-04-15 07:38:44,301 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:38:44,301 INFO L403 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:38:44,301 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:38:44,302 INFO L85 PathProgramCache]: Analyzing trace with hash 651179076, now seen corresponding path program 1 times [2022-04-15 07:38:44,302 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:38:44,302 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1861212640] [2022-04-15 07:38:44,302 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 07:38:44,302 INFO L85 PathProgramCache]: Analyzing trace with hash 651179076, now seen corresponding path program 2 times [2022-04-15 07:38:44,302 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:38:44,302 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [489693047] [2022-04-15 07:38:44,302 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:38:44,303 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:38:44,320 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:38:44,321 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [177388520] [2022-04-15 07:38:44,321 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 07:38:44,321 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:38:44,321 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:38:44,328 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:38:44,329 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:38:44,361 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 07:38:44,361 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:38:44,362 INFO L263 TraceCheckSpWp]: Trace formula consists of 138 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-15 07:38:44,370 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:38:44,370 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:38:45,060 INFO L272 TraceCheckUtils]: 0: Hoare triple {4935#true} call ULTIMATE.init(); {4935#true} is VALID [2022-04-15 07:38:45,060 INFO L290 TraceCheckUtils]: 1: Hoare triple {4935#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); {4935#true} is VALID [2022-04-15 07:38:45,060 INFO L290 TraceCheckUtils]: 2: Hoare triple {4935#true} assume true; {4935#true} is VALID [2022-04-15 07:38:45,060 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4935#true} {4935#true} #69#return; {4935#true} is VALID [2022-04-15 07:38:45,060 INFO L272 TraceCheckUtils]: 4: Hoare triple {4935#true} call #t~ret8 := main(); {4935#true} is VALID [2022-04-15 07:38:45,060 INFO L290 TraceCheckUtils]: 5: Hoare triple {4935#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; {4935#true} is VALID [2022-04-15 07:38:45,060 INFO L272 TraceCheckUtils]: 6: Hoare triple {4935#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {4935#true} is VALID [2022-04-15 07:38:45,060 INFO L290 TraceCheckUtils]: 7: Hoare triple {4935#true} ~cond := #in~cond; {4935#true} is VALID [2022-04-15 07:38:45,060 INFO L290 TraceCheckUtils]: 8: Hoare triple {4935#true} assume !(0 == ~cond); {4935#true} is VALID [2022-04-15 07:38:45,060 INFO L290 TraceCheckUtils]: 9: Hoare triple {4935#true} assume true; {4935#true} is VALID [2022-04-15 07:38:45,060 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4935#true} {4935#true} #61#return; {4935#true} is VALID [2022-04-15 07:38:45,060 INFO L290 TraceCheckUtils]: 11: Hoare triple {4935#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {4935#true} is VALID [2022-04-15 07:38:45,060 INFO L272 TraceCheckUtils]: 12: Hoare triple {4935#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {4935#true} is VALID [2022-04-15 07:38:45,061 INFO L290 TraceCheckUtils]: 13: Hoare triple {4935#true} ~cond := #in~cond; {4935#true} is VALID [2022-04-15 07:38:45,061 INFO L290 TraceCheckUtils]: 14: Hoare triple {4935#true} assume !(0 == ~cond); {4935#true} is VALID [2022-04-15 07:38:45,061 INFO L290 TraceCheckUtils]: 15: Hoare triple {4935#true} assume true; {4935#true} is VALID [2022-04-15 07:38:45,061 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4935#true} {4935#true} #63#return; {4935#true} is VALID [2022-04-15 07:38:45,061 INFO L290 TraceCheckUtils]: 17: Hoare triple {4935#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {4991#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} is VALID [2022-04-15 07:38:45,063 INFO L290 TraceCheckUtils]: 18: Hoare triple {4991#(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; {4991#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} is VALID [2022-04-15 07:38:45,063 INFO L272 TraceCheckUtils]: 19: Hoare triple {4991#(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)); {4935#true} is VALID [2022-04-15 07:38:45,064 INFO L290 TraceCheckUtils]: 20: Hoare triple {4935#true} ~cond := #in~cond; {4935#true} is VALID [2022-04-15 07:38:45,064 INFO L290 TraceCheckUtils]: 21: Hoare triple {4935#true} assume !(0 == ~cond); {4935#true} is VALID [2022-04-15 07:38:45,064 INFO L290 TraceCheckUtils]: 22: Hoare triple {4935#true} assume true; {4935#true} is VALID [2022-04-15 07:38:45,064 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {4935#true} {4991#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} #65#return; {4991#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} is VALID [2022-04-15 07:38:45,064 INFO L290 TraceCheckUtils]: 24: Hoare triple {4991#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} assume !!(~x~0 <= ~X~0); {4991#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} is VALID [2022-04-15 07:38:45,065 INFO L290 TraceCheckUtils]: 25: Hoare triple {4991#(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; {5016#(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:38:45,066 INFO L290 TraceCheckUtils]: 26: Hoare triple {5016#(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; {5020#(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:38:45,066 INFO L290 TraceCheckUtils]: 27: Hoare triple {5020#(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; {5020#(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:38:45,067 INFO L272 TraceCheckUtils]: 28: Hoare triple {5020#(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)); {4935#true} is VALID [2022-04-15 07:38:45,067 INFO L290 TraceCheckUtils]: 29: Hoare triple {4935#true} ~cond := #in~cond; {4935#true} is VALID [2022-04-15 07:38:45,067 INFO L290 TraceCheckUtils]: 30: Hoare triple {4935#true} assume !(0 == ~cond); {4935#true} is VALID [2022-04-15 07:38:45,067 INFO L290 TraceCheckUtils]: 31: Hoare triple {4935#true} assume true; {4935#true} is VALID [2022-04-15 07:38:45,067 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {4935#true} {5020#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} #65#return; {5020#(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:38:45,068 INFO L290 TraceCheckUtils]: 33: Hoare triple {5020#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} assume !!(~x~0 <= ~X~0); {5020#(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:38:45,068 INFO L290 TraceCheckUtils]: 34: Hoare triple {5020#(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; {5045#(and (<= main_~x~0 1) (< 0 (div (+ (- 1) main_~X~0) 2)))} is VALID [2022-04-15 07:38:45,069 INFO L290 TraceCheckUtils]: 35: Hoare triple {5045#(and (<= main_~x~0 1) (< 0 (div (+ (- 1) main_~X~0) 2)))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {5049#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} is VALID [2022-04-15 07:38:45,069 INFO L290 TraceCheckUtils]: 36: Hoare triple {5049#(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; {5049#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} is VALID [2022-04-15 07:38:45,069 INFO L272 TraceCheckUtils]: 37: Hoare triple {5049#(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)); {4935#true} is VALID [2022-04-15 07:38:45,069 INFO L290 TraceCheckUtils]: 38: Hoare triple {4935#true} ~cond := #in~cond; {4935#true} is VALID [2022-04-15 07:38:45,069 INFO L290 TraceCheckUtils]: 39: Hoare triple {4935#true} assume !(0 == ~cond); {4935#true} is VALID [2022-04-15 07:38:45,069 INFO L290 TraceCheckUtils]: 40: Hoare triple {4935#true} assume true; {4935#true} is VALID [2022-04-15 07:38:45,070 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {4935#true} {5049#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} #65#return; {5049#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} is VALID [2022-04-15 07:38:45,071 INFO L290 TraceCheckUtils]: 42: Hoare triple {5049#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} assume !(~x~0 <= ~X~0); {4936#false} is VALID [2022-04-15 07:38:45,071 INFO L290 TraceCheckUtils]: 43: Hoare triple {4936#false} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {4936#false} is VALID [2022-04-15 07:38:45,071 INFO L272 TraceCheckUtils]: 44: Hoare triple {4936#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)); {4936#false} is VALID [2022-04-15 07:38:45,071 INFO L290 TraceCheckUtils]: 45: Hoare triple {4936#false} ~cond := #in~cond; {4936#false} is VALID [2022-04-15 07:38:45,071 INFO L290 TraceCheckUtils]: 46: Hoare triple {4936#false} assume 0 == ~cond; {4936#false} is VALID [2022-04-15 07:38:45,071 INFO L290 TraceCheckUtils]: 47: Hoare triple {4936#false} assume !false; {4936#false} is VALID [2022-04-15 07:38:45,071 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:38:45,071 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:38:45,319 INFO L290 TraceCheckUtils]: 47: Hoare triple {4936#false} assume !false; {4936#false} is VALID [2022-04-15 07:38:45,319 INFO L290 TraceCheckUtils]: 46: Hoare triple {4936#false} assume 0 == ~cond; {4936#false} is VALID [2022-04-15 07:38:45,319 INFO L290 TraceCheckUtils]: 45: Hoare triple {4936#false} ~cond := #in~cond; {4936#false} is VALID [2022-04-15 07:38:45,319 INFO L272 TraceCheckUtils]: 44: Hoare triple {4936#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)); {4936#false} is VALID [2022-04-15 07:38:45,319 INFO L290 TraceCheckUtils]: 43: Hoare triple {4936#false} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {4936#false} is VALID [2022-04-15 07:38:45,319 INFO L290 TraceCheckUtils]: 42: Hoare triple {5101#(<= main_~x~0 main_~X~0)} assume !(~x~0 <= ~X~0); {4936#false} is VALID [2022-04-15 07:38:45,320 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {4935#true} {5101#(<= main_~x~0 main_~X~0)} #65#return; {5101#(<= main_~x~0 main_~X~0)} is VALID [2022-04-15 07:38:45,320 INFO L290 TraceCheckUtils]: 40: Hoare triple {4935#true} assume true; {4935#true} is VALID [2022-04-15 07:38:45,320 INFO L290 TraceCheckUtils]: 39: Hoare triple {4935#true} assume !(0 == ~cond); {4935#true} is VALID [2022-04-15 07:38:45,320 INFO L290 TraceCheckUtils]: 38: Hoare triple {4935#true} ~cond := #in~cond; {4935#true} is VALID [2022-04-15 07:38:45,320 INFO L272 TraceCheckUtils]: 37: Hoare triple {5101#(<= 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)); {4935#true} is VALID [2022-04-15 07:38:45,320 INFO L290 TraceCheckUtils]: 36: Hoare triple {5101#(<= main_~x~0 main_~X~0)} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5101#(<= main_~x~0 main_~X~0)} is VALID [2022-04-15 07:38:45,321 INFO L290 TraceCheckUtils]: 35: Hoare triple {5123#(<= (+ main_~x~0 1) main_~X~0)} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {5101#(<= main_~x~0 main_~X~0)} is VALID [2022-04-15 07:38:45,322 INFO L290 TraceCheckUtils]: 34: Hoare triple {5127#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {5123#(<= (+ main_~x~0 1) main_~X~0)} is VALID [2022-04-15 07:38:45,322 INFO L290 TraceCheckUtils]: 33: Hoare triple {5127#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0))} assume !!(~x~0 <= ~X~0); {5127#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-15 07:38:45,322 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {4935#true} {5127#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0))} #65#return; {5127#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-15 07:38:45,322 INFO L290 TraceCheckUtils]: 31: Hoare triple {4935#true} assume true; {4935#true} is VALID [2022-04-15 07:38:45,323 INFO L290 TraceCheckUtils]: 30: Hoare triple {4935#true} assume !(0 == ~cond); {4935#true} is VALID [2022-04-15 07:38:45,323 INFO L290 TraceCheckUtils]: 29: Hoare triple {4935#true} ~cond := #in~cond; {4935#true} is VALID [2022-04-15 07:38:45,323 INFO L272 TraceCheckUtils]: 28: Hoare triple {5127#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {4935#true} is VALID [2022-04-15 07:38:45,323 INFO L290 TraceCheckUtils]: 27: Hoare triple {5127#(or (< 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; {5127#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-15 07:38:45,323 INFO L290 TraceCheckUtils]: 26: Hoare triple {5152#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {5127#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-15 07:38:45,324 INFO L290 TraceCheckUtils]: 25: Hoare triple {5156#(or (<= (+ main_~x~0 2) main_~X~0) (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {5152#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} is VALID [2022-04-15 07:38:45,324 INFO L290 TraceCheckUtils]: 24: Hoare triple {5156#(or (<= (+ main_~x~0 2) main_~X~0) (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)))} assume !!(~x~0 <= ~X~0); {5156#(or (<= (+ main_~x~0 2) main_~X~0) (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)))} is VALID [2022-04-15 07:38:45,325 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {4935#true} {5156#(or (<= (+ main_~x~0 2) main_~X~0) (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)))} #65#return; {5156#(or (<= (+ main_~x~0 2) main_~X~0) (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)))} is VALID [2022-04-15 07:38:45,325 INFO L290 TraceCheckUtils]: 22: Hoare triple {4935#true} assume true; {4935#true} is VALID [2022-04-15 07:38:45,325 INFO L290 TraceCheckUtils]: 21: Hoare triple {4935#true} assume !(0 == ~cond); {4935#true} is VALID [2022-04-15 07:38:45,325 INFO L290 TraceCheckUtils]: 20: Hoare triple {4935#true} ~cond := #in~cond; {4935#true} is VALID [2022-04-15 07:38:45,325 INFO L272 TraceCheckUtils]: 19: Hoare triple {5156#(or (<= (+ main_~x~0 2) main_~X~0) (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {4935#true} is VALID [2022-04-15 07:38:45,325 INFO L290 TraceCheckUtils]: 18: Hoare triple {5156#(or (<= (+ main_~x~0 2) main_~X~0) (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5156#(or (<= (+ main_~x~0 2) main_~X~0) (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)))} is VALID [2022-04-15 07:38:45,326 INFO L290 TraceCheckUtils]: 17: Hoare triple {4935#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {5156#(or (<= (+ main_~x~0 2) main_~X~0) (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)))} is VALID [2022-04-15 07:38:45,326 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4935#true} {4935#true} #63#return; {4935#true} is VALID [2022-04-15 07:38:45,326 INFO L290 TraceCheckUtils]: 15: Hoare triple {4935#true} assume true; {4935#true} is VALID [2022-04-15 07:38:45,326 INFO L290 TraceCheckUtils]: 14: Hoare triple {4935#true} assume !(0 == ~cond); {4935#true} is VALID [2022-04-15 07:38:45,326 INFO L290 TraceCheckUtils]: 13: Hoare triple {4935#true} ~cond := #in~cond; {4935#true} is VALID [2022-04-15 07:38:45,326 INFO L272 TraceCheckUtils]: 12: Hoare triple {4935#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {4935#true} is VALID [2022-04-15 07:38:45,326 INFO L290 TraceCheckUtils]: 11: Hoare triple {4935#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {4935#true} is VALID [2022-04-15 07:38:45,326 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4935#true} {4935#true} #61#return; {4935#true} is VALID [2022-04-15 07:38:45,327 INFO L290 TraceCheckUtils]: 9: Hoare triple {4935#true} assume true; {4935#true} is VALID [2022-04-15 07:38:45,327 INFO L290 TraceCheckUtils]: 8: Hoare triple {4935#true} assume !(0 == ~cond); {4935#true} is VALID [2022-04-15 07:38:45,327 INFO L290 TraceCheckUtils]: 7: Hoare triple {4935#true} ~cond := #in~cond; {4935#true} is VALID [2022-04-15 07:38:45,327 INFO L272 TraceCheckUtils]: 6: Hoare triple {4935#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {4935#true} is VALID [2022-04-15 07:38:45,327 INFO L290 TraceCheckUtils]: 5: Hoare triple {4935#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; {4935#true} is VALID [2022-04-15 07:38:45,327 INFO L272 TraceCheckUtils]: 4: Hoare triple {4935#true} call #t~ret8 := main(); {4935#true} is VALID [2022-04-15 07:38:45,327 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4935#true} {4935#true} #69#return; {4935#true} is VALID [2022-04-15 07:38:45,327 INFO L290 TraceCheckUtils]: 2: Hoare triple {4935#true} assume true; {4935#true} is VALID [2022-04-15 07:38:45,327 INFO L290 TraceCheckUtils]: 1: Hoare triple {4935#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); {4935#true} is VALID [2022-04-15 07:38:45,327 INFO L272 TraceCheckUtils]: 0: Hoare triple {4935#true} call ULTIMATE.init(); {4935#true} is VALID [2022-04-15 07:38:45,327 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:38:45,327 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:38:45,327 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [489693047] [2022-04-15 07:38:45,327 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 07:38:45,328 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [177388520] [2022-04-15 07:38:45,328 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [177388520] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:38:45,328 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 07:38:45,328 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 12 [2022-04-15 07:38:45,328 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:38:45,328 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1861212640] [2022-04-15 07:38:45,328 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1861212640] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:38:45,328 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:38:45,328 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-15 07:38:45,328 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [852631116] [2022-04-15 07:38:45,328 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:38:45,329 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:38:45,329 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:38:45,329 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:38:45,379 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:38:45,379 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-15 07:38:45,379 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:38:45,379 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-15 07:38:45,379 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=39, Invalid=93, Unknown=0, NotChecked=0, Total=132 [2022-04-15 07:38:45,381 INFO L87 Difference]: Start difference. First operand 73 states and 80 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:38:45,752 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:38:45,752 INFO L93 Difference]: Finished difference Result 87 states and 96 transitions. [2022-04-15 07:38:45,752 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-15 07:38:45,752 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:38:45,752 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:38:45,752 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:38:45,753 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 59 transitions. [2022-04-15 07:38:45,753 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:38:45,754 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 59 transitions. [2022-04-15 07:38:45,754 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 59 transitions. [2022-04-15 07:38:45,797 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:38:45,799 INFO L225 Difference]: With dead ends: 87 [2022-04-15 07:38:45,799 INFO L226 Difference]: Without dead ends: 79 [2022-04-15 07:38:45,799 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 95 GetRequests, 85 SyntacticMatches, 0 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 16 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=39, Invalid=93, Unknown=0, NotChecked=0, Total=132 [2022-04-15 07:38:45,799 INFO L913 BasicCegarLoop]: 31 mSDtfsCounter, 3 mSDsluCounter, 71 mSDsCounter, 0 mSdLazyCounter, 107 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 3 SdHoareTripleChecker+Valid, 102 SdHoareTripleChecker+Invalid, 109 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 107 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-15 07:38:45,800 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [3 Valid, 102 Invalid, 109 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 107 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-15 07:38:45,800 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 79 states. [2022-04-15 07:38:45,928 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 79 to 76. [2022-04-15 07:38:45,929 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:38:45,929 INFO L82 GeneralOperation]: Start isEquivalent. First operand 79 states. Second operand has 76 states, 54 states have (on average 1.1111111111111112) internal successors, (60), 57 states have internal predecessors, (60), 13 states have call successors, (13), 9 states have call predecessors, (13), 8 states have return successors, (11), 9 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-15 07:38:45,931 INFO L74 IsIncluded]: Start isIncluded. First operand 79 states. Second operand has 76 states, 54 states have (on average 1.1111111111111112) internal successors, (60), 57 states have internal predecessors, (60), 13 states have call successors, (13), 9 states have call predecessors, (13), 8 states have return successors, (11), 9 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-15 07:38:45,931 INFO L87 Difference]: Start difference. First operand 79 states. Second operand has 76 states, 54 states have (on average 1.1111111111111112) internal successors, (60), 57 states have internal predecessors, (60), 13 states have call successors, (13), 9 states have call predecessors, (13), 8 states have return successors, (11), 9 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-15 07:38:45,934 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:38:45,934 INFO L93 Difference]: Finished difference Result 79 states and 88 transitions. [2022-04-15 07:38:45,934 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 88 transitions. [2022-04-15 07:38:45,934 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:38:45,934 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:38:45,935 INFO L74 IsIncluded]: Start isIncluded. First operand has 76 states, 54 states have (on average 1.1111111111111112) internal successors, (60), 57 states have internal predecessors, (60), 13 states have call successors, (13), 9 states have call predecessors, (13), 8 states have return successors, (11), 9 states have call predecessors, (11), 11 states have call successors, (11) Second operand 79 states. [2022-04-15 07:38:45,935 INFO L87 Difference]: Start difference. First operand has 76 states, 54 states have (on average 1.1111111111111112) internal successors, (60), 57 states have internal predecessors, (60), 13 states have call successors, (13), 9 states have call predecessors, (13), 8 states have return successors, (11), 9 states have call predecessors, (11), 11 states have call successors, (11) Second operand 79 states. [2022-04-15 07:38:45,936 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:38:45,936 INFO L93 Difference]: Finished difference Result 79 states and 88 transitions. [2022-04-15 07:38:45,936 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 88 transitions. [2022-04-15 07:38:45,936 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:38:45,936 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:38:45,936 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:38:45,936 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:38:45,936 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 76 states, 54 states have (on average 1.1111111111111112) internal successors, (60), 57 states have internal predecessors, (60), 13 states have call successors, (13), 9 states have call predecessors, (13), 8 states have return successors, (11), 9 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-15 07:38:45,937 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 76 states to 76 states and 84 transitions. [2022-04-15 07:38:45,938 INFO L78 Accepts]: Start accepts. Automaton has 76 states and 84 transitions. Word has length 48 [2022-04-15 07:38:45,938 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:38:45,938 INFO L478 AbstractCegarLoop]: Abstraction has 76 states and 84 transitions. [2022-04-15 07:38:45,938 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:38:45,938 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 76 states and 84 transitions. [2022-04-15 07:38:46,081 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:38:46,081 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 84 transitions. [2022-04-15 07:38:46,082 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 49 [2022-04-15 07:38:46,082 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:38:46,082 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:38:46,098 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Ended with exit code 0 [2022-04-15 07:38:46,293 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:38:46,293 INFO L403 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:38:46,293 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:38:46,293 INFO L85 PathProgramCache]: Analyzing trace with hash -1154259258, now seen corresponding path program 3 times [2022-04-15 07:38:46,293 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:38:46,293 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [282344998] [2022-04-15 07:38:46,294 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 07:38:46,294 INFO L85 PathProgramCache]: Analyzing trace with hash -1154259258, now seen corresponding path program 4 times [2022-04-15 07:38:46,294 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:38:46,294 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [276808671] [2022-04-15 07:38:46,294 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:38:46,294 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:38:46,320 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:38:46,320 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [965859342] [2022-04-15 07:38:46,320 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 07:38:46,321 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:38:46,321 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:38:46,322 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:38:46,324 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:38:46,361 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 07:38:46,361 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:38:46,362 INFO L263 TraceCheckSpWp]: Trace formula consists of 101 conjuncts, 35 conjunts are in the unsatisfiable core [2022-04-15 07:38:46,371 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:38:46,374 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:38:46,837 INFO L272 TraceCheckUtils]: 0: Hoare triple {5718#true} call ULTIMATE.init(); {5718#true} is VALID [2022-04-15 07:38:46,838 INFO L290 TraceCheckUtils]: 1: Hoare triple {5718#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); {5718#true} is VALID [2022-04-15 07:38:46,838 INFO L290 TraceCheckUtils]: 2: Hoare triple {5718#true} assume true; {5718#true} is VALID [2022-04-15 07:38:46,838 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5718#true} {5718#true} #69#return; {5718#true} is VALID [2022-04-15 07:38:46,838 INFO L272 TraceCheckUtils]: 4: Hoare triple {5718#true} call #t~ret8 := main(); {5718#true} is VALID [2022-04-15 07:38:46,838 INFO L290 TraceCheckUtils]: 5: Hoare triple {5718#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; {5718#true} is VALID [2022-04-15 07:38:46,838 INFO L272 TraceCheckUtils]: 6: Hoare triple {5718#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {5718#true} is VALID [2022-04-15 07:38:46,838 INFO L290 TraceCheckUtils]: 7: Hoare triple {5718#true} ~cond := #in~cond; {5718#true} is VALID [2022-04-15 07:38:46,838 INFO L290 TraceCheckUtils]: 8: Hoare triple {5718#true} assume !(0 == ~cond); {5718#true} is VALID [2022-04-15 07:38:46,838 INFO L290 TraceCheckUtils]: 9: Hoare triple {5718#true} assume true; {5718#true} is VALID [2022-04-15 07:38:46,838 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5718#true} {5718#true} #61#return; {5718#true} is VALID [2022-04-15 07:38:46,838 INFO L290 TraceCheckUtils]: 11: Hoare triple {5718#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {5718#true} is VALID [2022-04-15 07:38:46,838 INFO L272 TraceCheckUtils]: 12: Hoare triple {5718#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {5718#true} is VALID [2022-04-15 07:38:46,838 INFO L290 TraceCheckUtils]: 13: Hoare triple {5718#true} ~cond := #in~cond; {5718#true} is VALID [2022-04-15 07:38:46,838 INFO L290 TraceCheckUtils]: 14: Hoare triple {5718#true} assume !(0 == ~cond); {5718#true} is VALID [2022-04-15 07:38:46,838 INFO L290 TraceCheckUtils]: 15: Hoare triple {5718#true} assume true; {5718#true} is VALID [2022-04-15 07:38:46,839 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5718#true} {5718#true} #63#return; {5718#true} is VALID [2022-04-15 07:38:46,839 INFO L290 TraceCheckUtils]: 17: Hoare triple {5718#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {5774#(and (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-15 07:38:46,839 INFO L290 TraceCheckUtils]: 18: Hoare triple {5774#(and (= main_~x~0 0) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5774#(and (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-15 07:38:46,839 INFO L272 TraceCheckUtils]: 19: Hoare triple {5774#(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)); {5718#true} is VALID [2022-04-15 07:38:46,839 INFO L290 TraceCheckUtils]: 20: Hoare triple {5718#true} ~cond := #in~cond; {5718#true} is VALID [2022-04-15 07:38:46,839 INFO L290 TraceCheckUtils]: 21: Hoare triple {5718#true} assume !(0 == ~cond); {5718#true} is VALID [2022-04-15 07:38:46,839 INFO L290 TraceCheckUtils]: 22: Hoare triple {5718#true} assume true; {5718#true} is VALID [2022-04-15 07:38:46,840 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {5718#true} {5774#(and (= main_~x~0 0) (= main_~y~0 0))} #65#return; {5774#(and (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-15 07:38:46,840 INFO L290 TraceCheckUtils]: 24: Hoare triple {5774#(and (= main_~x~0 0) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {5774#(and (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-15 07:38:46,841 INFO L290 TraceCheckUtils]: 25: Hoare triple {5774#(and (= 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; {5799#(and (= main_~x~0 0) (= main_~y~0 1))} is VALID [2022-04-15 07:38:46,841 INFO L290 TraceCheckUtils]: 26: Hoare triple {5799#(and (= main_~x~0 0) (= main_~y~0 1))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {5803#(and (= main_~y~0 1) (= main_~x~0 1))} is VALID [2022-04-15 07:38:46,841 INFO L290 TraceCheckUtils]: 27: Hoare triple {5803#(and (= main_~y~0 1) (= main_~x~0 1))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5803#(and (= main_~y~0 1) (= main_~x~0 1))} is VALID [2022-04-15 07:38:46,841 INFO L272 TraceCheckUtils]: 28: Hoare triple {5803#(and (= main_~y~0 1) (= main_~x~0 1))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {5718#true} is VALID [2022-04-15 07:38:46,842 INFO L290 TraceCheckUtils]: 29: Hoare triple {5718#true} ~cond := #in~cond; {5813#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:38:46,842 INFO L290 TraceCheckUtils]: 30: Hoare triple {5813#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {5817#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:38:46,842 INFO L290 TraceCheckUtils]: 31: Hoare triple {5817#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {5817#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:38:46,843 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {5817#(not (= |__VERIFIER_assert_#in~cond| 0))} {5803#(and (= main_~y~0 1) (= main_~x~0 1))} #65#return; {5803#(and (= main_~y~0 1) (= main_~x~0 1))} is VALID [2022-04-15 07:38:46,843 INFO L290 TraceCheckUtils]: 33: Hoare triple {5803#(and (= main_~y~0 1) (= main_~x~0 1))} assume !!(~x~0 <= ~X~0); {5827#(and (<= main_~x~0 main_~X~0) (= main_~y~0 1) (= main_~x~0 1))} is VALID [2022-04-15 07:38:46,843 INFO L290 TraceCheckUtils]: 34: Hoare triple {5827#(and (<= main_~x~0 main_~X~0) (= main_~y~0 1) (= 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; {5831#(and (<= main_~x~0 main_~X~0) (= (+ (- 1) main_~y~0) 1) (= main_~x~0 1))} is VALID [2022-04-15 07:38:46,844 INFO L290 TraceCheckUtils]: 35: Hoare triple {5831#(and (<= main_~x~0 main_~X~0) (= (+ (- 1) main_~y~0) 1) (= main_~x~0 1))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {5835#(and (= (+ (- 1) main_~x~0) 1) (= (+ (- 1) main_~y~0) 1) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-15 07:38:46,844 INFO L290 TraceCheckUtils]: 36: Hoare triple {5835#(and (= (+ (- 1) main_~x~0) 1) (= (+ (- 1) main_~y~0) 1) (<= main_~x~0 (+ main_~X~0 1)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5839#(and (= (+ (- 1) main_~x~0) 1) (= (+ (- 1) main_~y~0) 1) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-15 07:38:46,844 INFO L272 TraceCheckUtils]: 37: Hoare triple {5839#(and (= (+ (- 1) main_~x~0) 1) (= (+ (- 1) main_~y~0) 1) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= main_~x~0 (+ main_~X~0 1)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {5718#true} is VALID [2022-04-15 07:38:46,844 INFO L290 TraceCheckUtils]: 38: Hoare triple {5718#true} ~cond := #in~cond; {5813#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:38:46,845 INFO L290 TraceCheckUtils]: 39: Hoare triple {5813#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {5817#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:38:46,845 INFO L290 TraceCheckUtils]: 40: Hoare triple {5817#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {5817#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:38:46,846 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {5817#(not (= |__VERIFIER_assert_#in~cond| 0))} {5839#(and (= (+ (- 1) main_~x~0) 1) (= (+ (- 1) main_~y~0) 1) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= main_~x~0 (+ main_~X~0 1)))} #65#return; {5855#(and (= (+ (- 1) main_~x~0) 1) (= (+ (- 1) main_~y~0) 1) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-15 07:38:46,847 INFO L290 TraceCheckUtils]: 42: Hoare triple {5855#(and (= (+ (- 1) main_~x~0) 1) (= (+ (- 1) main_~y~0) 1) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= main_~x~0 (+ main_~X~0 1)))} assume !(~x~0 <= ~X~0); {5859#(and (= (+ (- 1) main_~x~0) 1) (= (+ (- 1) main_~y~0) 1) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (<= main_~x~0 main_~X~0)) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-15 07:38:46,847 INFO L290 TraceCheckUtils]: 43: Hoare triple {5859#(and (= (+ (- 1) main_~x~0) 1) (= (+ (- 1) main_~y~0) 1) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (<= main_~x~0 main_~X~0)) (<= main_~x~0 (+ main_~X~0 1)))} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {5863#(and (= (* main_~y~0 2) main_~xy~0) (= (+ (- 1) main_~y~0) 1) (= (* main_~Y~0 2) main_~yx~0) (<= 1 main_~X~0) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (* main_~Y~0 6)) (not (<= 2 main_~X~0)))} is VALID [2022-04-15 07:38:46,848 INFO L272 TraceCheckUtils]: 44: Hoare triple {5863#(and (= (* main_~y~0 2) main_~xy~0) (= (+ (- 1) main_~y~0) 1) (= (* main_~Y~0 2) main_~yx~0) (<= 1 main_~X~0) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (* main_~Y~0 6)) (not (<= 2 main_~X~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 + 2 * ~y~0 then 1 else 0)); {5867#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 07:38:46,849 INFO L290 TraceCheckUtils]: 45: Hoare triple {5867#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5871#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:38:46,849 INFO L290 TraceCheckUtils]: 46: Hoare triple {5871#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5719#false} is VALID [2022-04-15 07:38:46,849 INFO L290 TraceCheckUtils]: 47: Hoare triple {5719#false} assume !false; {5719#false} is VALID [2022-04-15 07:38:46,849 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:38:46,849 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:38:47,421 INFO L290 TraceCheckUtils]: 47: Hoare triple {5719#false} assume !false; {5719#false} is VALID [2022-04-15 07:38:47,422 INFO L290 TraceCheckUtils]: 46: Hoare triple {5871#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5719#false} is VALID [2022-04-15 07:38:47,422 INFO L290 TraceCheckUtils]: 45: Hoare triple {5867#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5871#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:38:47,423 INFO L272 TraceCheckUtils]: 44: Hoare triple {5887#(= (+ (* 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)); {5867#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 07:38:47,424 INFO L290 TraceCheckUtils]: 43: Hoare triple {5891#(= (+ (* 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; {5887#(= (+ (* 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:38:47,424 INFO L290 TraceCheckUtils]: 42: Hoare triple {5895#(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); {5891#(= (+ (* 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:38:47,425 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {5817#(not (= |__VERIFIER_assert_#in~cond| 0))} {5899#(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; {5895#(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:38:47,426 INFO L290 TraceCheckUtils]: 40: Hoare triple {5817#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {5817#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:38:47,426 INFO L290 TraceCheckUtils]: 39: Hoare triple {5909#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {5817#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:38:47,426 INFO L290 TraceCheckUtils]: 38: Hoare triple {5718#true} ~cond := #in~cond; {5909#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 07:38:47,426 INFO L272 TraceCheckUtils]: 37: Hoare triple {5899#(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)); {5718#true} is VALID [2022-04-15 07:38:47,427 INFO L290 TraceCheckUtils]: 36: Hoare triple {5916#(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; {5899#(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:38:47,429 INFO L290 TraceCheckUtils]: 35: Hoare triple {5920#(or (<= (+ main_~x~0 1) main_~X~0) (= (+ (* (* (+ main_~x~0 1) main_~y~0) 2) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* 2 (* (+ main_~x~0 1) main_~Y~0))) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {5916#(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:38:47,430 INFO L290 TraceCheckUtils]: 34: Hoare triple {5924#(or (= (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)) (* 2 (* (+ main_~x~0 1) (+ main_~y~0 1))) (* (* main_~X~0 (+ main_~y~0 1)) (- 2))) (+ 2 (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (<= (+ main_~x~0 1) main_~X~0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {5920#(or (<= (+ main_~x~0 1) main_~X~0) (= (+ (* (* (+ main_~x~0 1) main_~y~0) 2) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* 2 (* (+ main_~x~0 1) main_~Y~0))) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} is VALID [2022-04-15 07:38:47,432 INFO L290 TraceCheckUtils]: 33: Hoare triple {5718#true} assume !!(~x~0 <= ~X~0); {5924#(or (= (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)) (* 2 (* (+ main_~x~0 1) (+ main_~y~0 1))) (* (* main_~X~0 (+ main_~y~0 1)) (- 2))) (+ 2 (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-15 07:38:47,432 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {5718#true} {5718#true} #65#return; {5718#true} is VALID [2022-04-15 07:38:47,432 INFO L290 TraceCheckUtils]: 31: Hoare triple {5718#true} assume true; {5718#true} is VALID [2022-04-15 07:38:47,432 INFO L290 TraceCheckUtils]: 30: Hoare triple {5718#true} assume !(0 == ~cond); {5718#true} is VALID [2022-04-15 07:38:47,432 INFO L290 TraceCheckUtils]: 29: Hoare triple {5718#true} ~cond := #in~cond; {5718#true} is VALID [2022-04-15 07:38:47,432 INFO L272 TraceCheckUtils]: 28: Hoare triple {5718#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {5718#true} is VALID [2022-04-15 07:38:47,432 INFO L290 TraceCheckUtils]: 27: Hoare triple {5718#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5718#true} is VALID [2022-04-15 07:38:47,432 INFO L290 TraceCheckUtils]: 26: Hoare triple {5718#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {5718#true} is VALID [2022-04-15 07:38:47,432 INFO L290 TraceCheckUtils]: 25: Hoare triple {5718#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; {5718#true} is VALID [2022-04-15 07:38:47,432 INFO L290 TraceCheckUtils]: 24: Hoare triple {5718#true} assume !!(~x~0 <= ~X~0); {5718#true} is VALID [2022-04-15 07:38:47,432 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {5718#true} {5718#true} #65#return; {5718#true} is VALID [2022-04-15 07:38:47,432 INFO L290 TraceCheckUtils]: 22: Hoare triple {5718#true} assume true; {5718#true} is VALID [2022-04-15 07:38:47,432 INFO L290 TraceCheckUtils]: 21: Hoare triple {5718#true} assume !(0 == ~cond); {5718#true} is VALID [2022-04-15 07:38:47,432 INFO L290 TraceCheckUtils]: 20: Hoare triple {5718#true} ~cond := #in~cond; {5718#true} is VALID [2022-04-15 07:38:47,432 INFO L272 TraceCheckUtils]: 19: Hoare triple {5718#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {5718#true} is VALID [2022-04-15 07:38:47,432 INFO L290 TraceCheckUtils]: 18: Hoare triple {5718#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5718#true} is VALID [2022-04-15 07:38:47,432 INFO L290 TraceCheckUtils]: 17: Hoare triple {5718#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {5718#true} is VALID [2022-04-15 07:38:47,433 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5718#true} {5718#true} #63#return; {5718#true} is VALID [2022-04-15 07:38:47,433 INFO L290 TraceCheckUtils]: 15: Hoare triple {5718#true} assume true; {5718#true} is VALID [2022-04-15 07:38:47,433 INFO L290 TraceCheckUtils]: 14: Hoare triple {5718#true} assume !(0 == ~cond); {5718#true} is VALID [2022-04-15 07:38:47,433 INFO L290 TraceCheckUtils]: 13: Hoare triple {5718#true} ~cond := #in~cond; {5718#true} is VALID [2022-04-15 07:38:47,433 INFO L272 TraceCheckUtils]: 12: Hoare triple {5718#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {5718#true} is VALID [2022-04-15 07:38:47,433 INFO L290 TraceCheckUtils]: 11: Hoare triple {5718#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {5718#true} is VALID [2022-04-15 07:38:47,433 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5718#true} {5718#true} #61#return; {5718#true} is VALID [2022-04-15 07:38:47,433 INFO L290 TraceCheckUtils]: 9: Hoare triple {5718#true} assume true; {5718#true} is VALID [2022-04-15 07:38:47,433 INFO L290 TraceCheckUtils]: 8: Hoare triple {5718#true} assume !(0 == ~cond); {5718#true} is VALID [2022-04-15 07:38:47,433 INFO L290 TraceCheckUtils]: 7: Hoare triple {5718#true} ~cond := #in~cond; {5718#true} is VALID [2022-04-15 07:38:47,433 INFO L272 TraceCheckUtils]: 6: Hoare triple {5718#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {5718#true} is VALID [2022-04-15 07:38:47,433 INFO L290 TraceCheckUtils]: 5: Hoare triple {5718#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; {5718#true} is VALID [2022-04-15 07:38:47,433 INFO L272 TraceCheckUtils]: 4: Hoare triple {5718#true} call #t~ret8 := main(); {5718#true} is VALID [2022-04-15 07:38:47,433 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5718#true} {5718#true} #69#return; {5718#true} is VALID [2022-04-15 07:38:47,433 INFO L290 TraceCheckUtils]: 2: Hoare triple {5718#true} assume true; {5718#true} is VALID [2022-04-15 07:38:47,433 INFO L290 TraceCheckUtils]: 1: Hoare triple {5718#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); {5718#true} is VALID [2022-04-15 07:38:47,433 INFO L272 TraceCheckUtils]: 0: Hoare triple {5718#true} call ULTIMATE.init(); {5718#true} is VALID [2022-04-15 07:38:47,434 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:38:47,434 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:38:47,434 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [276808671] [2022-04-15 07:38:47,434 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 07:38:47,434 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [965859342] [2022-04-15 07:38:47,434 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [965859342] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:38:47,434 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 07:38:47,434 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 13] total 24 [2022-04-15 07:38:47,434 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:38:47,434 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [282344998] [2022-04-15 07:38:47,434 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [282344998] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:38:47,434 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:38:47,434 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [16] imperfect sequences [] total 16 [2022-04-15 07:38:47,434 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [628011322] [2022-04-15 07:38:47,435 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:38:47,435 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 14 states have (on average 2.0) 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:38:47,435 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:38:47,435 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 16 states, 14 states have (on average 2.0) 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:38:47,467 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:38:47,467 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-04-15 07:38:47,467 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:38:47,467 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-04-15 07:38:47,467 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=77, Invalid=475, Unknown=0, NotChecked=0, Total=552 [2022-04-15 07:38:47,468 INFO L87 Difference]: Start difference. First operand 76 states and 84 transitions. Second operand has 16 states, 14 states have (on average 2.0) 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:38:48,414 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:38:48,414 INFO L93 Difference]: Finished difference Result 87 states and 96 transitions. [2022-04-15 07:38:48,414 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-15 07:38:48,414 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 14 states have (on average 2.0) 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:38:48,415 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:38:48,415 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 14 states have (on average 2.0) 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:38:48,415 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 61 transitions. [2022-04-15 07:38:48,415 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 14 states have (on average 2.0) 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:38:48,416 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 61 transitions. [2022-04-15 07:38:48,416 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 61 transitions. [2022-04-15 07:38:48,459 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 61 edges. 61 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:38:48,460 INFO L225 Difference]: With dead ends: 87 [2022-04-15 07:38:48,461 INFO L226 Difference]: Without dead ends: 79 [2022-04-15 07:38:48,461 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 100 GetRequests, 72 SyntacticMatches, 1 SemanticMatches, 27 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 118 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=119, Invalid=693, Unknown=0, NotChecked=0, Total=812 [2022-04-15 07:38:48,461 INFO L913 BasicCegarLoop]: 25 mSDtfsCounter, 20 mSDsluCounter, 186 mSDsCounter, 0 mSdLazyCounter, 320 mSolverCounterSat, 6 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 21 SdHoareTripleChecker+Valid, 211 SdHoareTripleChecker+Invalid, 326 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 320 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-15 07:38:48,461 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [21 Valid, 211 Invalid, 326 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 320 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-15 07:38:48,462 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 79 states. [2022-04-15 07:38:48,556 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 79 to 73. [2022-04-15 07:38:48,557 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:38:48,557 INFO L82 GeneralOperation]: Start isEquivalent. First operand 79 states. Second operand has 73 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 54 states have internal predecessors, (58), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-15 07:38:48,557 INFO L74 IsIncluded]: Start isIncluded. First operand 79 states. Second operand has 73 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 54 states have internal predecessors, (58), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-15 07:38:48,557 INFO L87 Difference]: Start difference. First operand 79 states. Second operand has 73 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 54 states have internal predecessors, (58), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-15 07:38:48,558 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:38:48,558 INFO L93 Difference]: Finished difference Result 79 states and 88 transitions. [2022-04-15 07:38:48,559 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 88 transitions. [2022-04-15 07:38:48,559 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:38:48,559 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:38:48,559 INFO L74 IsIncluded]: Start isIncluded. First operand has 73 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 54 states have internal predecessors, (58), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) Second operand 79 states. [2022-04-15 07:38:48,559 INFO L87 Difference]: Start difference. First operand has 73 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 54 states have internal predecessors, (58), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) Second operand 79 states. [2022-04-15 07:38:48,560 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:38:48,560 INFO L93 Difference]: Finished difference Result 79 states and 88 transitions. [2022-04-15 07:38:48,560 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 88 transitions. [2022-04-15 07:38:48,561 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:38:48,561 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:38:48,561 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:38:48,561 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:38:48,561 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 73 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 54 states have internal predecessors, (58), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-15 07:38:48,562 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 73 states to 73 states and 80 transitions. [2022-04-15 07:38:48,562 INFO L78 Accepts]: Start accepts. Automaton has 73 states and 80 transitions. Word has length 48 [2022-04-15 07:38:48,562 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:38:48,562 INFO L478 AbstractCegarLoop]: Abstraction has 73 states and 80 transitions. [2022-04-15 07:38:48,562 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 16 states, 14 states have (on average 2.0) 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:38:48,562 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 73 states and 80 transitions. [2022-04-15 07:38:48,703 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:38:48,704 INFO L276 IsEmpty]: Start isEmpty. Operand 73 states and 80 transitions. [2022-04-15 07:38:48,704 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2022-04-15 07:38:48,704 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:38:48,704 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:38:48,721 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:38:48,915 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:38:48,915 INFO L403 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:38:48,916 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:38:48,917 INFO L85 PathProgramCache]: Analyzing trace with hash -463038031, now seen corresponding path program 5 times [2022-04-15 07:38:48,917 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:38:48,917 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [893562785] [2022-04-15 07:38:48,917 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 07:38:48,917 INFO L85 PathProgramCache]: Analyzing trace with hash -463038031, now seen corresponding path program 6 times [2022-04-15 07:38:48,917 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:38:48,917 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [640128720] [2022-04-15 07:38:48,917 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:38:48,917 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:38:48,936 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:38:48,937 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [850816706] [2022-04-15 07:38:48,937 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-15 07:38:48,937 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:38:48,937 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:38:48,942 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:38:48,943 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:38:48,981 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) [2022-04-15 07:38:48,981 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:38:48,982 INFO L263 TraceCheckSpWp]: Trace formula consists of 141 conjuncts, 32 conjunts are in the unsatisfiable core [2022-04-15 07:38:48,991 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:38:48,992 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:38:56,179 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 07:38:59,307 INFO L272 TraceCheckUtils]: 0: Hoare triple {6517#true} call ULTIMATE.init(); {6517#true} is VALID [2022-04-15 07:38:59,307 INFO L290 TraceCheckUtils]: 1: Hoare triple {6517#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); {6517#true} is VALID [2022-04-15 07:38:59,307 INFO L290 TraceCheckUtils]: 2: Hoare triple {6517#true} assume true; {6517#true} is VALID [2022-04-15 07:38:59,307 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6517#true} {6517#true} #69#return; {6517#true} is VALID [2022-04-15 07:38:59,307 INFO L272 TraceCheckUtils]: 4: Hoare triple {6517#true} call #t~ret8 := main(); {6517#true} is VALID [2022-04-15 07:38:59,307 INFO L290 TraceCheckUtils]: 5: Hoare triple {6517#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; {6517#true} is VALID [2022-04-15 07:38:59,307 INFO L272 TraceCheckUtils]: 6: Hoare triple {6517#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {6517#true} is VALID [2022-04-15 07:38:59,307 INFO L290 TraceCheckUtils]: 7: Hoare triple {6517#true} ~cond := #in~cond; {6517#true} is VALID [2022-04-15 07:38:59,307 INFO L290 TraceCheckUtils]: 8: Hoare triple {6517#true} assume !(0 == ~cond); {6517#true} is VALID [2022-04-15 07:38:59,307 INFO L290 TraceCheckUtils]: 9: Hoare triple {6517#true} assume true; {6517#true} is VALID [2022-04-15 07:38:59,307 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6517#true} {6517#true} #61#return; {6517#true} is VALID [2022-04-15 07:38:59,308 INFO L290 TraceCheckUtils]: 11: Hoare triple {6517#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {6517#true} is VALID [2022-04-15 07:38:59,308 INFO L272 TraceCheckUtils]: 12: Hoare triple {6517#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {6517#true} is VALID [2022-04-15 07:38:59,308 INFO L290 TraceCheckUtils]: 13: Hoare triple {6517#true} ~cond := #in~cond; {6517#true} is VALID [2022-04-15 07:38:59,308 INFO L290 TraceCheckUtils]: 14: Hoare triple {6517#true} assume !(0 == ~cond); {6517#true} is VALID [2022-04-15 07:38:59,308 INFO L290 TraceCheckUtils]: 15: Hoare triple {6517#true} assume true; {6517#true} is VALID [2022-04-15 07:38:59,308 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6517#true} {6517#true} #63#return; {6517#true} is VALID [2022-04-15 07:38:59,308 INFO L290 TraceCheckUtils]: 17: Hoare triple {6517#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {6573#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-15 07:38:59,308 INFO L290 TraceCheckUtils]: 18: Hoare triple {6573#(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; {6573#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-15 07:38:59,309 INFO L272 TraceCheckUtils]: 19: Hoare triple {6573#(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)); {6517#true} is VALID [2022-04-15 07:38:59,309 INFO L290 TraceCheckUtils]: 20: Hoare triple {6517#true} ~cond := #in~cond; {6517#true} is VALID [2022-04-15 07:38:59,309 INFO L290 TraceCheckUtils]: 21: Hoare triple {6517#true} assume !(0 == ~cond); {6517#true} is VALID [2022-04-15 07:38:59,309 INFO L290 TraceCheckUtils]: 22: Hoare triple {6517#true} assume true; {6517#true} is VALID [2022-04-15 07:38:59,309 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {6517#true} {6573#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} #65#return; {6573#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-15 07:38:59,310 INFO L290 TraceCheckUtils]: 24: Hoare triple {6573#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {6573#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-15 07:38:59,310 INFO L290 TraceCheckUtils]: 25: Hoare triple {6573#(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; {6598#(and (= main_~y~0 0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} is VALID [2022-04-15 07:38:59,310 INFO L290 TraceCheckUtils]: 26: Hoare triple {6598#(and (= main_~y~0 0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {6598#(and (= main_~y~0 0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} is VALID [2022-04-15 07:38:59,311 INFO L290 TraceCheckUtils]: 27: Hoare triple {6598#(and (= main_~y~0 0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6598#(and (= main_~y~0 0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} is VALID [2022-04-15 07:38:59,311 INFO L272 TraceCheckUtils]: 28: Hoare triple {6598#(and (= main_~y~0 0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {6517#true} is VALID [2022-04-15 07:38:59,311 INFO L290 TraceCheckUtils]: 29: Hoare triple {6517#true} ~cond := #in~cond; {6517#true} is VALID [2022-04-15 07:38:59,311 INFO L290 TraceCheckUtils]: 30: Hoare triple {6517#true} assume !(0 == ~cond); {6517#true} is VALID [2022-04-15 07:38:59,311 INFO L290 TraceCheckUtils]: 31: Hoare triple {6517#true} assume true; {6517#true} is VALID [2022-04-15 07:38:59,312 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {6517#true} {6598#(and (= main_~y~0 0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} #65#return; {6598#(and (= main_~y~0 0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} is VALID [2022-04-15 07:38:59,312 INFO L290 TraceCheckUtils]: 33: Hoare triple {6598#(and (= main_~y~0 0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} assume !!(~x~0 <= ~X~0); {6598#(and (= main_~y~0 0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} is VALID [2022-04-15 07:38:59,312 INFO L290 TraceCheckUtils]: 34: Hoare triple {6598#(and (= main_~y~0 0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {6626#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-15 07:38:59,313 INFO L290 TraceCheckUtils]: 35: Hoare triple {6626#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~0) (= main_~y~0 0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {6626#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-15 07:38:59,313 INFO L290 TraceCheckUtils]: 36: Hoare triple {6626#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~0) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6633#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~0) (= (* 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:38:59,313 INFO L272 TraceCheckUtils]: 37: Hoare triple {6633#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~0) (= (* 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)); {6517#true} is VALID [2022-04-15 07:38:59,314 INFO L290 TraceCheckUtils]: 38: Hoare triple {6517#true} ~cond := #in~cond; {6640#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:38:59,314 INFO L290 TraceCheckUtils]: 39: Hoare triple {6640#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {6644#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:38:59,314 INFO L290 TraceCheckUtils]: 40: Hoare triple {6644#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6644#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:38:59,315 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {6644#(not (= |__VERIFIER_assert_#in~cond| 0))} {6633#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} #65#return; {6651#(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 0))} is VALID [2022-04-15 07:38:59,315 INFO L290 TraceCheckUtils]: 42: Hoare triple {6651#(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 0))} assume !!(~x~0 <= ~X~0); {6651#(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 0))} is VALID [2022-04-15 07:38:59,316 INFO L290 TraceCheckUtils]: 43: Hoare triple {6651#(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 0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {6658#(and (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) (* main_~Y~0 6))) (= main_~y~0 0) (= main_~v~0 (+ (* main_~Y~0 8) (* (- 1) main_~X~0))))} is VALID [2022-04-15 07:38:59,318 INFO L290 TraceCheckUtils]: 44: Hoare triple {6658#(and (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) (* main_~Y~0 6))) (= main_~y~0 0) (= main_~v~0 (+ (* main_~Y~0 8) (* (- 1) main_~X~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {6662#(and (= main_~y~0 0) (= (+ (* main_~Y~0 2) (* 2 (* (+ (- 1) main_~x~0) main_~Y~0))) (+ (* (* main_~X~0 main_~y~0) 2) (* main_~Y~0 6))) (= main_~v~0 (+ (* main_~Y~0 8) (* (- 1) main_~X~0))))} is VALID [2022-04-15 07:38:59,319 INFO L290 TraceCheckUtils]: 45: Hoare triple {6662#(and (= main_~y~0 0) (= (+ (* main_~Y~0 2) (* 2 (* (+ (- 1) main_~x~0) main_~Y~0))) (+ (* (* main_~X~0 main_~y~0) 2) (* main_~Y~0 6))) (= main_~v~0 (+ (* main_~Y~0 8) (* (- 1) main_~X~0))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6666#(and (= main_~xy~0 0) (= (* main_~Y~0 (div (* main_~Y~0 3) main_~Y~0)) main_~yx~0) (= main_~v~0 (+ (* main_~Y~0 8) (* (- 1) main_~X~0))))} is VALID [2022-04-15 07:38:59,322 INFO L272 TraceCheckUtils]: 46: Hoare triple {6666#(and (= main_~xy~0 0) (= (* main_~Y~0 (div (* main_~Y~0 3) main_~Y~0)) main_~yx~0) (= main_~v~0 (+ (* main_~Y~0 8) (* (- 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)); {6670#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 07:38:59,322 INFO L290 TraceCheckUtils]: 47: Hoare triple {6670#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6674#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:38:59,322 INFO L290 TraceCheckUtils]: 48: Hoare triple {6674#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6518#false} is VALID [2022-04-15 07:38:59,323 INFO L290 TraceCheckUtils]: 49: Hoare triple {6518#false} assume !false; {6518#false} is VALID [2022-04-15 07:38:59,323 INFO L134 CoverageAnalysis]: Checked inductivity of 43 backedges. 11 proven. 22 refuted. 0 times theorem prover too weak. 10 trivial. 0 not checked. [2022-04-15 07:38:59,323 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:39:02,231 INFO L290 TraceCheckUtils]: 49: Hoare triple {6518#false} assume !false; {6518#false} is VALID [2022-04-15 07:39:02,232 INFO L290 TraceCheckUtils]: 48: Hoare triple {6674#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6518#false} is VALID [2022-04-15 07:39:02,232 INFO L290 TraceCheckUtils]: 47: Hoare triple {6670#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6674#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:39:02,233 INFO L272 TraceCheckUtils]: 46: Hoare triple {6690#(= (+ (* 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)); {6670#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 07:39:02,234 INFO L290 TraceCheckUtils]: 45: Hoare triple {6694#(= (+ (* 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; {6690#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-15 07:39:02,243 INFO L290 TraceCheckUtils]: 44: Hoare triple {6698#(= (+ (* (* 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; {6694#(= (+ (* 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:39:02,244 INFO L290 TraceCheckUtils]: 43: Hoare triple {6694#(= (+ (* 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; {6698#(= (+ (* (* 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:39:02,244 INFO L290 TraceCheckUtils]: 42: Hoare triple {6694#(= (+ (* 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); {6694#(= (+ (* 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:39:02,245 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {6644#(not (= |__VERIFIER_assert_#in~cond| 0))} {6708#(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; {6694#(= (+ (* 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:39:02,245 INFO L290 TraceCheckUtils]: 40: Hoare triple {6644#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6644#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:39:02,245 INFO L290 TraceCheckUtils]: 39: Hoare triple {6718#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {6644#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:39:02,246 INFO L290 TraceCheckUtils]: 38: Hoare triple {6517#true} ~cond := #in~cond; {6718#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 07:39:02,246 INFO L272 TraceCheckUtils]: 37: Hoare triple {6708#(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)); {6517#true} is VALID [2022-04-15 07:39:02,247 INFO L290 TraceCheckUtils]: 36: Hoare triple {6517#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6708#(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:39:02,247 INFO L290 TraceCheckUtils]: 35: Hoare triple {6517#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {6517#true} is VALID [2022-04-15 07:39:02,247 INFO L290 TraceCheckUtils]: 34: Hoare triple {6517#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {6517#true} is VALID [2022-04-15 07:39:02,247 INFO L290 TraceCheckUtils]: 33: Hoare triple {6517#true} assume !!(~x~0 <= ~X~0); {6517#true} is VALID [2022-04-15 07:39:02,247 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {6517#true} {6517#true} #65#return; {6517#true} is VALID [2022-04-15 07:39:02,247 INFO L290 TraceCheckUtils]: 31: Hoare triple {6517#true} assume true; {6517#true} is VALID [2022-04-15 07:39:02,247 INFO L290 TraceCheckUtils]: 30: Hoare triple {6517#true} assume !(0 == ~cond); {6517#true} is VALID [2022-04-15 07:39:02,247 INFO L290 TraceCheckUtils]: 29: Hoare triple {6517#true} ~cond := #in~cond; {6517#true} is VALID [2022-04-15 07:39:02,247 INFO L272 TraceCheckUtils]: 28: Hoare triple {6517#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {6517#true} is VALID [2022-04-15 07:39:02,247 INFO L290 TraceCheckUtils]: 27: Hoare triple {6517#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6517#true} is VALID [2022-04-15 07:39:02,247 INFO L290 TraceCheckUtils]: 26: Hoare triple {6517#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {6517#true} is VALID [2022-04-15 07:39:02,247 INFO L290 TraceCheckUtils]: 25: Hoare triple {6517#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {6517#true} is VALID [2022-04-15 07:39:02,247 INFO L290 TraceCheckUtils]: 24: Hoare triple {6517#true} assume !!(~x~0 <= ~X~0); {6517#true} is VALID [2022-04-15 07:39:02,247 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {6517#true} {6517#true} #65#return; {6517#true} is VALID [2022-04-15 07:39:02,247 INFO L290 TraceCheckUtils]: 22: Hoare triple {6517#true} assume true; {6517#true} is VALID [2022-04-15 07:39:02,247 INFO L290 TraceCheckUtils]: 21: Hoare triple {6517#true} assume !(0 == ~cond); {6517#true} is VALID [2022-04-15 07:39:02,247 INFO L290 TraceCheckUtils]: 20: Hoare triple {6517#true} ~cond := #in~cond; {6517#true} is VALID [2022-04-15 07:39:02,248 INFO L272 TraceCheckUtils]: 19: Hoare triple {6517#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {6517#true} is VALID [2022-04-15 07:39:02,248 INFO L290 TraceCheckUtils]: 18: Hoare triple {6517#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6517#true} is VALID [2022-04-15 07:39:02,248 INFO L290 TraceCheckUtils]: 17: Hoare triple {6517#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {6517#true} is VALID [2022-04-15 07:39:02,248 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6517#true} {6517#true} #63#return; {6517#true} is VALID [2022-04-15 07:39:02,248 INFO L290 TraceCheckUtils]: 15: Hoare triple {6517#true} assume true; {6517#true} is VALID [2022-04-15 07:39:02,248 INFO L290 TraceCheckUtils]: 14: Hoare triple {6517#true} assume !(0 == ~cond); {6517#true} is VALID [2022-04-15 07:39:02,248 INFO L290 TraceCheckUtils]: 13: Hoare triple {6517#true} ~cond := #in~cond; {6517#true} is VALID [2022-04-15 07:39:02,248 INFO L272 TraceCheckUtils]: 12: Hoare triple {6517#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {6517#true} is VALID [2022-04-15 07:39:02,248 INFO L290 TraceCheckUtils]: 11: Hoare triple {6517#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {6517#true} is VALID [2022-04-15 07:39:02,248 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6517#true} {6517#true} #61#return; {6517#true} is VALID [2022-04-15 07:39:02,248 INFO L290 TraceCheckUtils]: 9: Hoare triple {6517#true} assume true; {6517#true} is VALID [2022-04-15 07:39:02,248 INFO L290 TraceCheckUtils]: 8: Hoare triple {6517#true} assume !(0 == ~cond); {6517#true} is VALID [2022-04-15 07:39:02,248 INFO L290 TraceCheckUtils]: 7: Hoare triple {6517#true} ~cond := #in~cond; {6517#true} is VALID [2022-04-15 07:39:02,248 INFO L272 TraceCheckUtils]: 6: Hoare triple {6517#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {6517#true} is VALID [2022-04-15 07:39:02,248 INFO L290 TraceCheckUtils]: 5: Hoare triple {6517#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; {6517#true} is VALID [2022-04-15 07:39:02,248 INFO L272 TraceCheckUtils]: 4: Hoare triple {6517#true} call #t~ret8 := main(); {6517#true} is VALID [2022-04-15 07:39:02,248 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6517#true} {6517#true} #69#return; {6517#true} is VALID [2022-04-15 07:39:02,249 INFO L290 TraceCheckUtils]: 2: Hoare triple {6517#true} assume true; {6517#true} is VALID [2022-04-15 07:39:02,249 INFO L290 TraceCheckUtils]: 1: Hoare triple {6517#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); {6517#true} is VALID [2022-04-15 07:39:02,249 INFO L272 TraceCheckUtils]: 0: Hoare triple {6517#true} call ULTIMATE.init(); {6517#true} is VALID [2022-04-15 07:39:02,249 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:39:02,249 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:39:02,249 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [640128720] [2022-04-15 07:39:02,249 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 07:39:02,249 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [850816706] [2022-04-15 07:39:02,249 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [850816706] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:39:02,249 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 07:39:02,250 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 10] total 19 [2022-04-15 07:39:02,250 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:39:02,250 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [893562785] [2022-04-15 07:39:02,250 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [893562785] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:39:02,250 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:39:02,250 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-15 07:39:02,250 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1156696155] [2022-04-15 07:39:02,250 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:39:02,251 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:39:02,251 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:39:02,251 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:39:02,290 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:39:02,291 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-15 07:39:02,291 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:39:02,291 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-15 07:39:02,291 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=49, Invalid=293, Unknown=0, NotChecked=0, Total=342 [2022-04-15 07:39:02,291 INFO L87 Difference]: Start difference. First operand 73 states and 80 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:39:03,653 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:39:03,653 INFO L93 Difference]: Finished difference Result 88 states and 98 transitions. [2022-04-15 07:39:03,653 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-15 07:39:03,653 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:39:03,653 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:39:03,654 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:39:03,654 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 65 transitions. [2022-04-15 07:39:03,654 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:39:03,655 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 65 transitions. [2022-04-15 07:39:03,655 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 65 transitions. [2022-04-15 07:39:03,711 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:39:03,712 INFO L225 Difference]: With dead ends: 88 [2022-04-15 07:39:03,712 INFO L226 Difference]: Without dead ends: 84 [2022-04-15 07:39:03,713 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 103 GetRequests, 80 SyntacticMatches, 2 SemanticMatches, 21 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 59 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=77, Invalid=429, Unknown=0, NotChecked=0, Total=506 [2022-04-15 07:39:03,713 INFO L913 BasicCegarLoop]: 29 mSDtfsCounter, 18 mSDsluCounter, 153 mSDsCounter, 0 mSdLazyCounter, 352 mSolverCounterSat, 8 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 19 SdHoareTripleChecker+Valid, 182 SdHoareTripleChecker+Invalid, 360 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 8 IncrementalHoareTripleChecker+Valid, 352 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.6s IncrementalHoareTripleChecker+Time [2022-04-15 07:39:03,713 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [19 Valid, 182 Invalid, 360 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [8 Valid, 352 Invalid, 0 Unknown, 0 Unchecked, 0.6s Time] [2022-04-15 07:39:03,713 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 84 states. [2022-04-15 07:39:03,821 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 84 to 75. [2022-04-15 07:39:03,821 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:39:03,821 INFO L82 GeneralOperation]: Start isEquivalent. First operand 84 states. Second operand has 75 states, 54 states have (on average 1.1296296296296295) internal successors, (61), 55 states have internal predecessors, (61), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-15 07:39:03,822 INFO L74 IsIncluded]: Start isIncluded. First operand 84 states. Second operand has 75 states, 54 states have (on average 1.1296296296296295) internal successors, (61), 55 states have internal predecessors, (61), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-15 07:39:03,822 INFO L87 Difference]: Start difference. First operand 84 states. Second operand has 75 states, 54 states have (on average 1.1296296296296295) internal successors, (61), 55 states have internal predecessors, (61), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-15 07:39:03,823 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:39:03,823 INFO L93 Difference]: Finished difference Result 84 states and 93 transitions. [2022-04-15 07:39:03,823 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 93 transitions. [2022-04-15 07:39:03,823 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:39:03,823 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:39:03,824 INFO L74 IsIncluded]: Start isIncluded. First operand has 75 states, 54 states have (on average 1.1296296296296295) internal successors, (61), 55 states have internal predecessors, (61), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 84 states. [2022-04-15 07:39:03,824 INFO L87 Difference]: Start difference. First operand has 75 states, 54 states have (on average 1.1296296296296295) internal successors, (61), 55 states have internal predecessors, (61), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 84 states. [2022-04-15 07:39:03,825 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:39:03,825 INFO L93 Difference]: Finished difference Result 84 states and 93 transitions. [2022-04-15 07:39:03,825 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 93 transitions. [2022-04-15 07:39:03,825 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:39:03,825 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:39:03,825 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:39:03,825 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:39:03,825 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 75 states, 54 states have (on average 1.1296296296296295) internal successors, (61), 55 states have internal predecessors, (61), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-15 07:39:03,826 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 75 states to 75 states and 83 transitions. [2022-04-15 07:39:03,826 INFO L78 Accepts]: Start accepts. Automaton has 75 states and 83 transitions. Word has length 50 [2022-04-15 07:39:03,826 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:39:03,827 INFO L478 AbstractCegarLoop]: Abstraction has 75 states and 83 transitions. [2022-04-15 07:39:03,827 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:39:03,827 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 75 states and 83 transitions. [2022-04-15 07:39:03,975 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 83 edges. 83 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:39:03,975 INFO L276 IsEmpty]: Start isEmpty. Operand 75 states and 83 transitions. [2022-04-15 07:39:03,976 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2022-04-15 07:39:03,976 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:39:03,976 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:39:03,992 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Forceful destruction successful, exit code 0 [2022-04-15 07:39:04,176 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:39:04,177 INFO L403 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:39:04,178 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:39:04,178 INFO L85 PathProgramCache]: Analyzing trace with hash 1311969331, now seen corresponding path program 5 times [2022-04-15 07:39:04,178 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:39:04,178 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2075152042] [2022-04-15 07:39:04,179 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 07:39:04,179 INFO L85 PathProgramCache]: Analyzing trace with hash 1311969331, now seen corresponding path program 6 times [2022-04-15 07:39:04,179 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:39:04,179 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [364826114] [2022-04-15 07:39:04,179 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:39:04,179 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:39:04,188 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:39:04,188 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [321944128] [2022-04-15 07:39:04,188 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-15 07:39:04,188 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:39:04,188 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:39:04,189 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:39:04,190 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:39:04,232 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) [2022-04-15 07:39:04,232 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:39:04,233 INFO L263 TraceCheckSpWp]: Trace formula consists of 143 conjuncts, 45 conjunts are in the unsatisfiable core [2022-04-15 07:39:04,246 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:39:04,247 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:39:31,134 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 07:39:34,205 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 07:39:44,750 INFO L272 TraceCheckUtils]: 0: Hoare triple {7337#true} call ULTIMATE.init(); {7337#true} is VALID [2022-04-15 07:39:44,751 INFO L290 TraceCheckUtils]: 1: Hoare triple {7337#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); {7337#true} is VALID [2022-04-15 07:39:44,751 INFO L290 TraceCheckUtils]: 2: Hoare triple {7337#true} assume true; {7337#true} is VALID [2022-04-15 07:39:44,751 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7337#true} {7337#true} #69#return; {7337#true} is VALID [2022-04-15 07:39:44,751 INFO L272 TraceCheckUtils]: 4: Hoare triple {7337#true} call #t~ret8 := main(); {7337#true} is VALID [2022-04-15 07:39:44,751 INFO L290 TraceCheckUtils]: 5: Hoare triple {7337#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; {7337#true} is VALID [2022-04-15 07:39:44,751 INFO L272 TraceCheckUtils]: 6: Hoare triple {7337#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {7337#true} is VALID [2022-04-15 07:39:44,751 INFO L290 TraceCheckUtils]: 7: Hoare triple {7337#true} ~cond := #in~cond; {7337#true} is VALID [2022-04-15 07:39:44,751 INFO L290 TraceCheckUtils]: 8: Hoare triple {7337#true} assume !(0 == ~cond); {7337#true} is VALID [2022-04-15 07:39:44,751 INFO L290 TraceCheckUtils]: 9: Hoare triple {7337#true} assume true; {7337#true} is VALID [2022-04-15 07:39:44,751 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7337#true} {7337#true} #61#return; {7337#true} is VALID [2022-04-15 07:39:44,751 INFO L290 TraceCheckUtils]: 11: Hoare triple {7337#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {7337#true} is VALID [2022-04-15 07:39:44,751 INFO L272 TraceCheckUtils]: 12: Hoare triple {7337#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {7337#true} is VALID [2022-04-15 07:39:44,751 INFO L290 TraceCheckUtils]: 13: Hoare triple {7337#true} ~cond := #in~cond; {7337#true} is VALID [2022-04-15 07:39:44,751 INFO L290 TraceCheckUtils]: 14: Hoare triple {7337#true} assume !(0 == ~cond); {7337#true} is VALID [2022-04-15 07:39:44,751 INFO L290 TraceCheckUtils]: 15: Hoare triple {7337#true} assume true; {7337#true} is VALID [2022-04-15 07:39:44,751 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {7337#true} {7337#true} #63#return; {7337#true} is VALID [2022-04-15 07:39:44,752 INFO L290 TraceCheckUtils]: 17: Hoare triple {7337#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {7393#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-15 07:39:44,752 INFO L290 TraceCheckUtils]: 18: Hoare triple {7393#(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; {7393#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-15 07:39:44,752 INFO L272 TraceCheckUtils]: 19: Hoare triple {7393#(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)); {7337#true} is VALID [2022-04-15 07:39:44,752 INFO L290 TraceCheckUtils]: 20: Hoare triple {7337#true} ~cond := #in~cond; {7337#true} is VALID [2022-04-15 07:39:44,752 INFO L290 TraceCheckUtils]: 21: Hoare triple {7337#true} assume !(0 == ~cond); {7337#true} is VALID [2022-04-15 07:39:44,753 INFO L290 TraceCheckUtils]: 22: Hoare triple {7337#true} assume true; {7337#true} is VALID [2022-04-15 07:39:44,753 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {7337#true} {7393#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} #65#return; {7393#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-15 07:39:44,753 INFO L290 TraceCheckUtils]: 24: Hoare triple {7393#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {7393#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-15 07:39:44,754 INFO L290 TraceCheckUtils]: 25: Hoare triple {7393#(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; {7418#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 0))} is VALID [2022-04-15 07:39:44,755 INFO L290 TraceCheckUtils]: 26: Hoare triple {7418#(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; {7418#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 0))} is VALID [2022-04-15 07:39:46,756 WARN L290 TraceCheckUtils]: 27: Hoare triple {7418#(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; {7425#(and (or (and (= (mod main_~yx~0 main_~Y~0) 0) (not (= main_~Y~0 0))) (= main_~yx~0 0)) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0))} is UNKNOWN [2022-04-15 07:39:46,757 INFO L272 TraceCheckUtils]: 28: Hoare triple {7425#(and (or (and (= (mod main_~yx~0 main_~Y~0) 0) (not (= main_~Y~0 0))) (= main_~yx~0 0)) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= (* 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)); {7337#true} is VALID [2022-04-15 07:39:46,757 INFO L290 TraceCheckUtils]: 29: Hoare triple {7337#true} ~cond := #in~cond; {7432#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:39:46,757 INFO L290 TraceCheckUtils]: 30: Hoare triple {7432#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {7436#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:39:46,757 INFO L290 TraceCheckUtils]: 31: Hoare triple {7436#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {7436#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:39:46,758 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {7436#(not (= |__VERIFIER_assert_#in~cond| 0))} {7425#(and (or (and (= (mod main_~yx~0 main_~Y~0) 0) (not (= main_~Y~0 0))) (= main_~yx~0 0)) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0))} #65#return; {7418#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 0))} is VALID [2022-04-15 07:39:46,758 INFO L290 TraceCheckUtils]: 33: Hoare triple {7418#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {7418#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 0))} is VALID [2022-04-15 07:39:46,759 INFO L290 TraceCheckUtils]: 34: Hoare triple {7418#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {7449#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-15 07:39:46,759 INFO L290 TraceCheckUtils]: 35: Hoare triple {7449#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~0) (= main_~y~0 0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {7449#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-15 07:39:46,760 INFO L290 TraceCheckUtils]: 36: Hoare triple {7449#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~0) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {7456#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~0) (= (* 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:39:46,760 INFO L272 TraceCheckUtils]: 37: Hoare triple {7456#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~0) (= (* 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)); {7337#true} is VALID [2022-04-15 07:39:46,760 INFO L290 TraceCheckUtils]: 38: Hoare triple {7337#true} ~cond := #in~cond; {7432#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:39:46,760 INFO L290 TraceCheckUtils]: 39: Hoare triple {7432#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {7436#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:39:46,761 INFO L290 TraceCheckUtils]: 40: Hoare triple {7436#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {7436#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:39:46,762 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {7436#(not (= |__VERIFIER_assert_#in~cond| 0))} {7456#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} #65#return; {7472#(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 0))} is VALID [2022-04-15 07:39:46,762 INFO L290 TraceCheckUtils]: 42: Hoare triple {7472#(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 0))} assume !!(~x~0 <= ~X~0); {7472#(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 0))} is VALID [2022-04-15 07:39:46,763 INFO L290 TraceCheckUtils]: 43: Hoare triple {7472#(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 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; {7479#(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))) (= (+ (- 1) main_~y~0) 0) (= (+ (* main_~Y~0 main_~x~0 2) main_~X~0 (* main_~Y~0 2) (* (- 2) main_~X~0 main_~y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 6))))} is VALID [2022-04-15 07:39:46,765 INFO L290 TraceCheckUtils]: 44: Hoare triple {7479#(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))) (= (+ (- 1) main_~y~0) 0) (= (+ (* main_~Y~0 main_~x~0 2) main_~X~0 (* main_~Y~0 2) (* (- 2) main_~X~0 main_~y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 6))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {7483#(and (= (+ (- 1) main_~y~0) 0) (= 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 6)) (+ main_~X~0 (* main_~Y~0 2) (* (- 2) main_~X~0 main_~y~0) (* (+ (- 1) main_~x~0) main_~Y~0 2))))} is VALID [2022-04-15 07:39:46,769 INFO L290 TraceCheckUtils]: 45: Hoare triple {7483#(and (= (+ (- 1) main_~y~0) 0) (= 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 6)) (+ main_~X~0 (* main_~Y~0 2) (* (- 2) main_~X~0 main_~y~0) (* (+ (- 1) main_~x~0) main_~Y~0 2))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {7487#(and (or (and (= (+ (div (+ (* main_~X~0 (- 3)) (* (- 1) main_~v~0)) (- 2)) (* (- 1) main_~Y~0)) 0) (= (mod (+ main_~X~0 main_~v~0) 2) 0) (= main_~yx~0 0) (= main_~Y~0 0)) (and (= (mod (+ main_~X~0 main_~v~0) 2) 0) (= (* (div (+ (div (+ (* main_~X~0 (- 3)) (* (- 1) main_~v~0)) (- 2)) (* (- 1) main_~Y~0)) main_~Y~0) main_~Y~0) main_~yx~0) (not (= main_~Y~0 0)) (= (mod (+ (div (+ (* main_~X~0 (- 3)) (* (- 1) main_~v~0)) (- 2)) (* (- 1) main_~Y~0)) main_~Y~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) (+ (* (- 1) main_~X~0) (* main_~Y~0 2 (+ (div (+ (div (+ (* main_~X~0 (- 3)) (* (- 1) main_~v~0)) (- 2)) (* (- 1) main_~Y~0)) main_~Y~0) (- 1))) (* main_~Y~0 2))))) (= main_~X~0 main_~xy~0))} is VALID [2022-04-15 07:39:46,771 INFO L272 TraceCheckUtils]: 46: Hoare triple {7487#(and (or (and (= (+ (div (+ (* main_~X~0 (- 3)) (* (- 1) main_~v~0)) (- 2)) (* (- 1) main_~Y~0)) 0) (= (mod (+ main_~X~0 main_~v~0) 2) 0) (= main_~yx~0 0) (= main_~Y~0 0)) (and (= (mod (+ main_~X~0 main_~v~0) 2) 0) (= (* (div (+ (div (+ (* main_~X~0 (- 3)) (* (- 1) main_~v~0)) (- 2)) (* (- 1) main_~Y~0)) main_~Y~0) main_~Y~0) main_~yx~0) (not (= main_~Y~0 0)) (= (mod (+ (div (+ (* main_~X~0 (- 3)) (* (- 1) main_~v~0)) (- 2)) (* (- 1) main_~Y~0)) main_~Y~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) (+ (* (- 1) main_~X~0) (* main_~Y~0 2 (+ (div (+ (div (+ (* main_~X~0 (- 3)) (* (- 1) main_~v~0)) (- 2)) (* (- 1) main_~Y~0)) main_~Y~0) (- 1))) (* main_~Y~0 2))))) (= main_~X~0 main_~xy~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {7491#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 07:39:46,772 INFO L290 TraceCheckUtils]: 47: Hoare triple {7491#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7495#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:39:46,772 INFO L290 TraceCheckUtils]: 48: Hoare triple {7495#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {7338#false} is VALID [2022-04-15 07:39:46,772 INFO L290 TraceCheckUtils]: 49: Hoare triple {7338#false} assume !false; {7338#false} is VALID [2022-04-15 07:39:46,772 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:39:46,772 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:39:52,673 INFO L290 TraceCheckUtils]: 49: Hoare triple {7338#false} assume !false; {7338#false} is VALID [2022-04-15 07:39:52,673 INFO L290 TraceCheckUtils]: 48: Hoare triple {7495#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {7338#false} is VALID [2022-04-15 07:39:52,673 INFO L290 TraceCheckUtils]: 47: Hoare triple {7491#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7495#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:39:52,674 INFO L272 TraceCheckUtils]: 46: Hoare triple {7511#(= (+ (* 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)); {7491#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 07:39:52,675 INFO L290 TraceCheckUtils]: 45: Hoare triple {7515#(= (+ (* 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; {7511#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-15 07:39:52,676 INFO L290 TraceCheckUtils]: 44: Hoare triple {7519#(= (+ (* (* 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; {7515#(= (+ (* 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:39:52,678 INFO L290 TraceCheckUtils]: 43: Hoare triple {7515#(= (+ (* 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; {7519#(= (+ (* (* 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:39:52,678 INFO L290 TraceCheckUtils]: 42: Hoare triple {7515#(= (+ (* 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); {7515#(= (+ (* 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:39:52,679 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {7436#(not (= |__VERIFIER_assert_#in~cond| 0))} {7529#(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; {7515#(= (+ (* 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:39:52,679 INFO L290 TraceCheckUtils]: 40: Hoare triple {7436#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {7436#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:39:52,680 INFO L290 TraceCheckUtils]: 39: Hoare triple {7539#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {7436#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:39:52,680 INFO L290 TraceCheckUtils]: 38: Hoare triple {7337#true} ~cond := #in~cond; {7539#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 07:39:52,680 INFO L272 TraceCheckUtils]: 37: Hoare triple {7529#(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)); {7337#true} is VALID [2022-04-15 07:39:52,681 INFO L290 TraceCheckUtils]: 36: Hoare triple {7337#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {7529#(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:39:52,681 INFO L290 TraceCheckUtils]: 35: Hoare triple {7337#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {7337#true} is VALID [2022-04-15 07:39:52,681 INFO L290 TraceCheckUtils]: 34: Hoare triple {7337#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {7337#true} is VALID [2022-04-15 07:39:52,681 INFO L290 TraceCheckUtils]: 33: Hoare triple {7337#true} assume !!(~x~0 <= ~X~0); {7337#true} is VALID [2022-04-15 07:39:52,681 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {7337#true} {7337#true} #65#return; {7337#true} is VALID [2022-04-15 07:39:52,681 INFO L290 TraceCheckUtils]: 31: Hoare triple {7337#true} assume true; {7337#true} is VALID [2022-04-15 07:39:52,681 INFO L290 TraceCheckUtils]: 30: Hoare triple {7337#true} assume !(0 == ~cond); {7337#true} is VALID [2022-04-15 07:39:52,681 INFO L290 TraceCheckUtils]: 29: Hoare triple {7337#true} ~cond := #in~cond; {7337#true} is VALID [2022-04-15 07:39:52,681 INFO L272 TraceCheckUtils]: 28: Hoare triple {7337#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {7337#true} is VALID [2022-04-15 07:39:52,681 INFO L290 TraceCheckUtils]: 27: Hoare triple {7337#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {7337#true} is VALID [2022-04-15 07:39:52,681 INFO L290 TraceCheckUtils]: 26: Hoare triple {7337#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {7337#true} is VALID [2022-04-15 07:39:52,681 INFO L290 TraceCheckUtils]: 25: Hoare triple {7337#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {7337#true} is VALID [2022-04-15 07:39:52,681 INFO L290 TraceCheckUtils]: 24: Hoare triple {7337#true} assume !!(~x~0 <= ~X~0); {7337#true} is VALID [2022-04-15 07:39:52,682 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {7337#true} {7337#true} #65#return; {7337#true} is VALID [2022-04-15 07:39:52,682 INFO L290 TraceCheckUtils]: 22: Hoare triple {7337#true} assume true; {7337#true} is VALID [2022-04-15 07:39:52,682 INFO L290 TraceCheckUtils]: 21: Hoare triple {7337#true} assume !(0 == ~cond); {7337#true} is VALID [2022-04-15 07:39:52,682 INFO L290 TraceCheckUtils]: 20: Hoare triple {7337#true} ~cond := #in~cond; {7337#true} is VALID [2022-04-15 07:39:52,682 INFO L272 TraceCheckUtils]: 19: Hoare triple {7337#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {7337#true} is VALID [2022-04-15 07:39:52,682 INFO L290 TraceCheckUtils]: 18: Hoare triple {7337#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {7337#true} is VALID [2022-04-15 07:39:52,682 INFO L290 TraceCheckUtils]: 17: Hoare triple {7337#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {7337#true} is VALID [2022-04-15 07:39:52,682 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {7337#true} {7337#true} #63#return; {7337#true} is VALID [2022-04-15 07:39:52,682 INFO L290 TraceCheckUtils]: 15: Hoare triple {7337#true} assume true; {7337#true} is VALID [2022-04-15 07:39:52,682 INFO L290 TraceCheckUtils]: 14: Hoare triple {7337#true} assume !(0 == ~cond); {7337#true} is VALID [2022-04-15 07:39:52,682 INFO L290 TraceCheckUtils]: 13: Hoare triple {7337#true} ~cond := #in~cond; {7337#true} is VALID [2022-04-15 07:39:52,682 INFO L272 TraceCheckUtils]: 12: Hoare triple {7337#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {7337#true} is VALID [2022-04-15 07:39:52,682 INFO L290 TraceCheckUtils]: 11: Hoare triple {7337#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {7337#true} is VALID [2022-04-15 07:39:52,682 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7337#true} {7337#true} #61#return; {7337#true} is VALID [2022-04-15 07:39:52,682 INFO L290 TraceCheckUtils]: 9: Hoare triple {7337#true} assume true; {7337#true} is VALID [2022-04-15 07:39:52,682 INFO L290 TraceCheckUtils]: 8: Hoare triple {7337#true} assume !(0 == ~cond); {7337#true} is VALID [2022-04-15 07:39:52,682 INFO L290 TraceCheckUtils]: 7: Hoare triple {7337#true} ~cond := #in~cond; {7337#true} is VALID [2022-04-15 07:39:52,682 INFO L272 TraceCheckUtils]: 6: Hoare triple {7337#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {7337#true} is VALID [2022-04-15 07:39:52,682 INFO L290 TraceCheckUtils]: 5: Hoare triple {7337#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; {7337#true} is VALID [2022-04-15 07:39:52,683 INFO L272 TraceCheckUtils]: 4: Hoare triple {7337#true} call #t~ret8 := main(); {7337#true} is VALID [2022-04-15 07:39:52,683 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7337#true} {7337#true} #69#return; {7337#true} is VALID [2022-04-15 07:39:52,683 INFO L290 TraceCheckUtils]: 2: Hoare triple {7337#true} assume true; {7337#true} is VALID [2022-04-15 07:39:52,683 INFO L290 TraceCheckUtils]: 1: Hoare triple {7337#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); {7337#true} is VALID [2022-04-15 07:39:52,683 INFO L272 TraceCheckUtils]: 0: Hoare triple {7337#true} call ULTIMATE.init(); {7337#true} is VALID [2022-04-15 07:39:52,683 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:39:52,683 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:39:52,683 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [364826114] [2022-04-15 07:39:52,683 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 07:39:52,683 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [321944128] [2022-04-15 07:39:52,683 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [321944128] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:39:52,683 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 07:39:52,683 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 10] total 20 [2022-04-15 07:39:52,684 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:39:52,684 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2075152042] [2022-04-15 07:39:52,684 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2075152042] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:39:52,684 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:39:52,684 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [15] imperfect sequences [] total 15 [2022-04-15 07:39:52,684 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [184286279] [2022-04-15 07:39:52,684 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:39:52,684 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 12 states have (on average 2.5) 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:39:52,684 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:39:52,685 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 15 states, 12 states have (on average 2.5) 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:39:54,731 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:39:54,732 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-04-15 07:39:54,732 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:39:54,732 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-04-15 07:39:54,732 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=52, Invalid=328, Unknown=0, NotChecked=0, Total=380 [2022-04-15 07:39:54,732 INFO L87 Difference]: Start difference. First operand 75 states and 83 transitions. Second operand has 15 states, 12 states have (on average 2.5) 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:39:57,154 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:39:57,154 INFO L93 Difference]: Finished difference Result 88 states and 98 transitions. [2022-04-15 07:39:57,154 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-15 07:39:57,154 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 12 states have (on average 2.5) 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:39:57,154 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:39:57,154 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 12 states have (on average 2.5) 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:39:57,155 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 65 transitions. [2022-04-15 07:39:57,155 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 12 states have (on average 2.5) 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:39:57,156 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 65 transitions. [2022-04-15 07:39:57,156 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 65 transitions. [2022-04-15 07:39:59,231 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:39:59,232 INFO L225 Difference]: With dead ends: 88 [2022-04-15 07:39:59,232 INFO L226 Difference]: Without dead ends: 86 [2022-04-15 07:39:59,233 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 103 GetRequests, 78 SyntacticMatches, 3 SemanticMatches, 22 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 79 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=80, Invalid=472, Unknown=0, NotChecked=0, Total=552 [2022-04-15 07:39:59,233 INFO L913 BasicCegarLoop]: 29 mSDtfsCounter, 19 mSDsluCounter, 174 mSDsCounter, 0 mSdLazyCounter, 386 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.9s Time, 0 mProtectedPredicate, 0 mProtectedAction, 21 SdHoareTripleChecker+Valid, 203 SdHoareTripleChecker+Invalid, 391 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 386 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.9s IncrementalHoareTripleChecker+Time [2022-04-15 07:39:59,233 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [21 Valid, 203 Invalid, 391 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 386 Invalid, 0 Unknown, 0 Unchecked, 0.9s Time] [2022-04-15 07:39:59,233 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 86 states. [2022-04-15 07:39:59,340 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 86 to 82. [2022-04-15 07:39:59,340 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:39:59,340 INFO L82 GeneralOperation]: Start isEquivalent. First operand 86 states. Second operand has 82 states, 59 states have (on average 1.11864406779661) internal successors, (66), 61 states have internal predecessors, (66), 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:39:59,340 INFO L74 IsIncluded]: Start isIncluded. First operand 86 states. Second operand has 82 states, 59 states have (on average 1.11864406779661) internal successors, (66), 61 states have internal predecessors, (66), 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:39:59,340 INFO L87 Difference]: Start difference. First operand 86 states. Second operand has 82 states, 59 states have (on average 1.11864406779661) internal successors, (66), 61 states have internal predecessors, (66), 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:39:59,341 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:39:59,341 INFO L93 Difference]: Finished difference Result 86 states and 96 transitions. [2022-04-15 07:39:59,342 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 96 transitions. [2022-04-15 07:39:59,342 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:39:59,342 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:39:59,342 INFO L74 IsIncluded]: Start isIncluded. First operand has 82 states, 59 states have (on average 1.11864406779661) internal successors, (66), 61 states have internal predecessors, (66), 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 86 states. [2022-04-15 07:39:59,342 INFO L87 Difference]: Start difference. First operand has 82 states, 59 states have (on average 1.11864406779661) internal successors, (66), 61 states have internal predecessors, (66), 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 86 states. [2022-04-15 07:39:59,343 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:39:59,343 INFO L93 Difference]: Finished difference Result 86 states and 96 transitions. [2022-04-15 07:39:59,343 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 96 transitions. [2022-04-15 07:39:59,343 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:39:59,344 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:39:59,344 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:39:59,344 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:39:59,344 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 82 states, 59 states have (on average 1.11864406779661) internal successors, (66), 61 states have internal predecessors, (66), 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:39:59,345 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 82 states to 82 states and 90 transitions. [2022-04-15 07:39:59,345 INFO L78 Accepts]: Start accepts. Automaton has 82 states and 90 transitions. Word has length 50 [2022-04-15 07:39:59,345 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:39:59,345 INFO L478 AbstractCegarLoop]: Abstraction has 82 states and 90 transitions. [2022-04-15 07:39:59,345 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 15 states, 12 states have (on average 2.5) 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:39:59,345 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 82 states and 90 transitions. [2022-04-15 07:39:59,531 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 90 edges. 90 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:39:59,531 INFO L276 IsEmpty]: Start isEmpty. Operand 82 states and 90 transitions. [2022-04-15 07:39:59,531 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2022-04-15 07:39:59,531 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:39:59,531 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:39:59,547 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:39:59,747 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:39:59,748 INFO L403 AbstractCegarLoop]: === Iteration 14 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:39:59,748 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:39:59,748 INFO L85 PathProgramCache]: Analyzing trace with hash -1484106385, now seen corresponding path program 7 times [2022-04-15 07:39:59,748 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:39:59,748 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1525158613] [2022-04-15 07:39:59,748 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 07:39:59,748 INFO L85 PathProgramCache]: Analyzing trace with hash -1484106385, now seen corresponding path program 8 times [2022-04-15 07:39:59,749 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:39:59,749 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [175018153] [2022-04-15 07:39:59,749 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:39:59,749 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:39:59,757 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:39:59,757 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1127803791] [2022-04-15 07:39:59,757 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 07:39:59,757 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:39:59,757 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:39:59,758 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:39:59,759 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:39:59,795 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 07:39:59,795 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:39:59,796 INFO L263 TraceCheckSpWp]: Trace formula consists of 143 conjuncts, 41 conjunts are in the unsatisfiable core [2022-04-15 07:39:59,807 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:39:59,807 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:40:12,886 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 07:40:19,898 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 07:40:26,661 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 07:40:35,703 INFO L272 TraceCheckUtils]: 0: Hoare triple {8176#true} call ULTIMATE.init(); {8176#true} is VALID [2022-04-15 07:40:35,703 INFO L290 TraceCheckUtils]: 1: Hoare triple {8176#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); {8176#true} is VALID [2022-04-15 07:40:35,703 INFO L290 TraceCheckUtils]: 2: Hoare triple {8176#true} assume true; {8176#true} is VALID [2022-04-15 07:40:35,703 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8176#true} {8176#true} #69#return; {8176#true} is VALID [2022-04-15 07:40:35,703 INFO L272 TraceCheckUtils]: 4: Hoare triple {8176#true} call #t~ret8 := main(); {8176#true} is VALID [2022-04-15 07:40:35,703 INFO L290 TraceCheckUtils]: 5: Hoare triple {8176#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; {8176#true} is VALID [2022-04-15 07:40:35,703 INFO L272 TraceCheckUtils]: 6: Hoare triple {8176#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {8176#true} is VALID [2022-04-15 07:40:35,703 INFO L290 TraceCheckUtils]: 7: Hoare triple {8176#true} ~cond := #in~cond; {8176#true} is VALID [2022-04-15 07:40:35,704 INFO L290 TraceCheckUtils]: 8: Hoare triple {8176#true} assume !(0 == ~cond); {8176#true} is VALID [2022-04-15 07:40:35,704 INFO L290 TraceCheckUtils]: 9: Hoare triple {8176#true} assume true; {8176#true} is VALID [2022-04-15 07:40:35,704 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8176#true} {8176#true} #61#return; {8176#true} is VALID [2022-04-15 07:40:35,704 INFO L290 TraceCheckUtils]: 11: Hoare triple {8176#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {8176#true} is VALID [2022-04-15 07:40:35,704 INFO L272 TraceCheckUtils]: 12: Hoare triple {8176#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {8176#true} is VALID [2022-04-15 07:40:35,704 INFO L290 TraceCheckUtils]: 13: Hoare triple {8176#true} ~cond := #in~cond; {8176#true} is VALID [2022-04-15 07:40:35,704 INFO L290 TraceCheckUtils]: 14: Hoare triple {8176#true} assume !(0 == ~cond); {8176#true} is VALID [2022-04-15 07:40:35,704 INFO L290 TraceCheckUtils]: 15: Hoare triple {8176#true} assume true; {8176#true} is VALID [2022-04-15 07:40:35,704 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {8176#true} {8176#true} #63#return; {8176#true} is VALID [2022-04-15 07:40:35,704 INFO L290 TraceCheckUtils]: 17: Hoare triple {8176#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {8232#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-15 07:40:35,705 INFO L290 TraceCheckUtils]: 18: Hoare triple {8232#(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; {8232#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-15 07:40:35,705 INFO L272 TraceCheckUtils]: 19: Hoare triple {8232#(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)); {8176#true} is VALID [2022-04-15 07:40:35,705 INFO L290 TraceCheckUtils]: 20: Hoare triple {8176#true} ~cond := #in~cond; {8176#true} is VALID [2022-04-15 07:40:35,705 INFO L290 TraceCheckUtils]: 21: Hoare triple {8176#true} assume !(0 == ~cond); {8176#true} is VALID [2022-04-15 07:40:35,705 INFO L290 TraceCheckUtils]: 22: Hoare triple {8176#true} assume true; {8176#true} is VALID [2022-04-15 07:40:35,706 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {8176#true} {8232#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} #65#return; {8232#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-15 07:40:35,706 INFO L290 TraceCheckUtils]: 24: Hoare triple {8232#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {8232#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-15 07:40:35,707 INFO L290 TraceCheckUtils]: 25: Hoare triple {8232#(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; {8257#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 0))} is VALID [2022-04-15 07:40:35,707 INFO L290 TraceCheckUtils]: 26: Hoare triple {8257#(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; {8257#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 0))} is VALID [2022-04-15 07:40:35,707 INFO L290 TraceCheckUtils]: 27: Hoare triple {8257#(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; {8264#(and (= main_~xy~0 0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))))} is VALID [2022-04-15 07:40:35,707 INFO L272 TraceCheckUtils]: 28: Hoare triple {8264#(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)); {8176#true} is VALID [2022-04-15 07:40:35,708 INFO L290 TraceCheckUtils]: 29: Hoare triple {8176#true} ~cond := #in~cond; {8271#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:40:35,708 INFO L290 TraceCheckUtils]: 30: Hoare triple {8271#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {8275#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:40:35,708 INFO L290 TraceCheckUtils]: 31: Hoare triple {8275#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {8275#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:40:35,709 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {8275#(not (= |__VERIFIER_assert_#in~cond| 0))} {8264#(and (= main_~xy~0 0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))))} #65#return; {8282#(= (+ main_~X~0 main_~v~0) (* main_~Y~0 4))} is VALID [2022-04-15 07:40:35,709 INFO L290 TraceCheckUtils]: 33: Hoare triple {8282#(= (+ main_~X~0 main_~v~0) (* main_~Y~0 4))} assume !!(~x~0 <= ~X~0); {8282#(= (+ main_~X~0 main_~v~0) (* main_~Y~0 4))} is VALID [2022-04-15 07:40:35,710 INFO L290 TraceCheckUtils]: 34: Hoare triple {8282#(= (+ 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; {8289#(= (* main_~Y~0 4) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0)))} is VALID [2022-04-15 07:40:35,710 INFO L290 TraceCheckUtils]: 35: Hoare triple {8289#(= (* main_~Y~0 4) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0)))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {8289#(= (* main_~Y~0 4) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0)))} is VALID [2022-04-15 07:40:35,711 INFO L290 TraceCheckUtils]: 36: Hoare triple {8289#(= (* main_~Y~0 4) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {8296#(and (= (* main_~Y~0 4) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~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:40:35,711 INFO L272 TraceCheckUtils]: 37: Hoare triple {8296#(and (= (* main_~Y~0 4) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~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)); {8176#true} is VALID [2022-04-15 07:40:35,711 INFO L290 TraceCheckUtils]: 38: Hoare triple {8176#true} ~cond := #in~cond; {8271#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:40:35,712 INFO L290 TraceCheckUtils]: 39: Hoare triple {8271#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {8275#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:40:35,712 INFO L290 TraceCheckUtils]: 40: Hoare triple {8275#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {8275#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:40:35,713 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {8275#(not (= |__VERIFIER_assert_#in~cond| 0))} {8296#(and (= (* main_~Y~0 4) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} #65#return; {8312#(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_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0))))} is VALID [2022-04-15 07:40:35,714 INFO L290 TraceCheckUtils]: 42: Hoare triple {8312#(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_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0))))} assume !!(~x~0 <= ~X~0); {8312#(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_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0))))} is VALID [2022-04-15 07:40:35,714 INFO L290 TraceCheckUtils]: 43: Hoare triple {8312#(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_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0))))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {8319#(and (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) (* (- 2) main_~X~0) (* main_~Y~0 6))) (= main_~v~0 (+ (* main_~Y~0 8) (* main_~X~0 (- 3)))))} is VALID [2022-04-15 07:40:35,716 INFO L290 TraceCheckUtils]: 44: Hoare triple {8319#(and (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) (* (- 2) main_~X~0) (* main_~Y~0 6))) (= main_~v~0 (+ (* main_~Y~0 8) (* main_~X~0 (- 3)))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {8323#(and (= main_~v~0 (+ (* main_~Y~0 8) (* main_~X~0 (- 3)))) (= (+ (* main_~Y~0 2) (* 2 (* (+ (- 1) main_~x~0) main_~Y~0))) (+ (* (* main_~X~0 main_~y~0) 2) (* (- 2) main_~X~0) (* main_~Y~0 6))))} is VALID [2022-04-15 07:40:37,718 WARN L290 TraceCheckUtils]: 45: Hoare triple {8323#(and (= main_~v~0 (+ (* main_~Y~0 8) (* main_~X~0 (- 3)))) (= (+ (* main_~Y~0 2) (* 2 (* (+ (- 1) main_~x~0) main_~Y~0))) (+ (* (* main_~X~0 main_~y~0) 2) (* (- 2) main_~X~0) (* main_~Y~0 6))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {8327#(and (or (and (or (and (= (+ (* main_~Y~0 3) (* (div main_~xy~0 main_~X~0) main_~X~0) (* (- 1) main_~X~0)) 0) (= main_~yx~0 0)) (and (= (mod (+ (* main_~Y~0 3) (* (div main_~xy~0 main_~X~0) main_~X~0) (* (- 1) main_~X~0)) main_~Y~0) 0) (= (* (div (+ (* main_~Y~0 3) (* (div main_~xy~0 main_~X~0) main_~X~0) (* (- 1) main_~X~0)) main_~Y~0) 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_~Y~0 3) (+ (* (div main_~yx~0 main_~Y~0) main_~Y~0) main_~X~0)) (= (mod main_~yx~0 main_~Y~0) 0) (not (= main_~Y~0 0))) (and (= main_~yx~0 0) (= main_~Y~0 0))))) (= main_~v~0 (+ (* main_~Y~0 8) (* main_~X~0 (- 3)))))} is UNKNOWN [2022-04-15 07:40:37,721 INFO L272 TraceCheckUtils]: 46: Hoare triple {8327#(and (or (and (or (and (= (+ (* main_~Y~0 3) (* (div main_~xy~0 main_~X~0) main_~X~0) (* (- 1) main_~X~0)) 0) (= main_~yx~0 0)) (and (= (mod (+ (* main_~Y~0 3) (* (div main_~xy~0 main_~X~0) main_~X~0) (* (- 1) main_~X~0)) main_~Y~0) 0) (= (* (div (+ (* main_~Y~0 3) (* (div main_~xy~0 main_~X~0) main_~X~0) (* (- 1) main_~X~0)) main_~Y~0) 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_~Y~0 3) (+ (* (div main_~yx~0 main_~Y~0) main_~Y~0) main_~X~0)) (= (mod main_~yx~0 main_~Y~0) 0) (not (= main_~Y~0 0))) (and (= main_~yx~0 0) (= main_~Y~0 0))))) (= main_~v~0 (+ (* main_~Y~0 8) (* main_~X~0 (- 3)))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {8331#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 07:40:37,722 INFO L290 TraceCheckUtils]: 47: Hoare triple {8331#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {8335#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:40:37,722 INFO L290 TraceCheckUtils]: 48: Hoare triple {8335#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8177#false} is VALID [2022-04-15 07:40:37,722 INFO L290 TraceCheckUtils]: 49: Hoare triple {8177#false} assume !false; {8177#false} is VALID [2022-04-15 07:40:37,723 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:40:37,723 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:40:42,645 INFO L290 TraceCheckUtils]: 49: Hoare triple {8177#false} assume !false; {8177#false} is VALID [2022-04-15 07:40:42,646 INFO L290 TraceCheckUtils]: 48: Hoare triple {8335#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8177#false} is VALID [2022-04-15 07:40:42,646 INFO L290 TraceCheckUtils]: 47: Hoare triple {8331#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {8335#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:40:42,646 INFO L272 TraceCheckUtils]: 46: Hoare triple {8351#(= (+ (* 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)); {8331#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 07:40:42,647 INFO L290 TraceCheckUtils]: 45: Hoare triple {8355#(= (+ (* 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; {8351#(= (+ (* 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:42,650 INFO L290 TraceCheckUtils]: 44: Hoare triple {8359#(= (+ (* (* 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; {8355#(= (+ (* 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:42,650 INFO L290 TraceCheckUtils]: 43: Hoare triple {8355#(= (+ (* 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; {8359#(= (+ (* (* 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:42,651 INFO L290 TraceCheckUtils]: 42: Hoare triple {8355#(= (+ (* 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); {8355#(= (+ (* 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:42,652 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {8275#(not (= |__VERIFIER_assert_#in~cond| 0))} {8369#(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; {8355#(= (+ (* 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:42,652 INFO L290 TraceCheckUtils]: 40: Hoare triple {8275#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {8275#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:40:42,652 INFO L290 TraceCheckUtils]: 39: Hoare triple {8379#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {8275#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:40:42,652 INFO L290 TraceCheckUtils]: 38: Hoare triple {8176#true} ~cond := #in~cond; {8379#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 07:40:42,653 INFO L272 TraceCheckUtils]: 37: Hoare triple {8369#(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)); {8176#true} is VALID [2022-04-15 07:40:42,653 INFO L290 TraceCheckUtils]: 36: Hoare triple {8176#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {8369#(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:42,653 INFO L290 TraceCheckUtils]: 35: Hoare triple {8176#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {8176#true} is VALID [2022-04-15 07:40:42,653 INFO L290 TraceCheckUtils]: 34: Hoare triple {8176#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; {8176#true} is VALID [2022-04-15 07:40:42,654 INFO L290 TraceCheckUtils]: 33: Hoare triple {8176#true} assume !!(~x~0 <= ~X~0); {8176#true} is VALID [2022-04-15 07:40:42,654 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {8176#true} {8176#true} #65#return; {8176#true} is VALID [2022-04-15 07:40:42,654 INFO L290 TraceCheckUtils]: 31: Hoare triple {8176#true} assume true; {8176#true} is VALID [2022-04-15 07:40:42,654 INFO L290 TraceCheckUtils]: 30: Hoare triple {8176#true} assume !(0 == ~cond); {8176#true} is VALID [2022-04-15 07:40:42,654 INFO L290 TraceCheckUtils]: 29: Hoare triple {8176#true} ~cond := #in~cond; {8176#true} is VALID [2022-04-15 07:40:42,654 INFO L272 TraceCheckUtils]: 28: Hoare triple {8176#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {8176#true} is VALID [2022-04-15 07:40:42,654 INFO L290 TraceCheckUtils]: 27: Hoare triple {8176#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {8176#true} is VALID [2022-04-15 07:40:42,654 INFO L290 TraceCheckUtils]: 26: Hoare triple {8176#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {8176#true} is VALID [2022-04-15 07:40:42,654 INFO L290 TraceCheckUtils]: 25: Hoare triple {8176#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {8176#true} is VALID [2022-04-15 07:40:42,654 INFO L290 TraceCheckUtils]: 24: Hoare triple {8176#true} assume !!(~x~0 <= ~X~0); {8176#true} is VALID [2022-04-15 07:40:42,654 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {8176#true} {8176#true} #65#return; {8176#true} is VALID [2022-04-15 07:40:42,654 INFO L290 TraceCheckUtils]: 22: Hoare triple {8176#true} assume true; {8176#true} is VALID [2022-04-15 07:40:42,654 INFO L290 TraceCheckUtils]: 21: Hoare triple {8176#true} assume !(0 == ~cond); {8176#true} is VALID [2022-04-15 07:40:42,655 INFO L290 TraceCheckUtils]: 20: Hoare triple {8176#true} ~cond := #in~cond; {8176#true} is VALID [2022-04-15 07:40:42,655 INFO L272 TraceCheckUtils]: 19: Hoare triple {8176#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {8176#true} is VALID [2022-04-15 07:40:42,655 INFO L290 TraceCheckUtils]: 18: Hoare triple {8176#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {8176#true} is VALID [2022-04-15 07:40:42,655 INFO L290 TraceCheckUtils]: 17: Hoare triple {8176#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {8176#true} is VALID [2022-04-15 07:40:42,655 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {8176#true} {8176#true} #63#return; {8176#true} is VALID [2022-04-15 07:40:42,655 INFO L290 TraceCheckUtils]: 15: Hoare triple {8176#true} assume true; {8176#true} is VALID [2022-04-15 07:40:42,655 INFO L290 TraceCheckUtils]: 14: Hoare triple {8176#true} assume !(0 == ~cond); {8176#true} is VALID [2022-04-15 07:40:42,655 INFO L290 TraceCheckUtils]: 13: Hoare triple {8176#true} ~cond := #in~cond; {8176#true} is VALID [2022-04-15 07:40:42,655 INFO L272 TraceCheckUtils]: 12: Hoare triple {8176#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {8176#true} is VALID [2022-04-15 07:40:42,655 INFO L290 TraceCheckUtils]: 11: Hoare triple {8176#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {8176#true} is VALID [2022-04-15 07:40:42,655 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8176#true} {8176#true} #61#return; {8176#true} is VALID [2022-04-15 07:40:42,655 INFO L290 TraceCheckUtils]: 9: Hoare triple {8176#true} assume true; {8176#true} is VALID [2022-04-15 07:40:42,656 INFO L290 TraceCheckUtils]: 8: Hoare triple {8176#true} assume !(0 == ~cond); {8176#true} is VALID [2022-04-15 07:40:42,656 INFO L290 TraceCheckUtils]: 7: Hoare triple {8176#true} ~cond := #in~cond; {8176#true} is VALID [2022-04-15 07:40:42,656 INFO L272 TraceCheckUtils]: 6: Hoare triple {8176#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {8176#true} is VALID [2022-04-15 07:40:42,656 INFO L290 TraceCheckUtils]: 5: Hoare triple {8176#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; {8176#true} is VALID [2022-04-15 07:40:42,656 INFO L272 TraceCheckUtils]: 4: Hoare triple {8176#true} call #t~ret8 := main(); {8176#true} is VALID [2022-04-15 07:40:42,656 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8176#true} {8176#true} #69#return; {8176#true} is VALID [2022-04-15 07:40:42,656 INFO L290 TraceCheckUtils]: 2: Hoare triple {8176#true} assume true; {8176#true} is VALID [2022-04-15 07:40:42,656 INFO L290 TraceCheckUtils]: 1: Hoare triple {8176#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); {8176#true} is VALID [2022-04-15 07:40:42,656 INFO L272 TraceCheckUtils]: 0: Hoare triple {8176#true} call ULTIMATE.init(); {8176#true} is VALID [2022-04-15 07:40:42,656 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:40:42,657 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:40:42,657 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [175018153] [2022-04-15 07:40:42,657 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 07:40:42,657 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1127803791] [2022-04-15 07:40:42,657 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1127803791] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:40:42,657 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 07:40:42,657 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 10] total 21 [2022-04-15 07:40:42,657 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:40:42,657 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1525158613] [2022-04-15 07:40:42,657 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1525158613] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:40:42,657 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:40:42,658 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [16] imperfect sequences [] total 16 [2022-04-15 07:40:42,658 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1526649337] [2022-04-15 07:40:42,658 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:40:42,658 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:40:42,658 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:40:42,658 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:40:44,703 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:40:44,703 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-04-15 07:40:44,703 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:40:44,704 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-04-15 07:40:44,704 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=55, Invalid=365, Unknown=0, NotChecked=0, Total=420 [2022-04-15 07:40:44,704 INFO L87 Difference]: Start difference. First operand 82 states and 90 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:40:50,852 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:40:53,280 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:40:58,851 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:00,250 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:41:00,250 INFO L93 Difference]: Finished difference Result 100 states and 112 transitions. [2022-04-15 07:41:00,250 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-15 07:41:00,250 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:41:00,250 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:41:00,250 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:41:00,252 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 65 transitions. [2022-04-15 07:41:00,252 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:41:00,253 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 65 transitions. [2022-04-15 07:41:00,253 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 65 transitions. [2022-04-15 07:41:02,314 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:41:02,315 INFO L225 Difference]: With dead ends: 100 [2022-04-15 07:41:02,315 INFO L226 Difference]: Without dead ends: 98 [2022-04-15 07:41:02,315 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 104 GetRequests, 78 SyntacticMatches, 2 SemanticMatches, 24 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 79 ImplicationChecksByTransitivity, 2.4s TimeCoverageRelationStatistics Valid=88, Invalid=562, Unknown=0, NotChecked=0, Total=650 [2022-04-15 07:41:02,316 INFO L913 BasicCegarLoop]: 26 mSDtfsCounter, 22 mSDsluCounter, 165 mSDsCounter, 0 mSdLazyCounter, 366 mSolverCounterSat, 8 mSolverCounterUnsat, 3 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 9.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 23 SdHoareTripleChecker+Valid, 191 SdHoareTripleChecker+Invalid, 377 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 8 IncrementalHoareTripleChecker+Valid, 366 IncrementalHoareTripleChecker+Invalid, 3 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 9.0s IncrementalHoareTripleChecker+Time [2022-04-15 07:41:02,316 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [23 Valid, 191 Invalid, 377 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [8 Valid, 366 Invalid, 3 Unknown, 0 Unchecked, 9.0s Time] [2022-04-15 07:41:02,316 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 98 states. [2022-04-15 07:41:02,439 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 98 to 87. [2022-04-15 07:41:02,440 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:41:02,440 INFO L82 GeneralOperation]: Start isEquivalent. First operand 98 states. Second operand has 87 states, 63 states have (on average 1.126984126984127) internal successors, (71), 65 states have internal predecessors, (71), 14 states have call successors, (14), 10 states have call predecessors, (14), 9 states have return successors, (12), 11 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-15 07:41:02,440 INFO L74 IsIncluded]: Start isIncluded. First operand 98 states. Second operand has 87 states, 63 states have (on average 1.126984126984127) internal successors, (71), 65 states have internal predecessors, (71), 14 states have call successors, (14), 10 states have call predecessors, (14), 9 states have return successors, (12), 11 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-15 07:41:02,440 INFO L87 Difference]: Start difference. First operand 98 states. Second operand has 87 states, 63 states have (on average 1.126984126984127) internal successors, (71), 65 states have internal predecessors, (71), 14 states have call successors, (14), 10 states have call predecessors, (14), 9 states have return successors, (12), 11 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-15 07:41:02,442 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:41:02,442 INFO L93 Difference]: Finished difference Result 98 states and 110 transitions. [2022-04-15 07:41:02,442 INFO L276 IsEmpty]: Start isEmpty. Operand 98 states and 110 transitions. [2022-04-15 07:41:02,442 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:41:02,442 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:41:02,442 INFO L74 IsIncluded]: Start isIncluded. First operand has 87 states, 63 states have (on average 1.126984126984127) internal successors, (71), 65 states have internal predecessors, (71), 14 states have call successors, (14), 10 states have call predecessors, (14), 9 states have return successors, (12), 11 states have call predecessors, (12), 12 states have call successors, (12) Second operand 98 states. [2022-04-15 07:41:02,442 INFO L87 Difference]: Start difference. First operand has 87 states, 63 states have (on average 1.126984126984127) internal successors, (71), 65 states have internal predecessors, (71), 14 states have call successors, (14), 10 states have call predecessors, (14), 9 states have return successors, (12), 11 states have call predecessors, (12), 12 states have call successors, (12) Second operand 98 states. [2022-04-15 07:41:02,444 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:41:02,444 INFO L93 Difference]: Finished difference Result 98 states and 110 transitions. [2022-04-15 07:41:02,444 INFO L276 IsEmpty]: Start isEmpty. Operand 98 states and 110 transitions. [2022-04-15 07:41:02,444 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:41:02,444 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:41:02,444 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:41:02,444 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:41:02,444 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 87 states, 63 states have (on average 1.126984126984127) internal successors, (71), 65 states have internal predecessors, (71), 14 states have call successors, (14), 10 states have call predecessors, (14), 9 states have return successors, (12), 11 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-15 07:41:02,448 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 87 states to 87 states and 97 transitions. [2022-04-15 07:41:02,448 INFO L78 Accepts]: Start accepts. Automaton has 87 states and 97 transitions. Word has length 50 [2022-04-15 07:41:02,449 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:41:02,449 INFO L478 AbstractCegarLoop]: Abstraction has 87 states and 97 transitions. [2022-04-15 07:41:02,449 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:41:02,449 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 87 states and 97 transitions. [2022-04-15 07:41:04,672 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 97 edges. 96 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-15 07:41:04,672 INFO L276 IsEmpty]: Start isEmpty. Operand 87 states and 97 transitions. [2022-04-15 07:41:04,672 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2022-04-15 07:41:04,672 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:41:04,672 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:04,688 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:41:04,873 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:41:04,873 INFO L403 AbstractCegarLoop]: === Iteration 15 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:41:04,873 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:41:04,873 INFO L85 PathProgramCache]: Analyzing trace with hash 290900977, now seen corresponding path program 9 times [2022-04-15 07:41:04,873 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:41:04,873 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [718608902] [2022-04-15 07:41:04,874 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 07:41:04,874 INFO L85 PathProgramCache]: Analyzing trace with hash 290900977, now seen corresponding path program 10 times [2022-04-15 07:41:04,874 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:41:04,874 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1764700936] [2022-04-15 07:41:04,874 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:41:04,874 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:41:04,883 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:41:04,883 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1723664277] [2022-04-15 07:41:04,883 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 07:41:04,888 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:41:04,888 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:41:04,888 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:41:04,889 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:41:04,921 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 07:41:04,921 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:41:04,922 INFO L263 TraceCheckSpWp]: Trace formula consists of 106 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-15 07:41:04,929 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:41:04,930 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:41:05,215 INFO L272 TraceCheckUtils]: 0: Hoare triple {9076#true} call ULTIMATE.init(); {9076#true} is VALID [2022-04-15 07:41:05,215 INFO L290 TraceCheckUtils]: 1: Hoare triple {9076#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); {9076#true} is VALID [2022-04-15 07:41:05,215 INFO L290 TraceCheckUtils]: 2: Hoare triple {9076#true} assume true; {9076#true} is VALID [2022-04-15 07:41:05,215 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9076#true} {9076#true} #69#return; {9076#true} is VALID [2022-04-15 07:41:05,215 INFO L272 TraceCheckUtils]: 4: Hoare triple {9076#true} call #t~ret8 := main(); {9076#true} is VALID [2022-04-15 07:41:05,215 INFO L290 TraceCheckUtils]: 5: Hoare triple {9076#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; {9076#true} is VALID [2022-04-15 07:41:05,215 INFO L272 TraceCheckUtils]: 6: Hoare triple {9076#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {9076#true} is VALID [2022-04-15 07:41:05,215 INFO L290 TraceCheckUtils]: 7: Hoare triple {9076#true} ~cond := #in~cond; {9076#true} is VALID [2022-04-15 07:41:05,215 INFO L290 TraceCheckUtils]: 8: Hoare triple {9076#true} assume !(0 == ~cond); {9076#true} is VALID [2022-04-15 07:41:05,215 INFO L290 TraceCheckUtils]: 9: Hoare triple {9076#true} assume true; {9076#true} is VALID [2022-04-15 07:41:05,216 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {9076#true} {9076#true} #61#return; {9076#true} is VALID [2022-04-15 07:41:05,216 INFO L290 TraceCheckUtils]: 11: Hoare triple {9076#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {9076#true} is VALID [2022-04-15 07:41:05,216 INFO L272 TraceCheckUtils]: 12: Hoare triple {9076#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {9076#true} is VALID [2022-04-15 07:41:05,216 INFO L290 TraceCheckUtils]: 13: Hoare triple {9076#true} ~cond := #in~cond; {9076#true} is VALID [2022-04-15 07:41:05,216 INFO L290 TraceCheckUtils]: 14: Hoare triple {9076#true} assume !(0 == ~cond); {9076#true} is VALID [2022-04-15 07:41:05,216 INFO L290 TraceCheckUtils]: 15: Hoare triple {9076#true} assume true; {9076#true} is VALID [2022-04-15 07:41:05,216 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {9076#true} {9076#true} #63#return; {9076#true} is VALID [2022-04-15 07:41:05,216 INFO L290 TraceCheckUtils]: 17: Hoare triple {9076#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {9132#(<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0))} is VALID [2022-04-15 07:41:05,217 INFO L290 TraceCheckUtils]: 18: Hoare triple {9132#(<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {9132#(<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0))} is VALID [2022-04-15 07:41:05,217 INFO L272 TraceCheckUtils]: 19: Hoare triple {9132#(<= (* 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)); {9076#true} is VALID [2022-04-15 07:41:05,217 INFO L290 TraceCheckUtils]: 20: Hoare triple {9076#true} ~cond := #in~cond; {9076#true} is VALID [2022-04-15 07:41:05,217 INFO L290 TraceCheckUtils]: 21: Hoare triple {9076#true} assume !(0 == ~cond); {9076#true} is VALID [2022-04-15 07:41:05,217 INFO L290 TraceCheckUtils]: 22: Hoare triple {9076#true} assume true; {9076#true} is VALID [2022-04-15 07:41:05,217 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {9076#true} {9132#(<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0))} #65#return; {9132#(<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0))} is VALID [2022-04-15 07:41:05,218 INFO L290 TraceCheckUtils]: 24: Hoare triple {9132#(<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0))} assume !!(~x~0 <= ~X~0); {9132#(<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0))} is VALID [2022-04-15 07:41:05,218 INFO L290 TraceCheckUtils]: 25: Hoare triple {9132#(<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {9157#(and (< (* main_~Y~0 2) main_~X~0) (< main_~v~0 (* main_~Y~0 2)))} is VALID [2022-04-15 07:41:05,219 INFO L290 TraceCheckUtils]: 26: Hoare triple {9157#(and (< (* main_~Y~0 2) main_~X~0) (< main_~v~0 (* main_~Y~0 2)))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {9157#(and (< (* main_~Y~0 2) main_~X~0) (< main_~v~0 (* main_~Y~0 2)))} is VALID [2022-04-15 07:41:05,219 INFO L290 TraceCheckUtils]: 27: Hoare triple {9157#(and (< (* main_~Y~0 2) main_~X~0) (< main_~v~0 (* main_~Y~0 2)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {9157#(and (< (* main_~Y~0 2) main_~X~0) (< main_~v~0 (* main_~Y~0 2)))} is VALID [2022-04-15 07:41:05,219 INFO L272 TraceCheckUtils]: 28: Hoare triple {9157#(and (< (* main_~Y~0 2) 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)); {9076#true} is VALID [2022-04-15 07:41:05,219 INFO L290 TraceCheckUtils]: 29: Hoare triple {9076#true} ~cond := #in~cond; {9076#true} is VALID [2022-04-15 07:41:05,219 INFO L290 TraceCheckUtils]: 30: Hoare triple {9076#true} assume !(0 == ~cond); {9076#true} is VALID [2022-04-15 07:41:05,219 INFO L290 TraceCheckUtils]: 31: Hoare triple {9076#true} assume true; {9076#true} is VALID [2022-04-15 07:41:05,220 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {9076#true} {9157#(and (< (* main_~Y~0 2) main_~X~0) (< main_~v~0 (* main_~Y~0 2)))} #65#return; {9157#(and (< (* main_~Y~0 2) main_~X~0) (< main_~v~0 (* main_~Y~0 2)))} is VALID [2022-04-15 07:41:05,220 INFO L290 TraceCheckUtils]: 33: Hoare triple {9157#(and (< (* main_~Y~0 2) main_~X~0) (< main_~v~0 (* main_~Y~0 2)))} assume !!(~x~0 <= ~X~0); {9157#(and (< (* main_~Y~0 2) main_~X~0) (< main_~v~0 (* main_~Y~0 2)))} is VALID [2022-04-15 07:41:05,221 INFO L290 TraceCheckUtils]: 34: Hoare triple {9157#(and (< (* main_~Y~0 2) 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; {9185#(< 0 (div (+ (- 1) (* (- 1) main_~v~0)) 2))} is VALID [2022-04-15 07:41:05,221 INFO L290 TraceCheckUtils]: 35: Hoare triple {9185#(< 0 (div (+ (- 1) (* (- 1) main_~v~0)) 2))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {9185#(< 0 (div (+ (- 1) (* (- 1) main_~v~0)) 2))} is VALID [2022-04-15 07:41:05,221 INFO L290 TraceCheckUtils]: 36: Hoare triple {9185#(< 0 (div (+ (- 1) (* (- 1) main_~v~0)) 2))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {9185#(< 0 (div (+ (- 1) (* (- 1) main_~v~0)) 2))} is VALID [2022-04-15 07:41:05,221 INFO L272 TraceCheckUtils]: 37: Hoare triple {9185#(< 0 (div (+ (- 1) (* (- 1) main_~v~0)) 2))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {9076#true} is VALID [2022-04-15 07:41:05,221 INFO L290 TraceCheckUtils]: 38: Hoare triple {9076#true} ~cond := #in~cond; {9076#true} is VALID [2022-04-15 07:41:05,221 INFO L290 TraceCheckUtils]: 39: Hoare triple {9076#true} assume !(0 == ~cond); {9076#true} is VALID [2022-04-15 07:41:05,221 INFO L290 TraceCheckUtils]: 40: Hoare triple {9076#true} assume true; {9076#true} is VALID [2022-04-15 07:41:05,222 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {9076#true} {9185#(< 0 (div (+ (- 1) (* (- 1) main_~v~0)) 2))} #65#return; {9185#(< 0 (div (+ (- 1) (* (- 1) main_~v~0)) 2))} is VALID [2022-04-15 07:41:05,222 INFO L290 TraceCheckUtils]: 42: Hoare triple {9185#(< 0 (div (+ (- 1) (* (- 1) main_~v~0)) 2))} assume !!(~x~0 <= ~X~0); {9185#(< 0 (div (+ (- 1) (* (- 1) main_~v~0)) 2))} is VALID [2022-04-15 07:41:05,223 INFO L290 TraceCheckUtils]: 43: Hoare triple {9185#(< 0 (div (+ (- 1) (* (- 1) main_~v~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; {9077#false} is VALID [2022-04-15 07:41:05,223 INFO L290 TraceCheckUtils]: 44: Hoare triple {9077#false} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {9077#false} is VALID [2022-04-15 07:41:05,223 INFO L290 TraceCheckUtils]: 45: Hoare triple {9077#false} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {9077#false} is VALID [2022-04-15 07:41:05,223 INFO L272 TraceCheckUtils]: 46: Hoare triple {9077#false} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {9077#false} is VALID [2022-04-15 07:41:05,223 INFO L290 TraceCheckUtils]: 47: Hoare triple {9077#false} ~cond := #in~cond; {9077#false} is VALID [2022-04-15 07:41:05,223 INFO L290 TraceCheckUtils]: 48: Hoare triple {9077#false} assume 0 == ~cond; {9077#false} is VALID [2022-04-15 07:41:05,223 INFO L290 TraceCheckUtils]: 49: Hoare triple {9077#false} assume !false; {9077#false} is VALID [2022-04-15 07:41:05,223 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:41:05,223 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:41:05,408 INFO L290 TraceCheckUtils]: 49: Hoare triple {9077#false} assume !false; {9077#false} is VALID [2022-04-15 07:41:05,409 INFO L290 TraceCheckUtils]: 48: Hoare triple {9077#false} assume 0 == ~cond; {9077#false} is VALID [2022-04-15 07:41:05,409 INFO L290 TraceCheckUtils]: 47: Hoare triple {9077#false} ~cond := #in~cond; {9077#false} is VALID [2022-04-15 07:41:05,409 INFO L272 TraceCheckUtils]: 46: Hoare triple {9077#false} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {9077#false} is VALID [2022-04-15 07:41:05,409 INFO L290 TraceCheckUtils]: 45: Hoare triple {9077#false} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {9077#false} is VALID [2022-04-15 07:41:05,409 INFO L290 TraceCheckUtils]: 44: Hoare triple {9077#false} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {9077#false} is VALID [2022-04-15 07:41:05,409 INFO L290 TraceCheckUtils]: 43: Hoare triple {9249#(< 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; {9077#false} is VALID [2022-04-15 07:41:05,409 INFO L290 TraceCheckUtils]: 42: Hoare triple {9249#(< main_~v~0 0)} assume !!(~x~0 <= ~X~0); {9249#(< main_~v~0 0)} is VALID [2022-04-15 07:41:05,410 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {9076#true} {9249#(< main_~v~0 0)} #65#return; {9249#(< main_~v~0 0)} is VALID [2022-04-15 07:41:05,410 INFO L290 TraceCheckUtils]: 40: Hoare triple {9076#true} assume true; {9076#true} is VALID [2022-04-15 07:41:05,410 INFO L290 TraceCheckUtils]: 39: Hoare triple {9076#true} assume !(0 == ~cond); {9076#true} is VALID [2022-04-15 07:41:05,410 INFO L290 TraceCheckUtils]: 38: Hoare triple {9076#true} ~cond := #in~cond; {9076#true} is VALID [2022-04-15 07:41:05,410 INFO L272 TraceCheckUtils]: 37: Hoare triple {9249#(< 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)); {9076#true} is VALID [2022-04-15 07:41:05,410 INFO L290 TraceCheckUtils]: 36: Hoare triple {9249#(< main_~v~0 0)} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {9249#(< main_~v~0 0)} is VALID [2022-04-15 07:41:05,410 INFO L290 TraceCheckUtils]: 35: Hoare triple {9249#(< main_~v~0 0)} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {9249#(< main_~v~0 0)} is VALID [2022-04-15 07:41:05,411 INFO L290 TraceCheckUtils]: 34: Hoare triple {9277#(< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~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; {9249#(< main_~v~0 0)} is VALID [2022-04-15 07:41:05,412 INFO L290 TraceCheckUtils]: 33: Hoare triple {9277#(< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))} assume !!(~x~0 <= ~X~0); {9277#(< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))} is VALID [2022-04-15 07:41:05,412 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {9076#true} {9277#(< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))} #65#return; {9277#(< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))} is VALID [2022-04-15 07:41:05,412 INFO L290 TraceCheckUtils]: 31: Hoare triple {9076#true} assume true; {9076#true} is VALID [2022-04-15 07:41:05,412 INFO L290 TraceCheckUtils]: 30: Hoare triple {9076#true} assume !(0 == ~cond); {9076#true} is VALID [2022-04-15 07:41:05,412 INFO L290 TraceCheckUtils]: 29: Hoare triple {9076#true} ~cond := #in~cond; {9076#true} is VALID [2022-04-15 07:41:05,412 INFO L272 TraceCheckUtils]: 28: Hoare triple {9277#(< (+ main_~v~0 (* main_~Y~0 2)) (* 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)); {9076#true} is VALID [2022-04-15 07:41:05,413 INFO L290 TraceCheckUtils]: 27: Hoare triple {9277#(< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {9277#(< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))} is VALID [2022-04-15 07:41:05,413 INFO L290 TraceCheckUtils]: 26: Hoare triple {9277#(< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {9277#(< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))} is VALID [2022-04-15 07:41:05,413 INFO L290 TraceCheckUtils]: 25: Hoare triple {9305#(or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (not (< main_~v~0 0)))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {9277#(< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))} is VALID [2022-04-15 07:41:05,414 INFO L290 TraceCheckUtils]: 24: Hoare triple {9305#(or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (not (< main_~v~0 0)))} assume !!(~x~0 <= ~X~0); {9305#(or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (not (< main_~v~0 0)))} is VALID [2022-04-15 07:41:05,414 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {9076#true} {9305#(or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (not (< main_~v~0 0)))} #65#return; {9305#(or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (not (< main_~v~0 0)))} is VALID [2022-04-15 07:41:05,414 INFO L290 TraceCheckUtils]: 22: Hoare triple {9076#true} assume true; {9076#true} is VALID [2022-04-15 07:41:05,414 INFO L290 TraceCheckUtils]: 21: Hoare triple {9076#true} assume !(0 == ~cond); {9076#true} is VALID [2022-04-15 07:41:05,414 INFO L290 TraceCheckUtils]: 20: Hoare triple {9076#true} ~cond := #in~cond; {9076#true} is VALID [2022-04-15 07:41:05,414 INFO L272 TraceCheckUtils]: 19: Hoare triple {9305#(or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (not (< main_~v~0 0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {9076#true} is VALID [2022-04-15 07:41:05,415 INFO L290 TraceCheckUtils]: 18: Hoare triple {9305#(or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (not (< main_~v~0 0)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {9305#(or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (not (< main_~v~0 0)))} is VALID [2022-04-15 07:41:05,415 INFO L290 TraceCheckUtils]: 17: Hoare triple {9076#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {9305#(or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (not (< main_~v~0 0)))} is VALID [2022-04-15 07:41:05,415 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {9076#true} {9076#true} #63#return; {9076#true} is VALID [2022-04-15 07:41:05,416 INFO L290 TraceCheckUtils]: 15: Hoare triple {9076#true} assume true; {9076#true} is VALID [2022-04-15 07:41:05,416 INFO L290 TraceCheckUtils]: 14: Hoare triple {9076#true} assume !(0 == ~cond); {9076#true} is VALID [2022-04-15 07:41:05,416 INFO L290 TraceCheckUtils]: 13: Hoare triple {9076#true} ~cond := #in~cond; {9076#true} is VALID [2022-04-15 07:41:05,416 INFO L272 TraceCheckUtils]: 12: Hoare triple {9076#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {9076#true} is VALID [2022-04-15 07:41:05,416 INFO L290 TraceCheckUtils]: 11: Hoare triple {9076#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {9076#true} is VALID [2022-04-15 07:41:05,416 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {9076#true} {9076#true} #61#return; {9076#true} is VALID [2022-04-15 07:41:05,416 INFO L290 TraceCheckUtils]: 9: Hoare triple {9076#true} assume true; {9076#true} is VALID [2022-04-15 07:41:05,416 INFO L290 TraceCheckUtils]: 8: Hoare triple {9076#true} assume !(0 == ~cond); {9076#true} is VALID [2022-04-15 07:41:05,416 INFO L290 TraceCheckUtils]: 7: Hoare triple {9076#true} ~cond := #in~cond; {9076#true} is VALID [2022-04-15 07:41:05,416 INFO L272 TraceCheckUtils]: 6: Hoare triple {9076#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {9076#true} is VALID [2022-04-15 07:41:05,416 INFO L290 TraceCheckUtils]: 5: Hoare triple {9076#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; {9076#true} is VALID [2022-04-15 07:41:05,416 INFO L272 TraceCheckUtils]: 4: Hoare triple {9076#true} call #t~ret8 := main(); {9076#true} is VALID [2022-04-15 07:41:05,416 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9076#true} {9076#true} #69#return; {9076#true} is VALID [2022-04-15 07:41:05,416 INFO L290 TraceCheckUtils]: 2: Hoare triple {9076#true} assume true; {9076#true} is VALID [2022-04-15 07:41:05,416 INFO L290 TraceCheckUtils]: 1: Hoare triple {9076#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); {9076#true} is VALID [2022-04-15 07:41:05,416 INFO L272 TraceCheckUtils]: 0: Hoare triple {9076#true} call ULTIMATE.init(); {9076#true} is VALID [2022-04-15 07:41:05,417 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:41:05,417 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:41:05,417 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1764700936] [2022-04-15 07:41:05,417 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 07:41:05,417 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1723664277] [2022-04-15 07:41:05,417 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1723664277] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:41:05,417 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 07:41:05,417 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5] total 8 [2022-04-15 07:41:05,417 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:41:05,417 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [718608902] [2022-04-15 07:41:05,417 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [718608902] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:41:05,417 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:41:05,417 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 07:41:05,417 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [90730776] [2022-04-15 07:41:05,417 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:41:05,418 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:41:05,418 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:41:05,418 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:41:05,445 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:41:05,445 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-15 07:41:05,445 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:41:05,445 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-15 07:41:05,446 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=39, Unknown=0, NotChecked=0, Total=56 [2022-04-15 07:41:05,446 INFO L87 Difference]: Start difference. First operand 87 states and 97 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:41:05,827 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:41:05,827 INFO L93 Difference]: Finished difference Result 121 states and 141 transitions. [2022-04-15 07:41:05,827 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-15 07:41:05,827 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:41:05,827 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:41:05,827 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:41:05,828 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 71 transitions. [2022-04-15 07:41:05,828 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:41:05,829 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 71 transitions. [2022-04-15 07:41:05,829 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 71 transitions. [2022-04-15 07:41:05,883 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 71 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:41:05,885 INFO L225 Difference]: With dead ends: 121 [2022-04-15 07:41:05,885 INFO L226 Difference]: Without dead ends: 108 [2022-04-15 07:41:05,885 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 100 GetRequests, 93 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 2 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=24, Invalid=48, Unknown=0, NotChecked=0, Total=72 [2022-04-15 07:41:05,885 INFO L913 BasicCegarLoop]: 34 mSDtfsCounter, 4 mSDsluCounter, 57 mSDsCounter, 0 mSdLazyCounter, 80 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 4 SdHoareTripleChecker+Valid, 91 SdHoareTripleChecker+Invalid, 82 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 80 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-15 07:41:05,886 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [4 Valid, 91 Invalid, 82 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 80 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-15 07:41:05,886 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 108 states. [2022-04-15 07:41:06,110 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 108 to 104. [2022-04-15 07:41:06,110 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:41:06,110 INFO L82 GeneralOperation]: Start isEquivalent. First operand 108 states. Second operand has 104 states, 76 states have (on average 1.131578947368421) internal successors, (86), 79 states have internal predecessors, (86), 18 states have call successors, (18), 10 states have call predecessors, (18), 9 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-15 07:41:06,111 INFO L74 IsIncluded]: Start isIncluded. First operand 108 states. Second operand has 104 states, 76 states have (on average 1.131578947368421) internal successors, (86), 79 states have internal predecessors, (86), 18 states have call successors, (18), 10 states have call predecessors, (18), 9 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-15 07:41:06,111 INFO L87 Difference]: Start difference. First operand 108 states. Second operand has 104 states, 76 states have (on average 1.131578947368421) internal successors, (86), 79 states have internal predecessors, (86), 18 states have call successors, (18), 10 states have call predecessors, (18), 9 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-15 07:41:06,112 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:41:06,112 INFO L93 Difference]: Finished difference Result 108 states and 124 transitions. [2022-04-15 07:41:06,113 INFO L276 IsEmpty]: Start isEmpty. Operand 108 states and 124 transitions. [2022-04-15 07:41:06,113 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:41:06,113 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:41:06,113 INFO L74 IsIncluded]: Start isIncluded. First operand has 104 states, 76 states have (on average 1.131578947368421) internal successors, (86), 79 states have internal predecessors, (86), 18 states have call successors, (18), 10 states have call predecessors, (18), 9 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) Second operand 108 states. [2022-04-15 07:41:06,113 INFO L87 Difference]: Start difference. First operand has 104 states, 76 states have (on average 1.131578947368421) internal successors, (86), 79 states have internal predecessors, (86), 18 states have call successors, (18), 10 states have call predecessors, (18), 9 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) Second operand 108 states. [2022-04-15 07:41:06,115 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:41:06,115 INFO L93 Difference]: Finished difference Result 108 states and 124 transitions. [2022-04-15 07:41:06,115 INFO L276 IsEmpty]: Start isEmpty. Operand 108 states and 124 transitions. [2022-04-15 07:41:06,115 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:41:06,115 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:41:06,115 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:41:06,115 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:41:06,115 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 104 states, 76 states have (on average 1.131578947368421) internal successors, (86), 79 states have internal predecessors, (86), 18 states have call successors, (18), 10 states have call predecessors, (18), 9 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-15 07:41:06,117 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 104 states to 104 states and 120 transitions. [2022-04-15 07:41:06,117 INFO L78 Accepts]: Start accepts. Automaton has 104 states and 120 transitions. Word has length 50 [2022-04-15 07:41:06,117 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:41:06,117 INFO L478 AbstractCegarLoop]: Abstraction has 104 states and 120 transitions. [2022-04-15 07:41:06,117 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:41:06,117 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 104 states and 120 transitions. [2022-04-15 07:41:10,431 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 120 edges. 118 inductive. 0 not inductive. 2 times theorem prover too weak to decide inductivity. [2022-04-15 07:41:10,431 INFO L276 IsEmpty]: Start isEmpty. Operand 104 states and 120 transitions. [2022-04-15 07:41:10,433 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2022-04-15 07:41:10,433 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:41:10,433 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:10,450 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:41:10,647 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:41:10,647 INFO L403 AbstractCegarLoop]: === Iteration 16 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:41:10,648 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:41:10,648 INFO L85 PathProgramCache]: Analyzing trace with hash 1452517941, now seen corresponding path program 11 times [2022-04-15 07:41:10,648 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:41:10,648 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [534446118] [2022-04-15 07:41:10,648 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 07:41:10,648 INFO L85 PathProgramCache]: Analyzing trace with hash 1452517941, now seen corresponding path program 12 times [2022-04-15 07:41:10,648 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:41:10,648 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1257129476] [2022-04-15 07:41:10,648 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:41:10,649 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:41:10,657 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:41:10,657 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1491911453] [2022-04-15 07:41:10,657 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-15 07:41:10,657 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:41:10,657 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:41:10,658 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:41:10,659 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:41:10,701 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) [2022-04-15 07:41:10,701 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:41:10,702 INFO L263 TraceCheckSpWp]: Trace formula consists of 145 conjuncts, 37 conjunts are in the unsatisfiable core [2022-04-15 07:41:10,712 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:41:10,712 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:41:11,282 INFO L272 TraceCheckUtils]: 0: Hoare triple {10051#true} call ULTIMATE.init(); {10051#true} is VALID [2022-04-15 07:41:11,283 INFO L290 TraceCheckUtils]: 1: Hoare triple {10051#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); {10051#true} is VALID [2022-04-15 07:41:11,283 INFO L290 TraceCheckUtils]: 2: Hoare triple {10051#true} assume true; {10051#true} is VALID [2022-04-15 07:41:11,283 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10051#true} {10051#true} #69#return; {10051#true} is VALID [2022-04-15 07:41:11,283 INFO L272 TraceCheckUtils]: 4: Hoare triple {10051#true} call #t~ret8 := main(); {10051#true} is VALID [2022-04-15 07:41:11,283 INFO L290 TraceCheckUtils]: 5: Hoare triple {10051#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; {10051#true} is VALID [2022-04-15 07:41:11,283 INFO L272 TraceCheckUtils]: 6: Hoare triple {10051#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {10051#true} is VALID [2022-04-15 07:41:11,283 INFO L290 TraceCheckUtils]: 7: Hoare triple {10051#true} ~cond := #in~cond; {10051#true} is VALID [2022-04-15 07:41:11,283 INFO L290 TraceCheckUtils]: 8: Hoare triple {10051#true} assume !(0 == ~cond); {10051#true} is VALID [2022-04-15 07:41:11,283 INFO L290 TraceCheckUtils]: 9: Hoare triple {10051#true} assume true; {10051#true} is VALID [2022-04-15 07:41:11,283 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10051#true} {10051#true} #61#return; {10051#true} is VALID [2022-04-15 07:41:11,283 INFO L290 TraceCheckUtils]: 11: Hoare triple {10051#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {10051#true} is VALID [2022-04-15 07:41:11,283 INFO L272 TraceCheckUtils]: 12: Hoare triple {10051#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {10051#true} is VALID [2022-04-15 07:41:11,283 INFO L290 TraceCheckUtils]: 13: Hoare triple {10051#true} ~cond := #in~cond; {10095#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 07:41:11,284 INFO L290 TraceCheckUtils]: 14: Hoare triple {10095#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {10099#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 07:41:11,284 INFO L290 TraceCheckUtils]: 15: Hoare triple {10099#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {10099#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 07:41:11,284 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {10099#(not (= |assume_abort_if_not_#in~cond| 0))} {10051#true} #63#return; {10106#(and (<= 0 main_~Y~0) (<= main_~Y~0 100))} is VALID [2022-04-15 07:41:11,285 INFO L290 TraceCheckUtils]: 17: Hoare triple {10106#(and (<= 0 main_~Y~0) (<= main_~Y~0 100))} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {10110#(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 100))} is VALID [2022-04-15 07:41:11,285 INFO L290 TraceCheckUtils]: 18: Hoare triple {10110#(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 100))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {10110#(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 100))} is VALID [2022-04-15 07:41:11,285 INFO L272 TraceCheckUtils]: 19: Hoare triple {10110#(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 100))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {10051#true} is VALID [2022-04-15 07:41:11,285 INFO L290 TraceCheckUtils]: 20: Hoare triple {10051#true} ~cond := #in~cond; {10051#true} is VALID [2022-04-15 07:41:11,285 INFO L290 TraceCheckUtils]: 21: Hoare triple {10051#true} assume !(0 == ~cond); {10051#true} is VALID [2022-04-15 07:41:11,285 INFO L290 TraceCheckUtils]: 22: Hoare triple {10051#true} assume true; {10051#true} is VALID [2022-04-15 07:41:11,286 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {10051#true} {10110#(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 100))} #65#return; {10110#(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 100))} is VALID [2022-04-15 07:41:11,286 INFO L290 TraceCheckUtils]: 24: Hoare triple {10110#(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 100))} assume !!(~x~0 <= ~X~0); {10110#(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 100))} is VALID [2022-04-15 07:41:11,287 INFO L290 TraceCheckUtils]: 25: Hoare triple {10110#(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 100))} 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; {10135#(and (= main_~x~0 0) (= main_~y~0 1) (<= 0 main_~Y~0) (<= main_~Y~0 100) (= (+ (* (- 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:41:11,287 INFO L290 TraceCheckUtils]: 26: Hoare triple {10135#(and (= main_~x~0 0) (= main_~y~0 1) (<= 0 main_~Y~0) (<= main_~Y~0 100) (= (+ (* (- 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; {10139#(and (= main_~y~0 1) (= main_~x~0 1) (<= 0 main_~Y~0) (<= main_~Y~0 100) (= (+ (* (- 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:41:11,288 INFO L290 TraceCheckUtils]: 27: Hoare triple {10139#(and (= main_~y~0 1) (= main_~x~0 1) (<= 0 main_~Y~0) (<= main_~Y~0 100) (= (+ (* (- 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; {10139#(and (= main_~y~0 1) (= main_~x~0 1) (<= 0 main_~Y~0) (<= main_~Y~0 100) (= (+ (* (- 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:41:11,288 INFO L272 TraceCheckUtils]: 28: Hoare triple {10139#(and (= main_~y~0 1) (= main_~x~0 1) (<= 0 main_~Y~0) (<= main_~Y~0 100) (= (+ (* (- 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)); {10051#true} is VALID [2022-04-15 07:41:11,288 INFO L290 TraceCheckUtils]: 29: Hoare triple {10051#true} ~cond := #in~cond; {10051#true} is VALID [2022-04-15 07:41:11,288 INFO L290 TraceCheckUtils]: 30: Hoare triple {10051#true} assume !(0 == ~cond); {10051#true} is VALID [2022-04-15 07:41:11,288 INFO L290 TraceCheckUtils]: 31: Hoare triple {10051#true} assume true; {10051#true} is VALID [2022-04-15 07:41:11,289 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {10051#true} {10139#(and (= main_~y~0 1) (= main_~x~0 1) (<= 0 main_~Y~0) (<= main_~Y~0 100) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} #65#return; {10139#(and (= main_~y~0 1) (= main_~x~0 1) (<= 0 main_~Y~0) (<= main_~Y~0 100) (= (+ (* (- 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:41:11,289 INFO L290 TraceCheckUtils]: 33: Hoare triple {10139#(and (= main_~y~0 1) (= main_~x~0 1) (<= 0 main_~Y~0) (<= main_~Y~0 100) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} assume !!(~x~0 <= ~X~0); {10139#(and (= main_~y~0 1) (= main_~x~0 1) (<= 0 main_~Y~0) (<= main_~Y~0 100) (= (+ (* (- 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:41:11,290 INFO L290 TraceCheckUtils]: 34: Hoare triple {10139#(and (= main_~y~0 1) (= main_~x~0 1) (<= 0 main_~Y~0) (<= main_~Y~0 100) (= (+ (* (- 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; {10164#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) main_~v~0) (= main_~y~0 1) (= main_~x~0 1) (<= 0 main_~Y~0) (<= main_~Y~0 100))} is VALID [2022-04-15 07:41:11,290 INFO L290 TraceCheckUtils]: 35: Hoare triple {10164#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) main_~v~0) (= main_~y~0 1) (= main_~x~0 1) (<= 0 main_~Y~0) (<= main_~Y~0 100))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {10168#(and (= (+ (- 1) main_~x~0) 1) (< (* main_~Y~0 4) (* main_~X~0 3)) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) main_~v~0) (= main_~y~0 1) (<= 0 main_~Y~0) (<= main_~Y~0 100))} is VALID [2022-04-15 07:41:11,291 INFO L290 TraceCheckUtils]: 36: Hoare triple {10168#(and (= (+ (- 1) main_~x~0) 1) (< (* main_~Y~0 4) (* main_~X~0 3)) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) main_~v~0) (= main_~y~0 1) (<= 0 main_~Y~0) (<= main_~Y~0 100))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {10168#(and (= (+ (- 1) main_~x~0) 1) (< (* main_~Y~0 4) (* main_~X~0 3)) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) main_~v~0) (= main_~y~0 1) (<= 0 main_~Y~0) (<= main_~Y~0 100))} is VALID [2022-04-15 07:41:11,291 INFO L272 TraceCheckUtils]: 37: Hoare triple {10168#(and (= (+ (- 1) main_~x~0) 1) (< (* main_~Y~0 4) (* main_~X~0 3)) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) main_~v~0) (= main_~y~0 1) (<= 0 main_~Y~0) (<= main_~Y~0 100))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {10051#true} is VALID [2022-04-15 07:41:11,291 INFO L290 TraceCheckUtils]: 38: Hoare triple {10051#true} ~cond := #in~cond; {10051#true} is VALID [2022-04-15 07:41:11,291 INFO L290 TraceCheckUtils]: 39: Hoare triple {10051#true} assume !(0 == ~cond); {10051#true} is VALID [2022-04-15 07:41:11,291 INFO L290 TraceCheckUtils]: 40: Hoare triple {10051#true} assume true; {10051#true} is VALID [2022-04-15 07:41:11,291 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {10051#true} {10168#(and (= (+ (- 1) main_~x~0) 1) (< (* main_~Y~0 4) (* main_~X~0 3)) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) main_~v~0) (= main_~y~0 1) (<= 0 main_~Y~0) (<= main_~Y~0 100))} #65#return; {10168#(and (= (+ (- 1) main_~x~0) 1) (< (* main_~Y~0 4) (* main_~X~0 3)) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) main_~v~0) (= main_~y~0 1) (<= 0 main_~Y~0) (<= main_~Y~0 100))} is VALID [2022-04-15 07:41:11,292 INFO L290 TraceCheckUtils]: 42: Hoare triple {10168#(and (= (+ (- 1) main_~x~0) 1) (< (* main_~Y~0 4) (* main_~X~0 3)) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) main_~v~0) (= main_~y~0 1) (<= 0 main_~Y~0) (<= main_~Y~0 100))} assume !!(~x~0 <= ~X~0); {10168#(and (= (+ (- 1) main_~x~0) 1) (< (* main_~Y~0 4) (* main_~X~0 3)) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) main_~v~0) (= main_~y~0 1) (<= 0 main_~Y~0) (<= main_~Y~0 100))} is VALID [2022-04-15 07:41:11,292 INFO L290 TraceCheckUtils]: 43: Hoare triple {10168#(and (= (+ (- 1) main_~x~0) 1) (< (* main_~Y~0 4) (* main_~X~0 3)) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) main_~v~0) (= main_~y~0 1) (<= 0 main_~Y~0) (<= main_~Y~0 100))} 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; {10193#(and (= (+ (- 1) main_~x~0) 1) (< (* main_~Y~0 4) (* main_~X~0 3)) (= (+ (- 1) main_~y~0) 1) (<= 0 main_~Y~0) (<= main_~Y~0 100) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} is VALID [2022-04-15 07:41:11,293 INFO L290 TraceCheckUtils]: 44: Hoare triple {10193#(and (= (+ (- 1) main_~x~0) 1) (< (* main_~Y~0 4) (* main_~X~0 3)) (= (+ (- 1) main_~y~0) 1) (<= 0 main_~Y~0) (<= main_~Y~0 100) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {10197#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= main_~x~0 3) (= (+ (- 1) main_~y~0) 1) (<= 0 main_~Y~0) (<= main_~Y~0 100) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} is VALID [2022-04-15 07:41:11,293 INFO L290 TraceCheckUtils]: 45: Hoare triple {10197#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= main_~x~0 3) (= (+ (- 1) main_~y~0) 1) (<= 0 main_~Y~0) (<= main_~Y~0 100) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) (+ 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; {10201#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= main_~xy~0 (* main_~X~0 2)) (= (* main_~Y~0 3) main_~yx~0) (<= 0 main_~Y~0) (<= main_~Y~0 100) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} is VALID [2022-04-15 07:41:11,294 INFO L272 TraceCheckUtils]: 46: Hoare triple {10201#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= main_~xy~0 (* main_~X~0 2)) (= (* main_~Y~0 3) main_~yx~0) (<= 0 main_~Y~0) (<= main_~Y~0 100) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) (+ 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)); {10205#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 07:41:11,295 INFO L290 TraceCheckUtils]: 47: Hoare triple {10205#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {10209#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:41:11,295 INFO L290 TraceCheckUtils]: 48: Hoare triple {10209#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {10052#false} is VALID [2022-04-15 07:41:11,295 INFO L290 TraceCheckUtils]: 49: Hoare triple {10052#false} assume !false; {10052#false} is VALID [2022-04-15 07:41:11,295 INFO L134 CoverageAnalysis]: Checked inductivity of 43 backedges. 9 proven. 21 refuted. 0 times theorem prover too weak. 13 trivial. 0 not checked. [2022-04-15 07:41:11,295 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:41:11,779 INFO L290 TraceCheckUtils]: 49: Hoare triple {10052#false} assume !false; {10052#false} is VALID [2022-04-15 07:41:11,780 INFO L290 TraceCheckUtils]: 48: Hoare triple {10209#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {10052#false} is VALID [2022-04-15 07:41:11,780 INFO L290 TraceCheckUtils]: 47: Hoare triple {10205#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {10209#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:41:11,781 INFO L272 TraceCheckUtils]: 46: Hoare triple {10225#(= (+ (* 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)); {10205#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 07:41:11,782 INFO L290 TraceCheckUtils]: 45: Hoare triple {10229#(= (+ (* 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; {10225#(= (+ (* 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:11,783 INFO L290 TraceCheckUtils]: 44: Hoare triple {10233#(= (+ (* (* 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; {10229#(= (+ (* 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:11,785 INFO L290 TraceCheckUtils]: 43: Hoare triple {10229#(= (+ (* 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; {10233#(= (+ (* (* 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:11,785 INFO L290 TraceCheckUtils]: 42: Hoare triple {10229#(= (+ (* 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); {10229#(= (+ (* 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:11,786 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {10051#true} {10229#(= (+ (* 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; {10229#(= (+ (* 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:11,786 INFO L290 TraceCheckUtils]: 40: Hoare triple {10051#true} assume true; {10051#true} is VALID [2022-04-15 07:41:11,786 INFO L290 TraceCheckUtils]: 39: Hoare triple {10051#true} assume !(0 == ~cond); {10051#true} is VALID [2022-04-15 07:41:11,786 INFO L290 TraceCheckUtils]: 38: Hoare triple {10051#true} ~cond := #in~cond; {10051#true} is VALID [2022-04-15 07:41:11,786 INFO L272 TraceCheckUtils]: 37: Hoare triple {10229#(= (+ (* 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)); {10051#true} is VALID [2022-04-15 07:41:11,786 INFO L290 TraceCheckUtils]: 36: Hoare triple {10229#(= (+ (* 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; {10229#(= (+ (* 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:11,788 INFO L290 TraceCheckUtils]: 35: Hoare triple {10233#(= (+ (* (* 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; {10229#(= (+ (* 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:11,788 INFO L290 TraceCheckUtils]: 34: Hoare triple {10264#(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; {10233#(= (+ (* (* 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:11,789 INFO L290 TraceCheckUtils]: 33: Hoare triple {10264#(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); {10264#(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:41:11,789 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {10051#true} {10264#(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)))))} #65#return; {10264#(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:41:11,789 INFO L290 TraceCheckUtils]: 31: Hoare triple {10051#true} assume true; {10051#true} is VALID [2022-04-15 07:41:11,789 INFO L290 TraceCheckUtils]: 30: Hoare triple {10051#true} assume !(0 == ~cond); {10051#true} is VALID [2022-04-15 07:41:11,789 INFO L290 TraceCheckUtils]: 29: Hoare triple {10051#true} ~cond := #in~cond; {10051#true} is VALID [2022-04-15 07:41:11,789 INFO L272 TraceCheckUtils]: 28: Hoare triple {10264#(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)))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {10051#true} is VALID [2022-04-15 07:41:11,790 INFO L290 TraceCheckUtils]: 27: Hoare triple {10264#(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 !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {10264#(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:41:11,791 INFO L290 TraceCheckUtils]: 26: Hoare triple {10289#(or (not (< main_~v~0 0)) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {10264#(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:41:11,793 INFO L290 TraceCheckUtils]: 25: Hoare triple {10293#(or (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 4) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))) (not (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~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; {10289#(or (not (< main_~v~0 0)) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))))} is VALID [2022-04-15 07:41:11,793 INFO L290 TraceCheckUtils]: 24: Hoare triple {10293#(or (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 4) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))) (not (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))))} assume !!(~x~0 <= ~X~0); {10293#(or (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 4) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))) (not (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))))} is VALID [2022-04-15 07:41:11,794 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {10051#true} {10293#(or (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 4) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))) (not (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))))} #65#return; {10293#(or (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 4) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))) (not (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))))} is VALID [2022-04-15 07:41:11,794 INFO L290 TraceCheckUtils]: 22: Hoare triple {10051#true} assume true; {10051#true} is VALID [2022-04-15 07:41:11,794 INFO L290 TraceCheckUtils]: 21: Hoare triple {10051#true} assume !(0 == ~cond); {10051#true} is VALID [2022-04-15 07:41:11,794 INFO L290 TraceCheckUtils]: 20: Hoare triple {10051#true} ~cond := #in~cond; {10051#true} is VALID [2022-04-15 07:41:11,794 INFO L272 TraceCheckUtils]: 19: Hoare triple {10293#(or (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 4) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))) (not (< (+ main_~v~0 (* main_~Y~0 2)) (* 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)); {10051#true} is VALID [2022-04-15 07:41:11,795 INFO L290 TraceCheckUtils]: 18: Hoare triple {10293#(or (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 4) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))) (not (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {10293#(or (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 4) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))) (not (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))))} is VALID [2022-04-15 07:41:11,795 INFO L290 TraceCheckUtils]: 17: Hoare triple {10051#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {10293#(or (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 4) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))) (not (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))))} is VALID [2022-04-15 07:41:11,795 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {10051#true} {10051#true} #63#return; {10051#true} is VALID [2022-04-15 07:41:11,795 INFO L290 TraceCheckUtils]: 15: Hoare triple {10051#true} assume true; {10051#true} is VALID [2022-04-15 07:41:11,795 INFO L290 TraceCheckUtils]: 14: Hoare triple {10051#true} assume !(0 == ~cond); {10051#true} is VALID [2022-04-15 07:41:11,795 INFO L290 TraceCheckUtils]: 13: Hoare triple {10051#true} ~cond := #in~cond; {10051#true} is VALID [2022-04-15 07:41:11,795 INFO L272 TraceCheckUtils]: 12: Hoare triple {10051#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {10051#true} is VALID [2022-04-15 07:41:11,796 INFO L290 TraceCheckUtils]: 11: Hoare triple {10051#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {10051#true} is VALID [2022-04-15 07:41:11,796 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10051#true} {10051#true} #61#return; {10051#true} is VALID [2022-04-15 07:41:11,796 INFO L290 TraceCheckUtils]: 9: Hoare triple {10051#true} assume true; {10051#true} is VALID [2022-04-15 07:41:11,796 INFO L290 TraceCheckUtils]: 8: Hoare triple {10051#true} assume !(0 == ~cond); {10051#true} is VALID [2022-04-15 07:41:11,796 INFO L290 TraceCheckUtils]: 7: Hoare triple {10051#true} ~cond := #in~cond; {10051#true} is VALID [2022-04-15 07:41:11,796 INFO L272 TraceCheckUtils]: 6: Hoare triple {10051#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {10051#true} is VALID [2022-04-15 07:41:11,796 INFO L290 TraceCheckUtils]: 5: Hoare triple {10051#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; {10051#true} is VALID [2022-04-15 07:41:11,796 INFO L272 TraceCheckUtils]: 4: Hoare triple {10051#true} call #t~ret8 := main(); {10051#true} is VALID [2022-04-15 07:41:11,796 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10051#true} {10051#true} #69#return; {10051#true} is VALID [2022-04-15 07:41:11,796 INFO L290 TraceCheckUtils]: 2: Hoare triple {10051#true} assume true; {10051#true} is VALID [2022-04-15 07:41:11,796 INFO L290 TraceCheckUtils]: 1: Hoare triple {10051#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); {10051#true} is VALID [2022-04-15 07:41:11,796 INFO L272 TraceCheckUtils]: 0: Hoare triple {10051#true} call ULTIMATE.init(); {10051#true} is VALID [2022-04-15 07:41:11,796 INFO L134 CoverageAnalysis]: Checked inductivity of 43 backedges. 18 proven. 7 refuted. 0 times theorem prover too weak. 18 trivial. 0 not checked. [2022-04-15 07:41:11,796 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:41:11,797 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1257129476] [2022-04-15 07:41:11,797 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 07:41:11,797 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1491911453] [2022-04-15 07:41:11,797 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1491911453] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:41:11,797 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 07:41:11,797 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 10] total 21 [2022-04-15 07:41:11,797 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:41:11,797 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [534446118] [2022-04-15 07:41:11,797 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [534446118] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:41:11,797 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:41:11,797 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [15] imperfect sequences [] total 15 [2022-04-15 07:41:11,797 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1069893773] [2022-04-15 07:41:11,797 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:41:11,798 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 14 states have (on average 2.142857142857143) 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), 5 states have call predecessors, (6), 4 states have call successors, (6) Word has length 50 [2022-04-15 07:41:11,798 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:41:11,798 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 15 states, 14 states have (on average 2.142857142857143) 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), 5 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-15 07:41:11,833 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:41:11,833 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-04-15 07:41:11,833 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:41:11,834 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-04-15 07:41:11,834 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=69, Invalid=351, Unknown=0, NotChecked=0, Total=420 [2022-04-15 07:41:11,834 INFO L87 Difference]: Start difference. First operand 104 states and 120 transitions. Second operand has 15 states, 14 states have (on average 2.142857142857143) 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), 5 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-15 07:41:12,969 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:41:12,969 INFO L93 Difference]: Finished difference Result 117 states and 135 transitions. [2022-04-15 07:41:12,969 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-15 07:41:12,969 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 14 states have (on average 2.142857142857143) 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), 5 states have call predecessors, (6), 4 states have call successors, (6) Word has length 50 [2022-04-15 07:41:12,969 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:41:12,970 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 14 states have (on average 2.142857142857143) 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), 5 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-15 07:41:12,970 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 64 transitions. [2022-04-15 07:41:12,971 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 14 states have (on average 2.142857142857143) 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), 5 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-15 07:41:12,971 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 64 transitions. [2022-04-15 07:41:12,971 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 64 transitions. [2022-04-15 07:41:13,043 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:41:13,045 INFO L225 Difference]: With dead ends: 117 [2022-04-15 07:41:13,045 INFO L226 Difference]: Without dead ends: 115 [2022-04-15 07:41:13,045 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 102 GetRequests, 78 SyntacticMatches, 2 SemanticMatches, 22 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 112 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=86, Invalid=466, Unknown=0, NotChecked=0, Total=552 [2022-04-15 07:41:13,046 INFO L913 BasicCegarLoop]: 29 mSDtfsCounter, 22 mSDsluCounter, 119 mSDsCounter, 0 mSdLazyCounter, 424 mSolverCounterSat, 8 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 23 SdHoareTripleChecker+Valid, 148 SdHoareTripleChecker+Invalid, 432 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 8 IncrementalHoareTripleChecker+Valid, 424 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-15 07:41:13,046 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [23 Valid, 148 Invalid, 432 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [8 Valid, 424 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-15 07:41:13,046 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 115 states. [2022-04-15 07:41:13,261 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 115 to 111. [2022-04-15 07:41:13,261 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:41:13,261 INFO L82 GeneralOperation]: Start isEquivalent. First operand 115 states. Second operand has 111 states, 81 states have (on average 1.123456790123457) internal successors, (91), 85 states have internal predecessors, (91), 19 states have call successors, (19), 11 states have call predecessors, (19), 10 states have return successors, (17), 14 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-15 07:41:13,262 INFO L74 IsIncluded]: Start isIncluded. First operand 115 states. Second operand has 111 states, 81 states have (on average 1.123456790123457) internal successors, (91), 85 states have internal predecessors, (91), 19 states have call successors, (19), 11 states have call predecessors, (19), 10 states have return successors, (17), 14 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-15 07:41:13,262 INFO L87 Difference]: Start difference. First operand 115 states. Second operand has 111 states, 81 states have (on average 1.123456790123457) internal successors, (91), 85 states have internal predecessors, (91), 19 states have call successors, (19), 11 states have call predecessors, (19), 10 states have return successors, (17), 14 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-15 07:41:13,264 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:41:13,264 INFO L93 Difference]: Finished difference Result 115 states and 133 transitions. [2022-04-15 07:41:13,264 INFO L276 IsEmpty]: Start isEmpty. Operand 115 states and 133 transitions. [2022-04-15 07:41:13,264 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:41:13,264 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:41:13,264 INFO L74 IsIncluded]: Start isIncluded. First operand has 111 states, 81 states have (on average 1.123456790123457) internal successors, (91), 85 states have internal predecessors, (91), 19 states have call successors, (19), 11 states have call predecessors, (19), 10 states have return successors, (17), 14 states have call predecessors, (17), 17 states have call successors, (17) Second operand 115 states. [2022-04-15 07:41:13,264 INFO L87 Difference]: Start difference. First operand has 111 states, 81 states have (on average 1.123456790123457) internal successors, (91), 85 states have internal predecessors, (91), 19 states have call successors, (19), 11 states have call predecessors, (19), 10 states have return successors, (17), 14 states have call predecessors, (17), 17 states have call successors, (17) Second operand 115 states. [2022-04-15 07:41:13,271 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:41:13,272 INFO L93 Difference]: Finished difference Result 115 states and 133 transitions. [2022-04-15 07:41:13,272 INFO L276 IsEmpty]: Start isEmpty. Operand 115 states and 133 transitions. [2022-04-15 07:41:13,272 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:41:13,272 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:41:13,272 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:41:13,272 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:41:13,272 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 111 states, 81 states have (on average 1.123456790123457) internal successors, (91), 85 states have internal predecessors, (91), 19 states have call successors, (19), 11 states have call predecessors, (19), 10 states have return successors, (17), 14 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-15 07:41:13,274 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 111 states to 111 states and 127 transitions. [2022-04-15 07:41:13,274 INFO L78 Accepts]: Start accepts. Automaton has 111 states and 127 transitions. Word has length 50 [2022-04-15 07:41:13,274 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:41:13,274 INFO L478 AbstractCegarLoop]: Abstraction has 111 states and 127 transitions. [2022-04-15 07:41:13,274 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 15 states, 14 states have (on average 2.142857142857143) 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), 5 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-15 07:41:13,274 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 111 states and 127 transitions. [2022-04-15 07:41:17,571 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 127 edges. 125 inductive. 0 not inductive. 2 times theorem prover too weak to decide inductivity. [2022-04-15 07:41:17,571 INFO L276 IsEmpty]: Start isEmpty. Operand 111 states and 127 transitions. [2022-04-15 07:41:17,571 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2022-04-15 07:41:17,571 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:41:17,572 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:17,591 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:41:17,781 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:41:17,781 INFO L403 AbstractCegarLoop]: === Iteration 17 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:41:17,781 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:41:17,782 INFO L85 PathProgramCache]: Analyzing trace with hash -1343557775, now seen corresponding path program 13 times [2022-04-15 07:41:17,782 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:41:17,782 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1536653033] [2022-04-15 07:41:17,782 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 07:41:17,782 INFO L85 PathProgramCache]: Analyzing trace with hash -1343557775, now seen corresponding path program 14 times [2022-04-15 07:41:17,782 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:41:17,782 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1717682948] [2022-04-15 07:41:17,782 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:41:17,782 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:41:17,799 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:41:17,799 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1413439548] [2022-04-15 07:41:17,799 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 07:41:17,799 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:41:17,799 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:41:17,800 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:41:17,801 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:41:17,838 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 07:41:17,838 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:41:17,839 INFO L263 TraceCheckSpWp]: Trace formula consists of 145 conjuncts, 43 conjunts are in the unsatisfiable core [2022-04-15 07:41:17,849 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:41:17,850 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:41:38,337 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 07:41:42,906 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 07:41:49,127 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 07:41:49,362 INFO L272 TraceCheckUtils]: 0: Hoare triple {11063#true} call ULTIMATE.init(); {11063#true} is VALID [2022-04-15 07:41:49,362 INFO L290 TraceCheckUtils]: 1: Hoare triple {11063#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); {11063#true} is VALID [2022-04-15 07:41:49,362 INFO L290 TraceCheckUtils]: 2: Hoare triple {11063#true} assume true; {11063#true} is VALID [2022-04-15 07:41:49,362 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11063#true} {11063#true} #69#return; {11063#true} is VALID [2022-04-15 07:41:49,362 INFO L272 TraceCheckUtils]: 4: Hoare triple {11063#true} call #t~ret8 := main(); {11063#true} is VALID [2022-04-15 07:41:49,362 INFO L290 TraceCheckUtils]: 5: Hoare triple {11063#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; {11063#true} is VALID [2022-04-15 07:41:49,362 INFO L272 TraceCheckUtils]: 6: Hoare triple {11063#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {11063#true} is VALID [2022-04-15 07:41:49,362 INFO L290 TraceCheckUtils]: 7: Hoare triple {11063#true} ~cond := #in~cond; {11063#true} is VALID [2022-04-15 07:41:49,362 INFO L290 TraceCheckUtils]: 8: Hoare triple {11063#true} assume !(0 == ~cond); {11063#true} is VALID [2022-04-15 07:41:49,362 INFO L290 TraceCheckUtils]: 9: Hoare triple {11063#true} assume true; {11063#true} is VALID [2022-04-15 07:41:49,362 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11063#true} {11063#true} #61#return; {11063#true} is VALID [2022-04-15 07:41:49,362 INFO L290 TraceCheckUtils]: 11: Hoare triple {11063#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {11063#true} is VALID [2022-04-15 07:41:49,362 INFO L272 TraceCheckUtils]: 12: Hoare triple {11063#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {11063#true} is VALID [2022-04-15 07:41:49,362 INFO L290 TraceCheckUtils]: 13: Hoare triple {11063#true} ~cond := #in~cond; {11063#true} is VALID [2022-04-15 07:41:49,362 INFO L290 TraceCheckUtils]: 14: Hoare triple {11063#true} assume !(0 == ~cond); {11063#true} is VALID [2022-04-15 07:41:49,363 INFO L290 TraceCheckUtils]: 15: Hoare triple {11063#true} assume true; {11063#true} is VALID [2022-04-15 07:41:49,363 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {11063#true} {11063#true} #63#return; {11063#true} is VALID [2022-04-15 07:41:49,363 INFO L290 TraceCheckUtils]: 17: Hoare triple {11063#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {11119#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} is VALID [2022-04-15 07:41:49,363 INFO L290 TraceCheckUtils]: 18: Hoare triple {11119#(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; {11119#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} is VALID [2022-04-15 07:41:49,363 INFO L272 TraceCheckUtils]: 19: Hoare triple {11119#(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)); {11063#true} is VALID [2022-04-15 07:41:49,363 INFO L290 TraceCheckUtils]: 20: Hoare triple {11063#true} ~cond := #in~cond; {11063#true} is VALID [2022-04-15 07:41:49,363 INFO L290 TraceCheckUtils]: 21: Hoare triple {11063#true} assume !(0 == ~cond); {11063#true} is VALID [2022-04-15 07:41:49,364 INFO L290 TraceCheckUtils]: 22: Hoare triple {11063#true} assume true; {11063#true} is VALID [2022-04-15 07:41:49,364 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {11063#true} {11119#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} #65#return; {11119#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} is VALID [2022-04-15 07:41:49,373 INFO L290 TraceCheckUtils]: 24: Hoare triple {11119#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} assume !!(~x~0 <= ~X~0); {11119#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} is VALID [2022-04-15 07:41:49,374 INFO L290 TraceCheckUtils]: 25: Hoare triple {11119#(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; {11144#(and (= main_~x~0 0) (= (+ (* (- 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:41:49,375 INFO L290 TraceCheckUtils]: 26: Hoare triple {11144#(and (= main_~x~0 0) (= (+ (* (- 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; {11148#(and (= (+ (- 1) main_~x~0) 0) (= (+ (* (- 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:41:49,375 INFO L290 TraceCheckUtils]: 27: Hoare triple {11148#(and (= (+ (- 1) main_~x~0) 0) (= (+ (* (- 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; {11148#(and (= (+ (- 1) main_~x~0) 0) (= (+ (* (- 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:41:49,375 INFO L272 TraceCheckUtils]: 28: Hoare triple {11148#(and (= (+ (- 1) main_~x~0) 0) (= (+ (* (- 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)); {11063#true} is VALID [2022-04-15 07:41:49,375 INFO L290 TraceCheckUtils]: 29: Hoare triple {11063#true} ~cond := #in~cond; {11158#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:41:49,376 INFO L290 TraceCheckUtils]: 30: Hoare triple {11158#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {11162#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:41:49,376 INFO L290 TraceCheckUtils]: 31: Hoare triple {11162#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {11162#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:41:49,377 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {11162#(not (= |__VERIFIER_assert_#in~cond| 0))} {11148#(and (= (+ (- 1) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} #65#return; {11148#(and (= (+ (- 1) main_~x~0) 0) (= (+ (* (- 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:41:49,377 INFO L290 TraceCheckUtils]: 33: Hoare triple {11148#(and (= (+ (- 1) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} assume !!(~x~0 <= ~X~0); {11148#(and (= (+ (- 1) main_~x~0) 0) (= (+ (* (- 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:41:49,378 INFO L290 TraceCheckUtils]: 34: Hoare triple {11148#(and (= (+ (- 1) main_~x~0) 0) (= (+ (* (- 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; {11175#(and (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (+ (- 1) main_~x~0) 0) (not (< (* main_~Y~0 4) (* main_~X~0 3))))} is VALID [2022-04-15 07:41:49,378 INFO L290 TraceCheckUtils]: 35: Hoare triple {11175#(and (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (+ (- 1) main_~x~0) 0) (not (< (* main_~Y~0 4) (* main_~X~0 3))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {11179#(and (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (+ (- 2) main_~x~0) 0) (not (< (* main_~Y~0 4) (* main_~X~0 3))))} is VALID [2022-04-15 07:41:49,379 INFO L290 TraceCheckUtils]: 36: Hoare triple {11179#(and (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (+ (- 2) main_~x~0) 0) (not (< (* main_~Y~0 4) (* main_~X~0 3))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {11183#(and (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (+ (- 2) main_~x~0) 0) (not (< (* main_~Y~0 4) (* main_~X~0 3))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} is VALID [2022-04-15 07:41:49,379 INFO L272 TraceCheckUtils]: 37: Hoare triple {11183#(and (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (+ (- 2) main_~x~0) 0) (not (< (* main_~Y~0 4) (* main_~X~0 3))) (= (* 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)); {11063#true} is VALID [2022-04-15 07:41:49,379 INFO L290 TraceCheckUtils]: 38: Hoare triple {11063#true} ~cond := #in~cond; {11158#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:41:49,379 INFO L290 TraceCheckUtils]: 39: Hoare triple {11158#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {11162#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:41:49,380 INFO L290 TraceCheckUtils]: 40: Hoare triple {11162#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {11162#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:41:49,381 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {11162#(not (= |__VERIFIER_assert_#in~cond| 0))} {11183#(and (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (+ (- 2) main_~x~0) 0) (not (< (* main_~Y~0 4) (* main_~X~0 3))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} #65#return; {11199#(and (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (+ (- 2) main_~x~0) 0) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (< (* main_~Y~0 4) (* main_~X~0 3))))} is VALID [2022-04-15 07:41:49,381 INFO L290 TraceCheckUtils]: 42: Hoare triple {11199#(and (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (+ (- 2) main_~x~0) 0) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (< (* main_~Y~0 4) (* main_~X~0 3))))} assume !!(~x~0 <= ~X~0); {11199#(and (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (+ (- 2) main_~x~0) 0) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (< (* main_~Y~0 4) (* main_~X~0 3))))} is VALID [2022-04-15 07:41:49,382 INFO L290 TraceCheckUtils]: 43: Hoare triple {11199#(and (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (+ (- 2) main_~x~0) 0) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (< (* main_~Y~0 4) (* main_~X~0 3))))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {11206#(and (= (+ (- 2) main_~x~0) 0) (= (+ (* main_~Y~0 main_~x~0 2) (* (- 1) main_~X~0) (* main_~Y~0 2) (* (- 2) main_~X~0 main_~y~0)) (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= 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))) (not (< (* main_~Y~0 4) (* main_~X~0 3))) (< (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0)))} is VALID [2022-04-15 07:41:49,384 INFO L290 TraceCheckUtils]: 44: Hoare triple {11206#(and (= (+ (- 2) main_~x~0) 0) (= (+ (* main_~Y~0 main_~x~0 2) (* (- 1) main_~X~0) (* main_~Y~0 2) (* (- 2) main_~X~0 main_~y~0)) (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= 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))) (not (< (* main_~Y~0 4) (* main_~X~0 3))) (< (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0)))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {11210#(and (= (+ main_~x~0 (- 3)) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2) (* (- 2) main_~X~0 main_~y~0) (* (+ (- 1) main_~x~0) main_~Y~0 2)) (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= 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))) (not (< (* main_~Y~0 4) (* main_~X~0 3))) (< (* 2 (* main_~Y~0 main_~x~0)) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0)))} is VALID [2022-04-15 07:41:49,386 INFO L290 TraceCheckUtils]: 45: Hoare triple {11210#(and (= (+ main_~x~0 (- 3)) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2) (* (- 2) main_~X~0 main_~y~0) (* (+ (- 1) main_~x~0) main_~Y~0 2)) (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= 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))) (not (< (* main_~Y~0 4) (* main_~X~0 3))) (< (* 2 (* main_~Y~0 main_~x~0)) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {11214#(and (= (* main_~Y~0 3) main_~yx~0) (= (* main_~Y~0 8) (+ (* 2 (* (div (* main_~X~0 2) main_~X~0) main_~X~0)) main_~X~0 main_~v~0)) (= (* (div (* main_~X~0 2) main_~X~0) main_~X~0) main_~xy~0) (< (* main_~Y~0 6) (+ (* 2 (* (div (* main_~X~0 2) main_~X~0) main_~X~0)) main_~X~0)) (not (< (* main_~Y~0 4) (* main_~X~0 3))))} is VALID [2022-04-15 07:41:49,387 INFO L272 TraceCheckUtils]: 46: Hoare triple {11214#(and (= (* main_~Y~0 3) main_~yx~0) (= (* main_~Y~0 8) (+ (* 2 (* (div (* main_~X~0 2) main_~X~0) main_~X~0)) main_~X~0 main_~v~0)) (= (* (div (* main_~X~0 2) main_~X~0) main_~X~0) main_~xy~0) (< (* main_~Y~0 6) (+ (* 2 (* (div (* main_~X~0 2) main_~X~0) main_~X~0)) main_~X~0)) (not (< (* main_~Y~0 4) (* main_~X~0 3))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {11218#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 07:41:49,387 INFO L290 TraceCheckUtils]: 47: Hoare triple {11218#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {11222#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:41:49,388 INFO L290 TraceCheckUtils]: 48: Hoare triple {11222#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {11064#false} is VALID [2022-04-15 07:41:49,388 INFO L290 TraceCheckUtils]: 49: Hoare triple {11064#false} assume !false; {11064#false} is VALID [2022-04-15 07:41:49,388 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:41:49,388 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:41:50,467 INFO L290 TraceCheckUtils]: 49: Hoare triple {11064#false} assume !false; {11064#false} is VALID [2022-04-15 07:41:50,468 INFO L290 TraceCheckUtils]: 48: Hoare triple {11222#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {11064#false} is VALID [2022-04-15 07:41:50,468 INFO L290 TraceCheckUtils]: 47: Hoare triple {11218#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {11222#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:41:50,469 INFO L272 TraceCheckUtils]: 46: Hoare triple {11238#(= (+ (* 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)); {11218#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 07:41:50,469 INFO L290 TraceCheckUtils]: 45: Hoare triple {11242#(= (+ (* 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; {11238#(= (+ (* 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:50,471 INFO L290 TraceCheckUtils]: 44: Hoare triple {11246#(= (+ (* (* 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; {11242#(= (+ (* 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:50,472 INFO L290 TraceCheckUtils]: 43: Hoare triple {11250#(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; {11246#(= (+ (* (* 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:50,472 INFO L290 TraceCheckUtils]: 42: Hoare triple {11250#(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); {11250#(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:41:50,473 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {11162#(not (= |__VERIFIER_assert_#in~cond| 0))} {11257#(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; {11250#(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:41:50,474 INFO L290 TraceCheckUtils]: 40: Hoare triple {11162#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {11162#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:41:50,474 INFO L290 TraceCheckUtils]: 39: Hoare triple {11267#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {11162#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:41:50,474 INFO L290 TraceCheckUtils]: 38: Hoare triple {11063#true} ~cond := #in~cond; {11267#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 07:41:50,474 INFO L272 TraceCheckUtils]: 37: Hoare triple {11257#(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)); {11063#true} is VALID [2022-04-15 07:41:50,475 INFO L290 TraceCheckUtils]: 36: Hoare triple {11063#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {11257#(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:41:50,475 INFO L290 TraceCheckUtils]: 35: Hoare triple {11063#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {11063#true} is VALID [2022-04-15 07:41:50,475 INFO L290 TraceCheckUtils]: 34: Hoare triple {11063#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; {11063#true} is VALID [2022-04-15 07:41:50,475 INFO L290 TraceCheckUtils]: 33: Hoare triple {11063#true} assume !!(~x~0 <= ~X~0); {11063#true} is VALID [2022-04-15 07:41:50,475 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {11063#true} {11063#true} #65#return; {11063#true} is VALID [2022-04-15 07:41:50,475 INFO L290 TraceCheckUtils]: 31: Hoare triple {11063#true} assume true; {11063#true} is VALID [2022-04-15 07:41:50,475 INFO L290 TraceCheckUtils]: 30: Hoare triple {11063#true} assume !(0 == ~cond); {11063#true} is VALID [2022-04-15 07:41:50,475 INFO L290 TraceCheckUtils]: 29: Hoare triple {11063#true} ~cond := #in~cond; {11063#true} is VALID [2022-04-15 07:41:50,475 INFO L272 TraceCheckUtils]: 28: Hoare triple {11063#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {11063#true} is VALID [2022-04-15 07:41:50,476 INFO L290 TraceCheckUtils]: 27: Hoare triple {11063#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {11063#true} is VALID [2022-04-15 07:41:50,476 INFO L290 TraceCheckUtils]: 26: Hoare triple {11063#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {11063#true} is VALID [2022-04-15 07:41:50,476 INFO L290 TraceCheckUtils]: 25: Hoare triple {11063#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; {11063#true} is VALID [2022-04-15 07:41:50,476 INFO L290 TraceCheckUtils]: 24: Hoare triple {11063#true} assume !!(~x~0 <= ~X~0); {11063#true} is VALID [2022-04-15 07:41:50,476 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {11063#true} {11063#true} #65#return; {11063#true} is VALID [2022-04-15 07:41:50,476 INFO L290 TraceCheckUtils]: 22: Hoare triple {11063#true} assume true; {11063#true} is VALID [2022-04-15 07:41:50,476 INFO L290 TraceCheckUtils]: 21: Hoare triple {11063#true} assume !(0 == ~cond); {11063#true} is VALID [2022-04-15 07:41:50,476 INFO L290 TraceCheckUtils]: 20: Hoare triple {11063#true} ~cond := #in~cond; {11063#true} is VALID [2022-04-15 07:41:50,476 INFO L272 TraceCheckUtils]: 19: Hoare triple {11063#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {11063#true} is VALID [2022-04-15 07:41:50,476 INFO L290 TraceCheckUtils]: 18: Hoare triple {11063#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {11063#true} is VALID [2022-04-15 07:41:50,476 INFO L290 TraceCheckUtils]: 17: Hoare triple {11063#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {11063#true} is VALID [2022-04-15 07:41:50,476 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {11063#true} {11063#true} #63#return; {11063#true} is VALID [2022-04-15 07:41:50,476 INFO L290 TraceCheckUtils]: 15: Hoare triple {11063#true} assume true; {11063#true} is VALID [2022-04-15 07:41:50,476 INFO L290 TraceCheckUtils]: 14: Hoare triple {11063#true} assume !(0 == ~cond); {11063#true} is VALID [2022-04-15 07:41:50,476 INFO L290 TraceCheckUtils]: 13: Hoare triple {11063#true} ~cond := #in~cond; {11063#true} is VALID [2022-04-15 07:41:50,476 INFO L272 TraceCheckUtils]: 12: Hoare triple {11063#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {11063#true} is VALID [2022-04-15 07:41:50,476 INFO L290 TraceCheckUtils]: 11: Hoare triple {11063#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {11063#true} is VALID [2022-04-15 07:41:50,476 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11063#true} {11063#true} #61#return; {11063#true} is VALID [2022-04-15 07:41:50,477 INFO L290 TraceCheckUtils]: 9: Hoare triple {11063#true} assume true; {11063#true} is VALID [2022-04-15 07:41:50,477 INFO L290 TraceCheckUtils]: 8: Hoare triple {11063#true} assume !(0 == ~cond); {11063#true} is VALID [2022-04-15 07:41:50,477 INFO L290 TraceCheckUtils]: 7: Hoare triple {11063#true} ~cond := #in~cond; {11063#true} is VALID [2022-04-15 07:41:50,477 INFO L272 TraceCheckUtils]: 6: Hoare triple {11063#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {11063#true} is VALID [2022-04-15 07:41:50,477 INFO L290 TraceCheckUtils]: 5: Hoare triple {11063#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; {11063#true} is VALID [2022-04-15 07:41:50,477 INFO L272 TraceCheckUtils]: 4: Hoare triple {11063#true} call #t~ret8 := main(); {11063#true} is VALID [2022-04-15 07:41:50,477 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11063#true} {11063#true} #69#return; {11063#true} is VALID [2022-04-15 07:41:50,477 INFO L290 TraceCheckUtils]: 2: Hoare triple {11063#true} assume true; {11063#true} is VALID [2022-04-15 07:41:50,477 INFO L290 TraceCheckUtils]: 1: Hoare triple {11063#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); {11063#true} is VALID [2022-04-15 07:41:50,477 INFO L272 TraceCheckUtils]: 0: Hoare triple {11063#true} call ULTIMATE.init(); {11063#true} is VALID [2022-04-15 07:41:50,477 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:50,477 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:41:50,477 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1717682948] [2022-04-15 07:41:50,477 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 07:41:50,477 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1413439548] [2022-04-15 07:41:50,478 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1413439548] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:41:50,478 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 07:41:50,478 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 11] total 22 [2022-04-15 07:41:50,478 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:41:50,478 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1536653033] [2022-04-15 07:41:50,478 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1536653033] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:41:50,478 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:41:50,478 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [16] imperfect sequences [] total 16 [2022-04-15 07:41:50,478 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1505276443] [2022-04-15 07:41:50,478 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:41:50,478 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 14 states have (on average 2.142857142857143) 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:41:50,479 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:41:50,479 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), 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:41:50,517 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:41:50,518 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-04-15 07:41:50,518 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:41:50,518 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-04-15 07:41:50,518 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=63, Invalid=399, Unknown=0, NotChecked=0, Total=462 [2022-04-15 07:41:50,518 INFO L87 Difference]: Start difference. First operand 111 states and 127 transitions. Second operand has 16 states, 14 states have (on average 2.142857142857143) 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:41:52,500 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:41:52,500 INFO L93 Difference]: Finished difference Result 134 states and 156 transitions. [2022-04-15 07:41:52,500 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-15 07:41:52,501 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 14 states have (on average 2.142857142857143) 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:41:52,501 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:41:52,501 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 14 states have (on average 2.142857142857143) 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:41:52,502 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 77 transitions. [2022-04-15 07:41:52,502 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 14 states have (on average 2.142857142857143) 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:41:52,502 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 77 transitions. [2022-04-15 07:41:52,502 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 77 transitions. [2022-04-15 07:41:52,586 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 77 edges. 77 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:41:52,588 INFO L225 Difference]: With dead ends: 134 [2022-04-15 07:41:52,588 INFO L226 Difference]: Without dead ends: 121 [2022-04-15 07:41:52,588 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 103 GetRequests, 77 SyntacticMatches, 2 SemanticMatches, 24 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 54 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=93, Invalid=557, Unknown=0, NotChecked=0, Total=650 [2022-04-15 07:41:52,589 INFO L913 BasicCegarLoop]: 27 mSDtfsCounter, 15 mSDsluCounter, 200 mSDsCounter, 0 mSdLazyCounter, 490 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 16 SdHoareTripleChecker+Valid, 227 SdHoareTripleChecker+Invalid, 495 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 490 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.7s IncrementalHoareTripleChecker+Time [2022-04-15 07:41:52,589 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [16 Valid, 227 Invalid, 495 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 490 Invalid, 0 Unknown, 0 Unchecked, 0.7s Time] [2022-04-15 07:41:52,589 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 121 states. [2022-04-15 07:41:52,850 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 121 to 121. [2022-04-15 07:41:52,850 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:41:52,852 INFO L82 GeneralOperation]: Start isEquivalent. First operand 121 states. Second operand has 121 states, 89 states have (on average 1.1235955056179776) internal successors, (100), 93 states have internal predecessors, (100), 20 states have call successors, (20), 12 states have call predecessors, (20), 11 states have return successors, (18), 15 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-15 07:41:52,852 INFO L74 IsIncluded]: Start isIncluded. First operand 121 states. Second operand has 121 states, 89 states have (on average 1.1235955056179776) internal successors, (100), 93 states have internal predecessors, (100), 20 states have call successors, (20), 12 states have call predecessors, (20), 11 states have return successors, (18), 15 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-15 07:41:52,852 INFO L87 Difference]: Start difference. First operand 121 states. Second operand has 121 states, 89 states have (on average 1.1235955056179776) internal successors, (100), 93 states have internal predecessors, (100), 20 states have call successors, (20), 12 states have call predecessors, (20), 11 states have return successors, (18), 15 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-15 07:41:52,854 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:41:52,854 INFO L93 Difference]: Finished difference Result 121 states and 138 transitions. [2022-04-15 07:41:52,854 INFO L276 IsEmpty]: Start isEmpty. Operand 121 states and 138 transitions. [2022-04-15 07:41:52,854 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:41:52,854 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:41:52,855 INFO L74 IsIncluded]: Start isIncluded. First operand has 121 states, 89 states have (on average 1.1235955056179776) internal successors, (100), 93 states have internal predecessors, (100), 20 states have call successors, (20), 12 states have call predecessors, (20), 11 states have return successors, (18), 15 states have call predecessors, (18), 18 states have call successors, (18) Second operand 121 states. [2022-04-15 07:41:52,855 INFO L87 Difference]: Start difference. First operand has 121 states, 89 states have (on average 1.1235955056179776) internal successors, (100), 93 states have internal predecessors, (100), 20 states have call successors, (20), 12 states have call predecessors, (20), 11 states have return successors, (18), 15 states have call predecessors, (18), 18 states have call successors, (18) Second operand 121 states. [2022-04-15 07:41:52,856 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:41:52,856 INFO L93 Difference]: Finished difference Result 121 states and 138 transitions. [2022-04-15 07:41:52,857 INFO L276 IsEmpty]: Start isEmpty. Operand 121 states and 138 transitions. [2022-04-15 07:41:52,857 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:41:52,857 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:41:52,857 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:41:52,857 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:41:52,857 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 121 states, 89 states have (on average 1.1235955056179776) internal successors, (100), 93 states have internal predecessors, (100), 20 states have call successors, (20), 12 states have call predecessors, (20), 11 states have return successors, (18), 15 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-15 07:41:52,859 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 121 states to 121 states and 138 transitions. [2022-04-15 07:41:52,859 INFO L78 Accepts]: Start accepts. Automaton has 121 states and 138 transitions. Word has length 50 [2022-04-15 07:41:52,859 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:41:52,859 INFO L478 AbstractCegarLoop]: Abstraction has 121 states and 138 transitions. [2022-04-15 07:41:52,859 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 16 states, 14 states have (on average 2.142857142857143) 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:41:52,859 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 121 states and 138 transitions. [2022-04-15 07:41:57,179 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 138 edges. 136 inductive. 0 not inductive. 2 times theorem prover too weak to decide inductivity. [2022-04-15 07:41:57,179 INFO L276 IsEmpty]: Start isEmpty. Operand 121 states and 138 transitions. [2022-04-15 07:41:57,179 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2022-04-15 07:41:57,179 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:41:57,179 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:41:57,195 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:41:57,380 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:41:57,380 INFO L403 AbstractCegarLoop]: === Iteration 18 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:41:57,380 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:41:57,380 INFO L85 PathProgramCache]: Analyzing trace with hash 431449587, now seen corresponding path program 5 times [2022-04-15 07:41:57,381 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:41:57,381 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2030145548] [2022-04-15 07:41:57,381 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 07:41:57,381 INFO L85 PathProgramCache]: Analyzing trace with hash 431449587, now seen corresponding path program 6 times [2022-04-15 07:41:57,381 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:41:57,381 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [92535487] [2022-04-15 07:41:57,381 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:41:57,381 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:41:57,390 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:41:57,390 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1394314984] [2022-04-15 07:41:57,390 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-15 07:41:57,390 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:41:57,390 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:41:57,391 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:41:57,392 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:41:57,435 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) [2022-04-15 07:41:57,435 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:41:57,436 INFO L263 TraceCheckSpWp]: Trace formula consists of 147 conjuncts, 54 conjunts are in the unsatisfiable core [2022-04-15 07:41:57,445 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:41:57,446 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:41:58,082 INFO L272 TraceCheckUtils]: 0: Hoare triple {12144#true} call ULTIMATE.init(); {12144#true} is VALID [2022-04-15 07:41:58,082 INFO L290 TraceCheckUtils]: 1: Hoare triple {12144#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); {12144#true} is VALID [2022-04-15 07:41:58,082 INFO L290 TraceCheckUtils]: 2: Hoare triple {12144#true} assume true; {12144#true} is VALID [2022-04-15 07:41:58,083 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {12144#true} {12144#true} #69#return; {12144#true} is VALID [2022-04-15 07:41:58,083 INFO L272 TraceCheckUtils]: 4: Hoare triple {12144#true} call #t~ret8 := main(); {12144#true} is VALID [2022-04-15 07:41:58,083 INFO L290 TraceCheckUtils]: 5: Hoare triple {12144#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; {12144#true} is VALID [2022-04-15 07:41:58,083 INFO L272 TraceCheckUtils]: 6: Hoare triple {12144#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {12144#true} is VALID [2022-04-15 07:41:58,083 INFO L290 TraceCheckUtils]: 7: Hoare triple {12144#true} ~cond := #in~cond; {12144#true} is VALID [2022-04-15 07:41:58,083 INFO L290 TraceCheckUtils]: 8: Hoare triple {12144#true} assume !(0 == ~cond); {12144#true} is VALID [2022-04-15 07:41:58,083 INFO L290 TraceCheckUtils]: 9: Hoare triple {12144#true} assume true; {12144#true} is VALID [2022-04-15 07:41:58,083 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {12144#true} {12144#true} #61#return; {12144#true} is VALID [2022-04-15 07:41:58,083 INFO L290 TraceCheckUtils]: 11: Hoare triple {12144#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {12144#true} is VALID [2022-04-15 07:41:58,083 INFO L272 TraceCheckUtils]: 12: Hoare triple {12144#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {12144#true} is VALID [2022-04-15 07:41:58,083 INFO L290 TraceCheckUtils]: 13: Hoare triple {12144#true} ~cond := #in~cond; {12144#true} is VALID [2022-04-15 07:41:58,083 INFO L290 TraceCheckUtils]: 14: Hoare triple {12144#true} assume !(0 == ~cond); {12144#true} is VALID [2022-04-15 07:41:58,083 INFO L290 TraceCheckUtils]: 15: Hoare triple {12144#true} assume true; {12144#true} is VALID [2022-04-15 07:41:58,083 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {12144#true} {12144#true} #63#return; {12144#true} is VALID [2022-04-15 07:41:58,084 INFO L290 TraceCheckUtils]: 17: Hoare triple {12144#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {12200#(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:41:58,084 INFO L290 TraceCheckUtils]: 18: Hoare triple {12200#(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; {12200#(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:41:58,084 INFO L272 TraceCheckUtils]: 19: Hoare triple {12200#(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)); {12144#true} is VALID [2022-04-15 07:41:58,084 INFO L290 TraceCheckUtils]: 20: Hoare triple {12144#true} ~cond := #in~cond; {12144#true} is VALID [2022-04-15 07:41:58,084 INFO L290 TraceCheckUtils]: 21: Hoare triple {12144#true} assume !(0 == ~cond); {12144#true} is VALID [2022-04-15 07:41:58,084 INFO L290 TraceCheckUtils]: 22: Hoare triple {12144#true} assume true; {12144#true} is VALID [2022-04-15 07:41:58,085 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {12144#true} {12200#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} #65#return; {12200#(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:41:58,085 INFO L290 TraceCheckUtils]: 24: Hoare triple {12200#(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); {12200#(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:41:58,086 INFO L290 TraceCheckUtils]: 25: Hoare triple {12200#(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; {12225#(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:41:58,086 INFO L290 TraceCheckUtils]: 26: Hoare triple {12225#(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; {12229#(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:41:58,087 INFO L290 TraceCheckUtils]: 27: Hoare triple {12229#(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; {12233#(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:41:58,087 INFO L272 TraceCheckUtils]: 28: Hoare triple {12233#(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)); {12144#true} is VALID [2022-04-15 07:41:58,087 INFO L290 TraceCheckUtils]: 29: Hoare triple {12144#true} ~cond := #in~cond; {12240#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:41:58,087 INFO L290 TraceCheckUtils]: 30: Hoare triple {12240#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {12244#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:41:58,088 INFO L290 TraceCheckUtils]: 31: Hoare triple {12244#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {12244#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:41:58,088 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {12244#(not (= |__VERIFIER_assert_#in~cond| 0))} {12233#(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; {12229#(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:41:58,089 INFO L290 TraceCheckUtils]: 33: Hoare triple {12229#(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); {12254#(and (= (+ (- 1) main_~x~0) 0) (<= main_~x~0 main_~X~0) (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-15 07:41:58,089 INFO L290 TraceCheckUtils]: 34: Hoare triple {12254#(and (= (+ (- 1) main_~x~0) 0) (<= main_~x~0 main_~X~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 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {12258#(and (= main_~y~0 2) (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (+ (- 1) main_~x~0) 0) (<= main_~x~0 main_~X~0))} is VALID [2022-04-15 07:41:58,090 INFO L290 TraceCheckUtils]: 35: Hoare triple {12258#(and (= main_~y~0 2) (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (+ (- 1) main_~x~0) 0) (<= main_~x~0 main_~X~0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {12262#(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 1)))} is VALID [2022-04-15 07:41:58,090 INFO L290 TraceCheckUtils]: 36: Hoare triple {12262#(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 1)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {12266#(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_~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:41:58,090 INFO L272 TraceCheckUtils]: 37: Hoare triple {12266#(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_~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)); {12144#true} is VALID [2022-04-15 07:41:58,090 INFO L290 TraceCheckUtils]: 38: Hoare triple {12144#true} ~cond := #in~cond; {12240#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:41:58,091 INFO L290 TraceCheckUtils]: 39: Hoare triple {12240#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {12244#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:41:58,091 INFO L290 TraceCheckUtils]: 40: Hoare triple {12244#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {12244#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:41:58,092 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {12244#(not (= |__VERIFIER_assert_#in~cond| 0))} {12266#(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_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= main_~x~0 (+ main_~X~0 1)))} #65#return; {12262#(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 1)))} is VALID [2022-04-15 07:41:58,092 INFO L290 TraceCheckUtils]: 42: Hoare triple {12262#(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 1)))} assume !!(~x~0 <= ~X~0); {12262#(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 1)))} is VALID [2022-04-15 07:41:58,093 INFO L290 TraceCheckUtils]: 43: Hoare triple {12262#(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 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; {12288#(and (= (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (+ (- 2) main_~x~0) 0) (= main_~y~0 3) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-15 07:41:58,093 INFO L290 TraceCheckUtils]: 44: Hoare triple {12288#(and (= (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (+ (- 2) main_~x~0) 0) (= main_~y~0 3) (<= main_~x~0 (+ main_~X~0 1)))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {12292#(and (= (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (+ main_~x~0 (- 3)) 0) (= main_~y~0 3) (<= main_~x~0 (+ main_~X~0 2)))} is VALID [2022-04-15 07:41:58,094 INFO L290 TraceCheckUtils]: 45: Hoare triple {12292#(and (= (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (+ main_~x~0 (- 3)) 0) (= main_~y~0 3) (<= main_~x~0 (+ main_~X~0 2)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {12296#(and (= (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (* main_~Y~0 3) main_~yx~0) (= main_~xy~0 (* main_~X~0 3)) (<= 1 main_~X~0))} is VALID [2022-04-15 07:41:58,094 INFO L272 TraceCheckUtils]: 46: Hoare triple {12296#(and (= (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (* main_~Y~0 3) main_~yx~0) (= main_~xy~0 (* main_~X~0 3)) (<= 1 main_~X~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {12300#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 07:41:58,095 INFO L290 TraceCheckUtils]: 47: Hoare triple {12300#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {12304#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:41:58,095 INFO L290 TraceCheckUtils]: 48: Hoare triple {12304#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {12145#false} is VALID [2022-04-15 07:41:58,095 INFO L290 TraceCheckUtils]: 49: Hoare triple {12145#false} assume !false; {12145#false} is VALID [2022-04-15 07:41:58,095 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:41:58,095 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:42:02,529 INFO L290 TraceCheckUtils]: 49: Hoare triple {12145#false} assume !false; {12145#false} is VALID [2022-04-15 07:42:02,530 INFO L290 TraceCheckUtils]: 48: Hoare triple {12304#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {12145#false} is VALID [2022-04-15 07:42:02,530 INFO L290 TraceCheckUtils]: 47: Hoare triple {12300#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {12304#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:42:02,531 INFO L272 TraceCheckUtils]: 46: Hoare triple {12320#(= (+ (* 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)); {12300#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 07:42:02,532 INFO L290 TraceCheckUtils]: 45: Hoare triple {12324#(= (+ (* 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; {12320#(= (+ (* 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:02,534 INFO L290 TraceCheckUtils]: 44: Hoare triple {12328#(= (+ (* (* 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; {12324#(= (+ (* 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:02,536 INFO L290 TraceCheckUtils]: 43: Hoare triple {12324#(= (+ (* 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; {12328#(= (+ (* (* 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:02,536 INFO L290 TraceCheckUtils]: 42: Hoare triple {12324#(= (+ (* 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); {12324#(= (+ (* 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:02,537 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {12244#(not (= |__VERIFIER_assert_#in~cond| 0))} {12338#(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; {12324#(= (+ (* 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:02,537 INFO L290 TraceCheckUtils]: 40: Hoare triple {12244#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {12244#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:42:02,537 INFO L290 TraceCheckUtils]: 39: Hoare triple {12348#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {12244#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:42:02,538 INFO L290 TraceCheckUtils]: 38: Hoare triple {12144#true} ~cond := #in~cond; {12348#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 07:42:02,538 INFO L272 TraceCheckUtils]: 37: Hoare triple {12338#(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)); {12144#true} is VALID [2022-04-15 07:42:02,538 INFO L290 TraceCheckUtils]: 36: Hoare triple {12144#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {12338#(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:02,538 INFO L290 TraceCheckUtils]: 35: Hoare triple {12144#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {12144#true} is VALID [2022-04-15 07:42:02,539 INFO L290 TraceCheckUtils]: 34: Hoare triple {12144#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; {12144#true} is VALID [2022-04-15 07:42:02,539 INFO L290 TraceCheckUtils]: 33: Hoare triple {12144#true} assume !!(~x~0 <= ~X~0); {12144#true} is VALID [2022-04-15 07:42:02,539 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {12144#true} {12144#true} #65#return; {12144#true} is VALID [2022-04-15 07:42:02,539 INFO L290 TraceCheckUtils]: 31: Hoare triple {12144#true} assume true; {12144#true} is VALID [2022-04-15 07:42:02,539 INFO L290 TraceCheckUtils]: 30: Hoare triple {12144#true} assume !(0 == ~cond); {12144#true} is VALID [2022-04-15 07:42:02,539 INFO L290 TraceCheckUtils]: 29: Hoare triple {12144#true} ~cond := #in~cond; {12144#true} is VALID [2022-04-15 07:42:02,539 INFO L272 TraceCheckUtils]: 28: Hoare triple {12144#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {12144#true} is VALID [2022-04-15 07:42:02,539 INFO L290 TraceCheckUtils]: 27: Hoare triple {12144#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {12144#true} is VALID [2022-04-15 07:42:02,539 INFO L290 TraceCheckUtils]: 26: Hoare triple {12144#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {12144#true} is VALID [2022-04-15 07:42:02,539 INFO L290 TraceCheckUtils]: 25: Hoare triple {12144#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; {12144#true} is VALID [2022-04-15 07:42:02,539 INFO L290 TraceCheckUtils]: 24: Hoare triple {12144#true} assume !!(~x~0 <= ~X~0); {12144#true} is VALID [2022-04-15 07:42:02,539 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {12144#true} {12144#true} #65#return; {12144#true} is VALID [2022-04-15 07:42:02,539 INFO L290 TraceCheckUtils]: 22: Hoare triple {12144#true} assume true; {12144#true} is VALID [2022-04-15 07:42:02,539 INFO L290 TraceCheckUtils]: 21: Hoare triple {12144#true} assume !(0 == ~cond); {12144#true} is VALID [2022-04-15 07:42:02,539 INFO L290 TraceCheckUtils]: 20: Hoare triple {12144#true} ~cond := #in~cond; {12144#true} is VALID [2022-04-15 07:42:02,539 INFO L272 TraceCheckUtils]: 19: Hoare triple {12144#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {12144#true} is VALID [2022-04-15 07:42:02,539 INFO L290 TraceCheckUtils]: 18: Hoare triple {12144#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {12144#true} is VALID [2022-04-15 07:42:02,539 INFO L290 TraceCheckUtils]: 17: Hoare triple {12144#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {12144#true} is VALID [2022-04-15 07:42:02,539 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {12144#true} {12144#true} #63#return; {12144#true} is VALID [2022-04-15 07:42:02,540 INFO L290 TraceCheckUtils]: 15: Hoare triple {12144#true} assume true; {12144#true} is VALID [2022-04-15 07:42:02,540 INFO L290 TraceCheckUtils]: 14: Hoare triple {12144#true} assume !(0 == ~cond); {12144#true} is VALID [2022-04-15 07:42:02,540 INFO L290 TraceCheckUtils]: 13: Hoare triple {12144#true} ~cond := #in~cond; {12144#true} is VALID [2022-04-15 07:42:02,540 INFO L272 TraceCheckUtils]: 12: Hoare triple {12144#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {12144#true} is VALID [2022-04-15 07:42:02,540 INFO L290 TraceCheckUtils]: 11: Hoare triple {12144#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {12144#true} is VALID [2022-04-15 07:42:02,540 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {12144#true} {12144#true} #61#return; {12144#true} is VALID [2022-04-15 07:42:02,540 INFO L290 TraceCheckUtils]: 9: Hoare triple {12144#true} assume true; {12144#true} is VALID [2022-04-15 07:42:02,540 INFO L290 TraceCheckUtils]: 8: Hoare triple {12144#true} assume !(0 == ~cond); {12144#true} is VALID [2022-04-15 07:42:02,540 INFO L290 TraceCheckUtils]: 7: Hoare triple {12144#true} ~cond := #in~cond; {12144#true} is VALID [2022-04-15 07:42:02,540 INFO L272 TraceCheckUtils]: 6: Hoare triple {12144#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {12144#true} is VALID [2022-04-15 07:42:02,540 INFO L290 TraceCheckUtils]: 5: Hoare triple {12144#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; {12144#true} is VALID [2022-04-15 07:42:02,540 INFO L272 TraceCheckUtils]: 4: Hoare triple {12144#true} call #t~ret8 := main(); {12144#true} is VALID [2022-04-15 07:42:02,540 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {12144#true} {12144#true} #69#return; {12144#true} is VALID [2022-04-15 07:42:02,540 INFO L290 TraceCheckUtils]: 2: Hoare triple {12144#true} assume true; {12144#true} is VALID [2022-04-15 07:42:02,540 INFO L290 TraceCheckUtils]: 1: Hoare triple {12144#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); {12144#true} is VALID [2022-04-15 07:42:02,540 INFO L272 TraceCheckUtils]: 0: Hoare triple {12144#true} call ULTIMATE.init(); {12144#true} is VALID [2022-04-15 07:42:02,541 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:02,541 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:42:02,541 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [92535487] [2022-04-15 07:42:02,541 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 07:42:02,541 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1394314984] [2022-04-15 07:42:02,541 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1394314984] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:42:02,541 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 07:42:02,541 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 10] total 22 [2022-04-15 07:42:02,541 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:42:02,541 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2030145548] [2022-04-15 07:42:02,541 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2030145548] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:42:02,541 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:42:02,541 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [17] imperfect sequences [] total 17 [2022-04-15 07:42:02,541 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [550996184] [2022-04-15 07:42:02,541 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:42:02,542 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 14 states have (on average 2.142857142857143) internal successors, (30), 16 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:02,542 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:42:02,542 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 17 states, 14 states have (on average 2.142857142857143) internal successors, (30), 16 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:02,579 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:02,579 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 17 states [2022-04-15 07:42:02,579 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:42:02,579 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2022-04-15 07:42:02,579 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=69, Invalid=393, Unknown=0, NotChecked=0, Total=462 [2022-04-15 07:42:02,580 INFO L87 Difference]: Start difference. First operand 121 states and 138 transitions. Second operand has 17 states, 14 states have (on average 2.142857142857143) internal successors, (30), 16 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:03,982 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:42:03,982 INFO L93 Difference]: Finished difference Result 142 states and 159 transitions. [2022-04-15 07:42:03,982 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2022-04-15 07:42:03,983 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 14 states have (on average 2.142857142857143) internal successors, (30), 16 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:03,983 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:42:03,983 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 14 states have (on average 2.142857142857143) internal successors, (30), 16 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:03,984 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 65 transitions. [2022-04-15 07:42:03,984 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 14 states have (on average 2.142857142857143) internal successors, (30), 16 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:03,984 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 65 transitions. [2022-04-15 07:42:03,984 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 17 states and 65 transitions. [2022-04-15 07:42:04,053 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:04,055 INFO L225 Difference]: With dead ends: 142 [2022-04-15 07:42:04,055 INFO L226 Difference]: Without dead ends: 140 [2022-04-15 07:42:04,055 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 103 GetRequests, 75 SyntacticMatches, 4 SemanticMatches, 24 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 94 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=97, Invalid=553, Unknown=0, NotChecked=0, Total=650 [2022-04-15 07:42:04,055 INFO L913 BasicCegarLoop]: 28 mSDtfsCounter, 20 mSDsluCounter, 186 mSDsCounter, 0 mSdLazyCounter, 502 mSolverCounterSat, 8 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 22 SdHoareTripleChecker+Valid, 214 SdHoareTripleChecker+Invalid, 510 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 8 IncrementalHoareTripleChecker+Valid, 502 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-15 07:42:04,056 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [22 Valid, 214 Invalid, 510 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [8 Valid, 502 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-15 07:42:04,056 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 140 states. [2022-04-15 07:42:04,297 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 140 to 129. [2022-04-15 07:42:04,297 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:42:04,297 INFO L82 GeneralOperation]: Start isEquivalent. First operand 140 states. Second operand has 129 states, 95 states have (on average 1.1157894736842104) internal successors, (106), 99 states have internal predecessors, (106), 20 states have call successors, (20), 14 states have call predecessors, (20), 13 states have return successors, (18), 15 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-15 07:42:04,297 INFO L74 IsIncluded]: Start isIncluded. First operand 140 states. Second operand has 129 states, 95 states have (on average 1.1157894736842104) internal successors, (106), 99 states have internal predecessors, (106), 20 states have call successors, (20), 14 states have call predecessors, (20), 13 states have return successors, (18), 15 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-15 07:42:04,297 INFO L87 Difference]: Start difference. First operand 140 states. Second operand has 129 states, 95 states have (on average 1.1157894736842104) internal successors, (106), 99 states have internal predecessors, (106), 20 states have call successors, (20), 14 states have call predecessors, (20), 13 states have return successors, (18), 15 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-15 07:42:04,299 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:42:04,299 INFO L93 Difference]: Finished difference Result 140 states and 157 transitions. [2022-04-15 07:42:04,299 INFO L276 IsEmpty]: Start isEmpty. Operand 140 states and 157 transitions. [2022-04-15 07:42:04,300 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:42:04,300 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:42:04,300 INFO L74 IsIncluded]: Start isIncluded. First operand has 129 states, 95 states have (on average 1.1157894736842104) internal successors, (106), 99 states have internal predecessors, (106), 20 states have call successors, (20), 14 states have call predecessors, (20), 13 states have return successors, (18), 15 states have call predecessors, (18), 18 states have call successors, (18) Second operand 140 states. [2022-04-15 07:42:04,300 INFO L87 Difference]: Start difference. First operand has 129 states, 95 states have (on average 1.1157894736842104) internal successors, (106), 99 states have internal predecessors, (106), 20 states have call successors, (20), 14 states have call predecessors, (20), 13 states have return successors, (18), 15 states have call predecessors, (18), 18 states have call successors, (18) Second operand 140 states. [2022-04-15 07:42:04,302 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:42:04,302 INFO L93 Difference]: Finished difference Result 140 states and 157 transitions. [2022-04-15 07:42:04,302 INFO L276 IsEmpty]: Start isEmpty. Operand 140 states and 157 transitions. [2022-04-15 07:42:04,302 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:42:04,302 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:42:04,302 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:42:04,302 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:42:04,302 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 129 states, 95 states have (on average 1.1157894736842104) internal successors, (106), 99 states have internal predecessors, (106), 20 states have call successors, (20), 14 states have call predecessors, (20), 13 states have return successors, (18), 15 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-15 07:42:04,304 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 129 states to 129 states and 144 transitions. [2022-04-15 07:42:04,304 INFO L78 Accepts]: Start accepts. Automaton has 129 states and 144 transitions. Word has length 50 [2022-04-15 07:42:04,304 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:42:04,304 INFO L478 AbstractCegarLoop]: Abstraction has 129 states and 144 transitions. [2022-04-15 07:42:04,304 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 17 states, 14 states have (on average 2.142857142857143) internal successors, (30), 16 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:04,304 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 129 states and 144 transitions. [2022-04-15 07:42:08,668 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 144 edges. 142 inductive. 0 not inductive. 2 times theorem prover too weak to decide inductivity. [2022-04-15 07:42:08,669 INFO L276 IsEmpty]: Start isEmpty. Operand 129 states and 144 transitions. [2022-04-15 07:42:08,669 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 58 [2022-04-15 07:42:08,669 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:42:08,669 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:42:08,685 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:42:08,869 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:42:08,870 INFO L403 AbstractCegarLoop]: === Iteration 19 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:42:08,870 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:42:08,870 INFO L85 PathProgramCache]: Analyzing trace with hash 850213676, now seen corresponding path program 3 times [2022-04-15 07:42:08,870 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:42:08,870 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1661441778] [2022-04-15 07:42:08,871 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 07:42:08,871 INFO L85 PathProgramCache]: Analyzing trace with hash 850213676, now seen corresponding path program 4 times [2022-04-15 07:42:08,871 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:42:08,871 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [287933705] [2022-04-15 07:42:08,871 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:42:08,871 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:42:08,880 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:42:08,880 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1522751194] [2022-04-15 07:42:08,880 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 07:42:08,880 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:42:08,880 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:42:08,881 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:42:08,888 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:42:08,922 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 07:42:08,922 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:42:08,923 INFO L263 TraceCheckSpWp]: Trace formula consists of 118 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-15 07:42:08,935 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:42:08,936 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:42:09,750 INFO L272 TraceCheckUtils]: 0: Hoare triple {13295#true} call ULTIMATE.init(); {13295#true} is VALID [2022-04-15 07:42:09,750 INFO L290 TraceCheckUtils]: 1: Hoare triple {13295#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); {13295#true} is VALID [2022-04-15 07:42:09,750 INFO L290 TraceCheckUtils]: 2: Hoare triple {13295#true} assume true; {13295#true} is VALID [2022-04-15 07:42:09,750 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13295#true} {13295#true} #69#return; {13295#true} is VALID [2022-04-15 07:42:09,751 INFO L272 TraceCheckUtils]: 4: Hoare triple {13295#true} call #t~ret8 := main(); {13295#true} is VALID [2022-04-15 07:42:09,751 INFO L290 TraceCheckUtils]: 5: Hoare triple {13295#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; {13295#true} is VALID [2022-04-15 07:42:09,751 INFO L272 TraceCheckUtils]: 6: Hoare triple {13295#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {13295#true} is VALID [2022-04-15 07:42:09,751 INFO L290 TraceCheckUtils]: 7: Hoare triple {13295#true} ~cond := #in~cond; {13295#true} is VALID [2022-04-15 07:42:09,751 INFO L290 TraceCheckUtils]: 8: Hoare triple {13295#true} assume !(0 == ~cond); {13295#true} is VALID [2022-04-15 07:42:09,751 INFO L290 TraceCheckUtils]: 9: Hoare triple {13295#true} assume true; {13295#true} is VALID [2022-04-15 07:42:09,751 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {13295#true} {13295#true} #61#return; {13295#true} is VALID [2022-04-15 07:42:09,751 INFO L290 TraceCheckUtils]: 11: Hoare triple {13295#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {13295#true} is VALID [2022-04-15 07:42:09,751 INFO L272 TraceCheckUtils]: 12: Hoare triple {13295#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {13295#true} is VALID [2022-04-15 07:42:09,751 INFO L290 TraceCheckUtils]: 13: Hoare triple {13295#true} ~cond := #in~cond; {13295#true} is VALID [2022-04-15 07:42:09,751 INFO L290 TraceCheckUtils]: 14: Hoare triple {13295#true} assume !(0 == ~cond); {13295#true} is VALID [2022-04-15 07:42:09,751 INFO L290 TraceCheckUtils]: 15: Hoare triple {13295#true} assume true; {13295#true} is VALID [2022-04-15 07:42:09,751 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {13295#true} {13295#true} #63#return; {13295#true} is VALID [2022-04-15 07:42:09,752 INFO L290 TraceCheckUtils]: 17: Hoare triple {13295#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {13351#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} is VALID [2022-04-15 07:42:09,752 INFO L290 TraceCheckUtils]: 18: Hoare triple {13351#(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; {13351#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} is VALID [2022-04-15 07:42:09,752 INFO L272 TraceCheckUtils]: 19: Hoare triple {13351#(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)); {13295#true} is VALID [2022-04-15 07:42:09,752 INFO L290 TraceCheckUtils]: 20: Hoare triple {13295#true} ~cond := #in~cond; {13295#true} is VALID [2022-04-15 07:42:09,752 INFO L290 TraceCheckUtils]: 21: Hoare triple {13295#true} assume !(0 == ~cond); {13295#true} is VALID [2022-04-15 07:42:09,752 INFO L290 TraceCheckUtils]: 22: Hoare triple {13295#true} assume true; {13295#true} is VALID [2022-04-15 07:42:09,753 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {13295#true} {13351#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} #65#return; {13351#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} is VALID [2022-04-15 07:42:09,753 INFO L290 TraceCheckUtils]: 24: Hoare triple {13351#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} assume !!(~x~0 <= ~X~0); {13351#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} is VALID [2022-04-15 07:42:09,754 INFO L290 TraceCheckUtils]: 25: Hoare triple {13351#(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; {13376#(and (<= (* main_~Y~0 4) (+ main_~X~0 main_~v~0)) (<= main_~x~0 0))} is VALID [2022-04-15 07:42:09,755 INFO L290 TraceCheckUtils]: 26: Hoare triple {13376#(and (<= (* main_~Y~0 4) (+ main_~X~0 main_~v~0)) (<= main_~x~0 0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {13380#(and (<= (* main_~Y~0 4) (+ main_~X~0 main_~v~0)) (<= main_~x~0 1))} is VALID [2022-04-15 07:42:09,756 INFO L290 TraceCheckUtils]: 27: Hoare triple {13380#(and (<= (* main_~Y~0 4) (+ main_~X~0 main_~v~0)) (<= main_~x~0 1))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {13380#(and (<= (* main_~Y~0 4) (+ main_~X~0 main_~v~0)) (<= main_~x~0 1))} is VALID [2022-04-15 07:42:09,756 INFO L272 TraceCheckUtils]: 28: Hoare triple {13380#(and (<= (* main_~Y~0 4) (+ main_~X~0 main_~v~0)) (<= main_~x~0 1))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {13295#true} is VALID [2022-04-15 07:42:09,756 INFO L290 TraceCheckUtils]: 29: Hoare triple {13295#true} ~cond := #in~cond; {13295#true} is VALID [2022-04-15 07:42:09,756 INFO L290 TraceCheckUtils]: 30: Hoare triple {13295#true} assume !(0 == ~cond); {13295#true} is VALID [2022-04-15 07:42:09,756 INFO L290 TraceCheckUtils]: 31: Hoare triple {13295#true} assume true; {13295#true} is VALID [2022-04-15 07:42:09,757 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {13295#true} {13380#(and (<= (* main_~Y~0 4) (+ main_~X~0 main_~v~0)) (<= main_~x~0 1))} #65#return; {13380#(and (<= (* main_~Y~0 4) (+ main_~X~0 main_~v~0)) (<= main_~x~0 1))} is VALID [2022-04-15 07:42:09,757 INFO L290 TraceCheckUtils]: 33: Hoare triple {13380#(and (<= (* main_~Y~0 4) (+ main_~X~0 main_~v~0)) (<= main_~x~0 1))} assume !!(~x~0 <= ~X~0); {13380#(and (<= (* main_~Y~0 4) (+ main_~X~0 main_~v~0)) (<= main_~x~0 1))} is VALID [2022-04-15 07:42:09,758 INFO L290 TraceCheckUtils]: 34: Hoare triple {13380#(and (<= (* main_~Y~0 4) (+ main_~X~0 main_~v~0)) (<= main_~x~0 1))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {13405#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 4) 1)))} is VALID [2022-04-15 07:42:09,759 INFO L290 TraceCheckUtils]: 35: Hoare triple {13405#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 4) 1)))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {13409#(and (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 4) 1)) (<= main_~x~0 2))} is VALID [2022-04-15 07:42:09,759 INFO L290 TraceCheckUtils]: 36: Hoare triple {13409#(and (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 4) 1)) (<= main_~x~0 2))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {13409#(and (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 4) 1)) (<= main_~x~0 2))} is VALID [2022-04-15 07:42:09,759 INFO L272 TraceCheckUtils]: 37: Hoare triple {13409#(and (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 4) 1)) (<= main_~x~0 2))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {13295#true} is VALID [2022-04-15 07:42:09,760 INFO L290 TraceCheckUtils]: 38: Hoare triple {13295#true} ~cond := #in~cond; {13295#true} is VALID [2022-04-15 07:42:09,760 INFO L290 TraceCheckUtils]: 39: Hoare triple {13295#true} assume !(0 == ~cond); {13295#true} is VALID [2022-04-15 07:42:09,760 INFO L290 TraceCheckUtils]: 40: Hoare triple {13295#true} assume true; {13295#true} is VALID [2022-04-15 07:42:09,760 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {13295#true} {13409#(and (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 4) 1)) (<= main_~x~0 2))} #65#return; {13409#(and (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 4) 1)) (<= main_~x~0 2))} is VALID [2022-04-15 07:42:09,761 INFO L290 TraceCheckUtils]: 42: Hoare triple {13409#(and (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 4) 1)) (<= main_~x~0 2))} assume !!(~x~0 <= ~X~0); {13409#(and (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 4) 1)) (<= main_~x~0 2))} is VALID [2022-04-15 07:42:09,762 INFO L290 TraceCheckUtils]: 43: Hoare triple {13409#(and (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 4) 1)) (<= main_~x~0 2))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {13434#(and (< 0 (div (+ (- 1) main_~X~0) 4)) (<= main_~x~0 2))} is VALID [2022-04-15 07:42:09,762 INFO L290 TraceCheckUtils]: 44: Hoare triple {13434#(and (< 0 (div (+ (- 1) main_~X~0) 4)) (<= main_~x~0 2))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {13438#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 4)))} is VALID [2022-04-15 07:42:09,763 INFO L290 TraceCheckUtils]: 45: Hoare triple {13438#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 4)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {13438#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 4)))} is VALID [2022-04-15 07:42:09,763 INFO L272 TraceCheckUtils]: 46: Hoare triple {13438#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 4)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {13295#true} is VALID [2022-04-15 07:42:09,763 INFO L290 TraceCheckUtils]: 47: Hoare triple {13295#true} ~cond := #in~cond; {13295#true} is VALID [2022-04-15 07:42:09,763 INFO L290 TraceCheckUtils]: 48: Hoare triple {13295#true} assume !(0 == ~cond); {13295#true} is VALID [2022-04-15 07:42:09,763 INFO L290 TraceCheckUtils]: 49: Hoare triple {13295#true} assume true; {13295#true} is VALID [2022-04-15 07:42:09,764 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {13295#true} {13438#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 4)))} #65#return; {13438#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 4)))} is VALID [2022-04-15 07:42:09,764 INFO L290 TraceCheckUtils]: 51: Hoare triple {13438#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 4)))} assume !(~x~0 <= ~X~0); {13296#false} is VALID [2022-04-15 07:42:09,764 INFO L290 TraceCheckUtils]: 52: Hoare triple {13296#false} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {13296#false} is VALID [2022-04-15 07:42:09,764 INFO L272 TraceCheckUtils]: 53: Hoare triple {13296#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)); {13296#false} is VALID [2022-04-15 07:42:09,764 INFO L290 TraceCheckUtils]: 54: Hoare triple {13296#false} ~cond := #in~cond; {13296#false} is VALID [2022-04-15 07:42:09,765 INFO L290 TraceCheckUtils]: 55: Hoare triple {13296#false} assume 0 == ~cond; {13296#false} is VALID [2022-04-15 07:42:09,765 INFO L290 TraceCheckUtils]: 56: Hoare triple {13296#false} assume !false; {13296#false} is VALID [2022-04-15 07:42:09,765 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:42:09,765 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:42:10,157 INFO L290 TraceCheckUtils]: 56: Hoare triple {13296#false} assume !false; {13296#false} is VALID [2022-04-15 07:42:10,158 INFO L290 TraceCheckUtils]: 55: Hoare triple {13296#false} assume 0 == ~cond; {13296#false} is VALID [2022-04-15 07:42:10,158 INFO L290 TraceCheckUtils]: 54: Hoare triple {13296#false} ~cond := #in~cond; {13296#false} is VALID [2022-04-15 07:42:10,158 INFO L272 TraceCheckUtils]: 53: Hoare triple {13296#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)); {13296#false} is VALID [2022-04-15 07:42:10,158 INFO L290 TraceCheckUtils]: 52: Hoare triple {13296#false} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {13296#false} is VALID [2022-04-15 07:42:10,158 INFO L290 TraceCheckUtils]: 51: Hoare triple {13490#(<= main_~x~0 main_~X~0)} assume !(~x~0 <= ~X~0); {13296#false} is VALID [2022-04-15 07:42:10,158 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {13295#true} {13490#(<= main_~x~0 main_~X~0)} #65#return; {13490#(<= main_~x~0 main_~X~0)} is VALID [2022-04-15 07:42:10,159 INFO L290 TraceCheckUtils]: 49: Hoare triple {13295#true} assume true; {13295#true} is VALID [2022-04-15 07:42:10,159 INFO L290 TraceCheckUtils]: 48: Hoare triple {13295#true} assume !(0 == ~cond); {13295#true} is VALID [2022-04-15 07:42:10,159 INFO L290 TraceCheckUtils]: 47: Hoare triple {13295#true} ~cond := #in~cond; {13295#true} is VALID [2022-04-15 07:42:10,159 INFO L272 TraceCheckUtils]: 46: Hoare triple {13490#(<= 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)); {13295#true} is VALID [2022-04-15 07:42:10,159 INFO L290 TraceCheckUtils]: 45: Hoare triple {13490#(<= main_~x~0 main_~X~0)} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {13490#(<= main_~x~0 main_~X~0)} is VALID [2022-04-15 07:42:10,160 INFO L290 TraceCheckUtils]: 44: Hoare triple {13512#(<= (+ main_~x~0 1) main_~X~0)} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {13490#(<= main_~x~0 main_~X~0)} is VALID [2022-04-15 07:42:10,161 INFO L290 TraceCheckUtils]: 43: Hoare triple {13516#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {13512#(<= (+ main_~x~0 1) main_~X~0)} is VALID [2022-04-15 07:42:10,161 INFO L290 TraceCheckUtils]: 42: Hoare triple {13516#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0))} assume !!(~x~0 <= ~X~0); {13516#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-15 07:42:10,161 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {13295#true} {13516#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0))} #65#return; {13516#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-15 07:42:10,161 INFO L290 TraceCheckUtils]: 40: Hoare triple {13295#true} assume true; {13295#true} is VALID [2022-04-15 07:42:10,162 INFO L290 TraceCheckUtils]: 39: Hoare triple {13295#true} assume !(0 == ~cond); {13295#true} is VALID [2022-04-15 07:42:10,162 INFO L290 TraceCheckUtils]: 38: Hoare triple {13295#true} ~cond := #in~cond; {13295#true} is VALID [2022-04-15 07:42:10,162 INFO L272 TraceCheckUtils]: 37: Hoare triple {13516#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {13295#true} is VALID [2022-04-15 07:42:10,162 INFO L290 TraceCheckUtils]: 36: Hoare triple {13516#(or (< 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; {13516#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-15 07:42:10,163 INFO L290 TraceCheckUtils]: 35: Hoare triple {13541#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {13516#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-15 07:42:10,163 INFO L290 TraceCheckUtils]: 34: Hoare triple {13545#(or (<= (+ main_~x~0 2) main_~X~0) (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {13541#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} is VALID [2022-04-15 07:42:10,164 INFO L290 TraceCheckUtils]: 33: Hoare triple {13545#(or (<= (+ main_~x~0 2) main_~X~0) (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)))} assume !!(~x~0 <= ~X~0); {13545#(or (<= (+ main_~x~0 2) main_~X~0) (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)))} is VALID [2022-04-15 07:42:10,164 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {13295#true} {13545#(or (<= (+ main_~x~0 2) main_~X~0) (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)))} #65#return; {13545#(or (<= (+ main_~x~0 2) main_~X~0) (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)))} is VALID [2022-04-15 07:42:10,164 INFO L290 TraceCheckUtils]: 31: Hoare triple {13295#true} assume true; {13295#true} is VALID [2022-04-15 07:42:10,164 INFO L290 TraceCheckUtils]: 30: Hoare triple {13295#true} assume !(0 == ~cond); {13295#true} is VALID [2022-04-15 07:42:10,164 INFO L290 TraceCheckUtils]: 29: Hoare triple {13295#true} ~cond := #in~cond; {13295#true} is VALID [2022-04-15 07:42:10,164 INFO L272 TraceCheckUtils]: 28: Hoare triple {13545#(or (<= (+ main_~x~0 2) main_~X~0) (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {13295#true} is VALID [2022-04-15 07:42:10,165 INFO L290 TraceCheckUtils]: 27: Hoare triple {13545#(or (<= (+ main_~x~0 2) main_~X~0) (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {13545#(or (<= (+ main_~x~0 2) main_~X~0) (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)))} is VALID [2022-04-15 07:42:10,165 INFO L290 TraceCheckUtils]: 26: Hoare triple {13570#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {13545#(or (<= (+ main_~x~0 2) main_~X~0) (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)))} is VALID [2022-04-15 07:42:10,166 INFO L290 TraceCheckUtils]: 25: Hoare triple {13574#(or (<= (+ main_~x~0 3) main_~X~0) (<= 0 (+ main_~v~0 (* main_~Y~0 2))) (<= (* main_~Y~0 2) 0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {13570#(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:42:10,167 INFO L290 TraceCheckUtils]: 24: Hoare triple {13574#(or (<= (+ main_~x~0 3) main_~X~0) (<= 0 (+ main_~v~0 (* main_~Y~0 2))) (<= (* main_~Y~0 2) 0))} assume !!(~x~0 <= ~X~0); {13574#(or (<= (+ main_~x~0 3) main_~X~0) (<= 0 (+ main_~v~0 (* main_~Y~0 2))) (<= (* main_~Y~0 2) 0))} is VALID [2022-04-15 07:42:10,167 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {13295#true} {13574#(or (<= (+ main_~x~0 3) main_~X~0) (<= 0 (+ main_~v~0 (* main_~Y~0 2))) (<= (* main_~Y~0 2) 0))} #65#return; {13574#(or (<= (+ main_~x~0 3) main_~X~0) (<= 0 (+ main_~v~0 (* main_~Y~0 2))) (<= (* main_~Y~0 2) 0))} is VALID [2022-04-15 07:42:10,167 INFO L290 TraceCheckUtils]: 22: Hoare triple {13295#true} assume true; {13295#true} is VALID [2022-04-15 07:42:10,167 INFO L290 TraceCheckUtils]: 21: Hoare triple {13295#true} assume !(0 == ~cond); {13295#true} is VALID [2022-04-15 07:42:10,167 INFO L290 TraceCheckUtils]: 20: Hoare triple {13295#true} ~cond := #in~cond; {13295#true} is VALID [2022-04-15 07:42:10,167 INFO L272 TraceCheckUtils]: 19: Hoare triple {13574#(or (<= (+ main_~x~0 3) main_~X~0) (<= 0 (+ main_~v~0 (* main_~Y~0 2))) (<= (* main_~Y~0 2) 0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {13295#true} is VALID [2022-04-15 07:42:10,168 INFO L290 TraceCheckUtils]: 18: Hoare triple {13574#(or (<= (+ main_~x~0 3) main_~X~0) (<= 0 (+ main_~v~0 (* main_~Y~0 2))) (<= (* main_~Y~0 2) 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {13574#(or (<= (+ main_~x~0 3) main_~X~0) (<= 0 (+ main_~v~0 (* main_~Y~0 2))) (<= (* main_~Y~0 2) 0))} is VALID [2022-04-15 07:42:10,169 INFO L290 TraceCheckUtils]: 17: Hoare triple {13295#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {13574#(or (<= (+ main_~x~0 3) main_~X~0) (<= 0 (+ main_~v~0 (* main_~Y~0 2))) (<= (* main_~Y~0 2) 0))} is VALID [2022-04-15 07:42:10,169 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {13295#true} {13295#true} #63#return; {13295#true} is VALID [2022-04-15 07:42:10,169 INFO L290 TraceCheckUtils]: 15: Hoare triple {13295#true} assume true; {13295#true} is VALID [2022-04-15 07:42:10,169 INFO L290 TraceCheckUtils]: 14: Hoare triple {13295#true} assume !(0 == ~cond); {13295#true} is VALID [2022-04-15 07:42:10,169 INFO L290 TraceCheckUtils]: 13: Hoare triple {13295#true} ~cond := #in~cond; {13295#true} is VALID [2022-04-15 07:42:10,169 INFO L272 TraceCheckUtils]: 12: Hoare triple {13295#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {13295#true} is VALID [2022-04-15 07:42:10,169 INFO L290 TraceCheckUtils]: 11: Hoare triple {13295#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {13295#true} is VALID [2022-04-15 07:42:10,169 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {13295#true} {13295#true} #61#return; {13295#true} is VALID [2022-04-15 07:42:10,169 INFO L290 TraceCheckUtils]: 9: Hoare triple {13295#true} assume true; {13295#true} is VALID [2022-04-15 07:42:10,169 INFO L290 TraceCheckUtils]: 8: Hoare triple {13295#true} assume !(0 == ~cond); {13295#true} is VALID [2022-04-15 07:42:10,169 INFO L290 TraceCheckUtils]: 7: Hoare triple {13295#true} ~cond := #in~cond; {13295#true} is VALID [2022-04-15 07:42:10,169 INFO L272 TraceCheckUtils]: 6: Hoare triple {13295#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {13295#true} is VALID [2022-04-15 07:42:10,169 INFO L290 TraceCheckUtils]: 5: Hoare triple {13295#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; {13295#true} is VALID [2022-04-15 07:42:10,169 INFO L272 TraceCheckUtils]: 4: Hoare triple {13295#true} call #t~ret8 := main(); {13295#true} is VALID [2022-04-15 07:42:10,169 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13295#true} {13295#true} #69#return; {13295#true} is VALID [2022-04-15 07:42:10,169 INFO L290 TraceCheckUtils]: 2: Hoare triple {13295#true} assume true; {13295#true} is VALID [2022-04-15 07:42:10,169 INFO L290 TraceCheckUtils]: 1: Hoare triple {13295#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); {13295#true} is VALID [2022-04-15 07:42:10,169 INFO L272 TraceCheckUtils]: 0: Hoare triple {13295#true} call ULTIMATE.init(); {13295#true} is VALID [2022-04-15 07:42:10,170 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:42:10,170 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:42:10,170 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [287933705] [2022-04-15 07:42:10,170 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 07:42:10,170 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1522751194] [2022-04-15 07:42:10,170 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1522751194] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:42:10,170 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 07:42:10,170 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 16 [2022-04-15 07:42:10,170 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:42:10,170 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1661441778] [2022-04-15 07:42:10,170 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1661441778] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:42:10,170 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:42:10,170 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-15 07:42:10,170 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [881474411] [2022-04-15 07:42:10,171 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:42:10,171 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 3.2222222222222223) internal successors, (29), 9 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:42:10,171 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:42:10,171 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 3.2222222222222223) internal successors, (29), 9 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:42:10,208 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:42:10,208 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-15 07:42:10,208 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:42:10,209 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-15 07:42:10,209 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=61, Invalid=179, Unknown=0, NotChecked=0, Total=240 [2022-04-15 07:42:10,209 INFO L87 Difference]: Start difference. First operand 129 states and 144 transitions. Second operand has 9 states, 9 states have (on average 3.2222222222222223) internal successors, (29), 9 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:42:10,981 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:42:10,982 INFO L93 Difference]: Finished difference Result 140 states and 155 transitions. [2022-04-15 07:42:10,982 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-15 07:42:10,982 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 3.2222222222222223) internal successors, (29), 9 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:42:10,982 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:42:10,982 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 3.2222222222222223) internal successors, (29), 9 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:42:10,983 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 65 transitions. [2022-04-15 07:42:10,983 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 3.2222222222222223) internal successors, (29), 9 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:42:10,983 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 65 transitions. [2022-04-15 07:42:10,983 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 65 transitions. [2022-04-15 07:42:11,040 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:11,042 INFO L225 Difference]: With dead ends: 140 [2022-04-15 07:42:11,042 INFO L226 Difference]: Without dead ends: 132 [2022-04-15 07:42:11,042 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 113 GetRequests, 99 SyntacticMatches, 0 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 37 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=61, Invalid=179, Unknown=0, NotChecked=0, Total=240 [2022-04-15 07:42:11,042 INFO L913 BasicCegarLoop]: 33 mSDtfsCounter, 2 mSDsluCounter, 121 mSDsCounter, 0 mSdLazyCounter, 225 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 2 SdHoareTripleChecker+Valid, 154 SdHoareTripleChecker+Invalid, 228 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 225 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-15 07:42:11,042 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [2 Valid, 154 Invalid, 228 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 225 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-15 07:42:11,043 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 132 states. [2022-04-15 07:42:11,311 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 132 to 130. [2022-04-15 07:42:11,311 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:42:11,312 INFO L82 GeneralOperation]: Start isEquivalent. First operand 132 states. Second operand has 130 states, 96 states have (on average 1.1145833333333333) internal successors, (107), 99 states have internal predecessors, (107), 20 states have call successors, (20), 14 states have call predecessors, (20), 13 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-15 07:42:11,312 INFO L74 IsIncluded]: Start isIncluded. First operand 132 states. Second operand has 130 states, 96 states have (on average 1.1145833333333333) internal successors, (107), 99 states have internal predecessors, (107), 20 states have call successors, (20), 14 states have call predecessors, (20), 13 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-15 07:42:11,312 INFO L87 Difference]: Start difference. First operand 132 states. Second operand has 130 states, 96 states have (on average 1.1145833333333333) internal successors, (107), 99 states have internal predecessors, (107), 20 states have call successors, (20), 14 states have call predecessors, (20), 13 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-15 07:42:11,314 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:42:11,314 INFO L93 Difference]: Finished difference Result 132 states and 147 transitions. [2022-04-15 07:42:11,314 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 147 transitions. [2022-04-15 07:42:11,314 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:42:11,314 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:42:11,314 INFO L74 IsIncluded]: Start isIncluded. First operand has 130 states, 96 states have (on average 1.1145833333333333) internal successors, (107), 99 states have internal predecessors, (107), 20 states have call successors, (20), 14 states have call predecessors, (20), 13 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) Second operand 132 states. [2022-04-15 07:42:11,314 INFO L87 Difference]: Start difference. First operand has 130 states, 96 states have (on average 1.1145833333333333) internal successors, (107), 99 states have internal predecessors, (107), 20 states have call successors, (20), 14 states have call predecessors, (20), 13 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) Second operand 132 states. [2022-04-15 07:42:11,316 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:42:11,316 INFO L93 Difference]: Finished difference Result 132 states and 147 transitions. [2022-04-15 07:42:11,316 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 147 transitions. [2022-04-15 07:42:11,316 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:42:11,316 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:42:11,316 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:42:11,316 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:42:11,316 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 130 states, 96 states have (on average 1.1145833333333333) internal successors, (107), 99 states have internal predecessors, (107), 20 states have call successors, (20), 14 states have call predecessors, (20), 13 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-15 07:42:11,318 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 130 states to 130 states and 145 transitions. [2022-04-15 07:42:11,318 INFO L78 Accepts]: Start accepts. Automaton has 130 states and 145 transitions. Word has length 57 [2022-04-15 07:42:11,318 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:42:11,318 INFO L478 AbstractCegarLoop]: Abstraction has 130 states and 145 transitions. [2022-04-15 07:42:11,318 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 3.2222222222222223) internal successors, (29), 9 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:42:11,318 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 130 states and 145 transitions. [2022-04-15 07:42:15,660 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 145 edges. 143 inductive. 0 not inductive. 2 times theorem prover too weak to decide inductivity. [2022-04-15 07:42:15,661 INFO L276 IsEmpty]: Start isEmpty. Operand 130 states and 145 transitions. [2022-04-15 07:42:15,661 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 58 [2022-04-15 07:42:15,661 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:42:15,661 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:42:15,679 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (19)] Forceful destruction successful, exit code 0 [2022-04-15 07:42:15,875 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:42:15,875 INFO L403 AbstractCegarLoop]: === Iteration 20 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:42:15,876 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:42:15,876 INFO L85 PathProgramCache]: Analyzing trace with hash 55892592, now seen corresponding path program 5 times [2022-04-15 07:42:15,876 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:42:15,876 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [329365212] [2022-04-15 07:42:15,876 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 07:42:15,876 INFO L85 PathProgramCache]: Analyzing trace with hash 55892592, now seen corresponding path program 6 times [2022-04-15 07:42:15,876 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:42:15,876 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [889167642] [2022-04-15 07:42:15,876 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:42:15,877 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:42:15,885 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:42:15,885 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1605697556] [2022-04-15 07:42:15,885 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-15 07:42:15,885 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:42:15,885 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:42:15,886 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:42:15,889 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:42:16,153 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 3 check-sat command(s) [2022-04-15 07:42:16,154 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:42:16,155 INFO L263 TraceCheckSpWp]: Trace formula consists of 136 conjuncts, 43 conjunts are in the unsatisfiable core [2022-04-15 07:42:16,210 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:42:16,211 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:42:32,219 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 07:42:40,870 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 07:42:45,531 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 07:43:32,799 WARN L232 SmtUtils]: Spent 25.56s on a formula simplification that was a NOOP. DAG size: 55 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-04-15 07:44:00,204 INFO L272 TraceCheckUtils]: 0: Hoare triple {14456#true} call ULTIMATE.init(); {14456#true} is VALID [2022-04-15 07:44:00,205 INFO L290 TraceCheckUtils]: 1: Hoare triple {14456#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); {14456#true} is VALID [2022-04-15 07:44:00,205 INFO L290 TraceCheckUtils]: 2: Hoare triple {14456#true} assume true; {14456#true} is VALID [2022-04-15 07:44:00,205 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {14456#true} {14456#true} #69#return; {14456#true} is VALID [2022-04-15 07:44:00,205 INFO L272 TraceCheckUtils]: 4: Hoare triple {14456#true} call #t~ret8 := main(); {14456#true} is VALID [2022-04-15 07:44:00,205 INFO L290 TraceCheckUtils]: 5: Hoare triple {14456#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; {14456#true} is VALID [2022-04-15 07:44:00,205 INFO L272 TraceCheckUtils]: 6: Hoare triple {14456#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {14456#true} is VALID [2022-04-15 07:44:00,205 INFO L290 TraceCheckUtils]: 7: Hoare triple {14456#true} ~cond := #in~cond; {14482#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 07:44:00,206 INFO L290 TraceCheckUtils]: 8: Hoare triple {14482#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {14486#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 07:44:00,206 INFO L290 TraceCheckUtils]: 9: Hoare triple {14486#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {14486#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 07:44:00,206 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {14486#(not (= |assume_abort_if_not_#in~cond| 0))} {14456#true} #61#return; {14493#(and (<= main_~X~0 100) (<= 0 main_~X~0))} is VALID [2022-04-15 07:44:00,207 INFO L290 TraceCheckUtils]: 11: Hoare triple {14493#(and (<= main_~X~0 100) (<= 0 main_~X~0))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {14493#(and (<= main_~X~0 100) (<= 0 main_~X~0))} is VALID [2022-04-15 07:44:00,207 INFO L272 TraceCheckUtils]: 12: Hoare triple {14493#(and (<= main_~X~0 100) (<= 0 main_~X~0))} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {14456#true} is VALID [2022-04-15 07:44:00,207 INFO L290 TraceCheckUtils]: 13: Hoare triple {14456#true} ~cond := #in~cond; {14482#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 07:44:00,207 INFO L290 TraceCheckUtils]: 14: Hoare triple {14482#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {14486#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 07:44:00,208 INFO L290 TraceCheckUtils]: 15: Hoare triple {14486#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {14486#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 07:44:00,208 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {14486#(not (= |assume_abort_if_not_#in~cond| 0))} {14493#(and (<= main_~X~0 100) (<= 0 main_~X~0))} #63#return; {14512#(and (<= main_~X~0 100) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 100))} is VALID [2022-04-15 07:44:00,209 INFO L290 TraceCheckUtils]: 17: Hoare triple {14512#(and (<= main_~X~0 100) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 100))} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {14516#(and (<= main_~X~0 100) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 100))} is VALID [2022-04-15 07:44:00,209 INFO L290 TraceCheckUtils]: 18: Hoare triple {14516#(and (<= main_~X~0 100) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 100))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {14516#(and (<= main_~X~0 100) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 100))} is VALID [2022-04-15 07:44:00,209 INFO L272 TraceCheckUtils]: 19: Hoare triple {14516#(and (<= main_~X~0 100) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 100))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {14456#true} is VALID [2022-04-15 07:44:00,209 INFO L290 TraceCheckUtils]: 20: Hoare triple {14456#true} ~cond := #in~cond; {14456#true} is VALID [2022-04-15 07:44:00,209 INFO L290 TraceCheckUtils]: 21: Hoare triple {14456#true} assume !(0 == ~cond); {14456#true} is VALID [2022-04-15 07:44:00,209 INFO L290 TraceCheckUtils]: 22: Hoare triple {14456#true} assume true; {14456#true} is VALID [2022-04-15 07:44:00,210 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {14456#true} {14516#(and (<= main_~X~0 100) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 100))} #65#return; {14516#(and (<= main_~X~0 100) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 100))} is VALID [2022-04-15 07:44:00,210 INFO L290 TraceCheckUtils]: 24: Hoare triple {14516#(and (<= main_~X~0 100) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 100))} assume !!(~x~0 <= ~X~0); {14516#(and (<= main_~X~0 100) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 100))} is VALID [2022-04-15 07:44:00,211 INFO L290 TraceCheckUtils]: 25: Hoare triple {14516#(and (<= main_~X~0 100) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 100))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {14541#(and (< (* main_~Y~0 2) main_~X~0) (<= main_~X~0 100) (<= 0 main_~Y~0))} is VALID [2022-04-15 07:44:00,211 INFO L290 TraceCheckUtils]: 26: Hoare triple {14541#(and (< (* main_~Y~0 2) main_~X~0) (<= main_~X~0 100) (<= 0 main_~Y~0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {14541#(and (< (* main_~Y~0 2) main_~X~0) (<= main_~X~0 100) (<= 0 main_~Y~0))} is VALID [2022-04-15 07:44:00,211 INFO L290 TraceCheckUtils]: 27: Hoare triple {14541#(and (< (* main_~Y~0 2) main_~X~0) (<= main_~X~0 100) (<= 0 main_~Y~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {14541#(and (< (* main_~Y~0 2) main_~X~0) (<= main_~X~0 100) (<= 0 main_~Y~0))} is VALID [2022-04-15 07:44:00,212 INFO L272 TraceCheckUtils]: 28: Hoare triple {14541#(and (< (* main_~Y~0 2) main_~X~0) (<= main_~X~0 100) (<= 0 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)); {14456#true} is VALID [2022-04-15 07:44:00,212 INFO L290 TraceCheckUtils]: 29: Hoare triple {14456#true} ~cond := #in~cond; {14456#true} is VALID [2022-04-15 07:44:00,212 INFO L290 TraceCheckUtils]: 30: Hoare triple {14456#true} assume !(0 == ~cond); {14456#true} is VALID [2022-04-15 07:44:00,212 INFO L290 TraceCheckUtils]: 31: Hoare triple {14456#true} assume true; {14456#true} is VALID [2022-04-15 07:44:00,212 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {14456#true} {14541#(and (< (* main_~Y~0 2) main_~X~0) (<= main_~X~0 100) (<= 0 main_~Y~0))} #65#return; {14541#(and (< (* main_~Y~0 2) main_~X~0) (<= main_~X~0 100) (<= 0 main_~Y~0))} is VALID [2022-04-15 07:44:00,213 INFO L290 TraceCheckUtils]: 33: Hoare triple {14541#(and (< (* main_~Y~0 2) main_~X~0) (<= main_~X~0 100) (<= 0 main_~Y~0))} assume !!(~x~0 <= ~X~0); {14541#(and (< (* main_~Y~0 2) main_~X~0) (<= main_~X~0 100) (<= 0 main_~Y~0))} is VALID [2022-04-15 07:44:00,213 INFO L290 TraceCheckUtils]: 34: Hoare triple {14541#(and (< (* main_~Y~0 2) main_~X~0) (<= main_~X~0 100) (<= 0 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; {14541#(and (< (* main_~Y~0 2) main_~X~0) (<= main_~X~0 100) (<= 0 main_~Y~0))} is VALID [2022-04-15 07:44:00,214 INFO L290 TraceCheckUtils]: 35: Hoare triple {14541#(and (< (* main_~Y~0 2) main_~X~0) (<= main_~X~0 100) (<= 0 main_~Y~0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {14541#(and (< (* main_~Y~0 2) main_~X~0) (<= main_~X~0 100) (<= 0 main_~Y~0))} is VALID [2022-04-15 07:44:00,214 INFO L290 TraceCheckUtils]: 36: Hoare triple {14541#(and (< (* main_~Y~0 2) main_~X~0) (<= main_~X~0 100) (<= 0 main_~Y~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {14541#(and (< (* main_~Y~0 2) main_~X~0) (<= main_~X~0 100) (<= 0 main_~Y~0))} is VALID [2022-04-15 07:44:00,214 INFO L272 TraceCheckUtils]: 37: Hoare triple {14541#(and (< (* main_~Y~0 2) main_~X~0) (<= main_~X~0 100) (<= 0 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)); {14456#true} is VALID [2022-04-15 07:44:00,214 INFO L290 TraceCheckUtils]: 38: Hoare triple {14456#true} ~cond := #in~cond; {14581#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:44:00,215 INFO L290 TraceCheckUtils]: 39: Hoare triple {14581#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {14585#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:44:00,215 INFO L290 TraceCheckUtils]: 40: Hoare triple {14585#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {14585#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:44:00,216 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {14585#(not (= |__VERIFIER_assert_#in~cond| 0))} {14541#(and (< (* main_~Y~0 2) main_~X~0) (<= main_~X~0 100) (<= 0 main_~Y~0))} #65#return; {14592#(and (< (* main_~Y~0 2) main_~X~0) (<= main_~X~0 100) (= (mod (+ main_~X~0 main_~v~0) 2) 0) (<= 0 main_~Y~0))} is VALID [2022-04-15 07:44:00,217 INFO L290 TraceCheckUtils]: 42: Hoare triple {14592#(and (< (* main_~Y~0 2) main_~X~0) (<= main_~X~0 100) (= (mod (+ main_~X~0 main_~v~0) 2) 0) (<= 0 main_~Y~0))} assume !!(~x~0 <= ~X~0); {14596#(and (<= main_~x~0 main_~X~0) (< (* main_~Y~0 2) main_~X~0) (<= main_~X~0 100) (= (mod (+ main_~X~0 main_~v~0) 2) 0) (<= 0 main_~Y~0))} is VALID [2022-04-15 07:44:00,218 INFO L290 TraceCheckUtils]: 43: Hoare triple {14596#(and (<= main_~x~0 main_~X~0) (< (* main_~Y~0 2) main_~X~0) (<= main_~X~0 100) (= (mod (+ main_~X~0 main_~v~0) 2) 0) (<= 0 main_~Y~0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {14600#(and (<= main_~x~0 main_~X~0) (< (* main_~Y~0 2) main_~X~0) (<= main_~X~0 100) (= (mod (+ main_~X~0 main_~v~0) 2) 0) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~0))} is VALID [2022-04-15 07:44:00,219 INFO L290 TraceCheckUtils]: 44: Hoare triple {14600#(and (<= main_~x~0 main_~X~0) (< (* main_~Y~0 2) main_~X~0) (<= main_~X~0 100) (= (mod (+ main_~X~0 main_~v~0) 2) 0) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {14604#(and (< (* main_~Y~0 2) main_~X~0) (<= main_~X~0 100) (= (mod (+ main_~X~0 main_~v~0) 2) 0) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~0) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-15 07:44:00,220 INFO L290 TraceCheckUtils]: 45: Hoare triple {14604#(and (< (* main_~Y~0 2) main_~X~0) (<= main_~X~0 100) (= (mod (+ main_~X~0 main_~v~0) 2) 0) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~0) (<= main_~x~0 (+ main_~X~0 1)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {14608#(and (< (* main_~Y~0 2) main_~X~0) (<= main_~X~0 100) (= (mod (+ main_~X~0 main_~v~0) 2) 0) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~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:44:00,220 INFO L272 TraceCheckUtils]: 46: Hoare triple {14608#(and (< (* main_~Y~0 2) main_~X~0) (<= main_~X~0 100) (= (mod (+ main_~X~0 main_~v~0) 2) 0) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~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)); {14456#true} is VALID [2022-04-15 07:44:00,220 INFO L290 TraceCheckUtils]: 47: Hoare triple {14456#true} ~cond := #in~cond; {14581#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:44:00,221 INFO L290 TraceCheckUtils]: 48: Hoare triple {14581#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {14585#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:44:00,221 INFO L290 TraceCheckUtils]: 49: Hoare triple {14585#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {14585#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:44:00,223 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {14585#(not (= |__VERIFIER_assert_#in~cond| 0))} {14608#(and (< (* main_~Y~0 2) main_~X~0) (<= main_~X~0 100) (= (mod (+ main_~X~0 main_~v~0) 2) 0) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~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; {14624#(and (< (* main_~Y~0 2) main_~X~0) (<= main_~X~0 100) (= (+ (* 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_~Y~0 2)) (<= 0 main_~Y~0) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-15 07:44:00,223 INFO L290 TraceCheckUtils]: 51: Hoare triple {14624#(and (< (* main_~Y~0 2) main_~X~0) (<= main_~X~0 100) (= (+ (* 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_~Y~0 2)) (<= 0 main_~Y~0) (<= main_~x~0 (+ main_~X~0 1)))} assume !(~x~0 <= ~X~0); {14628#(and (< (* main_~Y~0 2) main_~X~0) (<= main_~X~0 100) (= (+ (* 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_~Y~0 2)) (<= 0 main_~Y~0) (not (<= main_~x~0 main_~X~0)) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-15 07:44:01,604 INFO L290 TraceCheckUtils]: 52: Hoare triple {14628#(and (< (* main_~Y~0 2) main_~X~0) (<= main_~X~0 100) (= (+ (* 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_~Y~0 2)) (<= 0 main_~Y~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; {14632#(and (< (* main_~Y~0 2) main_~X~0) (<= main_~X~0 100) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~0) (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))))))} is VALID [2022-04-15 07:44:01,613 INFO L272 TraceCheckUtils]: 53: Hoare triple {14632#(and (< (* main_~Y~0 2) main_~X~0) (<= main_~X~0 100) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~0) (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))))))} 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)); {14636#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 07:44:01,613 INFO L290 TraceCheckUtils]: 54: Hoare triple {14636#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {14640#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:44:01,613 INFO L290 TraceCheckUtils]: 55: Hoare triple {14640#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {14457#false} is VALID [2022-04-15 07:44:01,614 INFO L290 TraceCheckUtils]: 56: Hoare triple {14457#false} assume !false; {14457#false} is VALID [2022-04-15 07:44:01,614 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 28 proven. 13 refuted. 0 times theorem prover too weak. 19 trivial. 0 not checked. [2022-04-15 07:44:01,614 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:44:13,702 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 07:45:28,625 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 07:45:36,681 INFO L290 TraceCheckUtils]: 56: Hoare triple {14457#false} assume !false; {14457#false} is VALID [2022-04-15 07:45:36,682 INFO L290 TraceCheckUtils]: 55: Hoare triple {14640#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {14457#false} is VALID [2022-04-15 07:45:36,682 INFO L290 TraceCheckUtils]: 54: Hoare triple {14636#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {14640#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:45:36,683 INFO L272 TraceCheckUtils]: 53: Hoare triple {14656#(= (+ (* 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)); {14636#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 07:45:36,684 INFO L290 TraceCheckUtils]: 52: Hoare triple {14660#(= (+ (* 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; {14656#(= (+ (* 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:36,685 INFO L290 TraceCheckUtils]: 51: Hoare triple {14664#(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); {14660#(= (+ (* 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:36,686 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {14585#(not (= |__VERIFIER_assert_#in~cond| 0))} {14668#(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; {14664#(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:36,686 INFO L290 TraceCheckUtils]: 49: Hoare triple {14585#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {14585#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:45:36,687 INFO L290 TraceCheckUtils]: 48: Hoare triple {14678#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {14585#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:45:36,687 INFO L290 TraceCheckUtils]: 47: Hoare triple {14456#true} ~cond := #in~cond; {14678#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 07:45:36,687 INFO L272 TraceCheckUtils]: 46: Hoare triple {14668#(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)); {14456#true} is VALID [2022-04-15 07:45:38,689 WARN L290 TraceCheckUtils]: 45: Hoare triple {14685#(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; {14668#(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:45:39,052 INFO L290 TraceCheckUtils]: 44: Hoare triple {14689#(or (and (or (not (= 0 (mod (+ (* (- 2) (+ main_~x~0 1) main_~Y~0) main_~X~0 main_~v~0) 2))) (= main_~X~0 0) (= (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)) (* 2 (div (+ (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0 (* (+ main_~x~0 1) main_~Y~0)) main_~X~0))) (+ (* 2 (* (+ main_~x~0 1) (div (+ (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0 (* (+ main_~x~0 1) main_~Y~0)) main_~X~0))) main_~X~0 main_~v~0)) (not (= (mod (+ (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0 (* (+ main_~x~0 1) main_~Y~0)) main_~X~0) 0))) (or (not (= 0 (mod (+ (* (- 2) (+ main_~x~0 1) main_~Y~0) main_~X~0 main_~v~0) 2))) (forall ((main_~y~0 Int)) (= (+ (* (* (+ 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))))) (not (= main_~X~0 0)) (not (= (+ (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0 (* (+ main_~x~0 1) main_~Y~0)) 0)))) (<= (+ main_~x~0 1) main_~X~0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {14685#(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:45:40,506 INFO L290 TraceCheckUtils]: 43: Hoare triple {14693#(or (and (or (not (= (+ (div (+ main_~X~0 main_~v~0 (* main_~Y~0 2)) (- 2)) main_~Y~0 (* (+ main_~x~0 1) main_~Y~0)) 0)) (not (= 0 (mod (+ (* (- 2) (+ main_~x~0 1) main_~Y~0) main_~X~0 main_~v~0) 2))) (forall ((main_~y~0 Int)) (= (+ (* (* (+ main_~x~0 1) main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))) (not (= main_~X~0 0))) (or (not (= (mod (+ (div (+ main_~X~0 main_~v~0 (* main_~Y~0 2)) (- 2)) main_~Y~0 (* (+ main_~x~0 1) main_~Y~0)) main_~X~0) 0)) (not (= 0 (mod (+ (* (- 2) (+ main_~x~0 1) main_~Y~0) main_~X~0 main_~v~0) 2))) (= (+ (* (* (+ main_~x~0 1) (div (+ (div (+ main_~X~0 main_~v~0 (* main_~Y~0 2)) (- 2)) main_~Y~0 (* (+ main_~x~0 1) main_~Y~0)) main_~X~0)) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)) (* 2 (div (+ (div (+ main_~X~0 main_~v~0 (* main_~Y~0 2)) (- 2)) main_~Y~0 (* (+ main_~x~0 1) main_~Y~0)) main_~X~0)))) (= main_~X~0 0))) (not (< main_~v~0 0)) (<= (+ main_~x~0 1) main_~X~0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {14689#(or (and (or (not (= 0 (mod (+ (* (- 2) (+ main_~x~0 1) main_~Y~0) main_~X~0 main_~v~0) 2))) (= main_~X~0 0) (= (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)) (* 2 (div (+ (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0 (* (+ main_~x~0 1) main_~Y~0)) main_~X~0))) (+ (* 2 (* (+ main_~x~0 1) (div (+ (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0 (* (+ main_~x~0 1) main_~Y~0)) main_~X~0))) main_~X~0 main_~v~0)) (not (= (mod (+ (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0 (* (+ main_~x~0 1) main_~Y~0)) main_~X~0) 0))) (or (not (= 0 (mod (+ (* (- 2) (+ main_~x~0 1) main_~Y~0) main_~X~0 main_~v~0) 2))) (forall ((main_~y~0 Int)) (= (+ (* (* (+ 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))))) (not (= main_~X~0 0)) (not (= (+ (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0 (* (+ main_~x~0 1) main_~Y~0)) 0)))) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-15 07:45:40,582 INFO L290 TraceCheckUtils]: 42: Hoare triple {14456#true} assume !!(~x~0 <= ~X~0); {14693#(or (and (or (not (= (+ (div (+ main_~X~0 main_~v~0 (* main_~Y~0 2)) (- 2)) main_~Y~0 (* (+ main_~x~0 1) main_~Y~0)) 0)) (not (= 0 (mod (+ (* (- 2) (+ main_~x~0 1) main_~Y~0) main_~X~0 main_~v~0) 2))) (forall ((main_~y~0 Int)) (= (+ (* (* (+ main_~x~0 1) main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))) (not (= main_~X~0 0))) (or (not (= (mod (+ (div (+ main_~X~0 main_~v~0 (* main_~Y~0 2)) (- 2)) main_~Y~0 (* (+ main_~x~0 1) main_~Y~0)) main_~X~0) 0)) (not (= 0 (mod (+ (* (- 2) (+ main_~x~0 1) main_~Y~0) main_~X~0 main_~v~0) 2))) (= (+ (* (* (+ main_~x~0 1) (div (+ (div (+ main_~X~0 main_~v~0 (* main_~Y~0 2)) (- 2)) main_~Y~0 (* (+ main_~x~0 1) main_~Y~0)) main_~X~0)) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)) (* 2 (div (+ (div (+ main_~X~0 main_~v~0 (* main_~Y~0 2)) (- 2)) main_~Y~0 (* (+ main_~x~0 1) main_~Y~0)) main_~X~0)))) (= main_~X~0 0))) (not (< main_~v~0 0)) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-15 07:45:40,582 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {14456#true} {14456#true} #65#return; {14456#true} is VALID [2022-04-15 07:45:40,582 INFO L290 TraceCheckUtils]: 40: Hoare triple {14456#true} assume true; {14456#true} is VALID [2022-04-15 07:45:40,582 INFO L290 TraceCheckUtils]: 39: Hoare triple {14456#true} assume !(0 == ~cond); {14456#true} is VALID [2022-04-15 07:45:40,582 INFO L290 TraceCheckUtils]: 38: Hoare triple {14456#true} ~cond := #in~cond; {14456#true} is VALID [2022-04-15 07:45:40,582 INFO L272 TraceCheckUtils]: 37: Hoare triple {14456#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {14456#true} is VALID [2022-04-15 07:45:40,582 INFO L290 TraceCheckUtils]: 36: Hoare triple {14456#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {14456#true} is VALID [2022-04-15 07:45:40,582 INFO L290 TraceCheckUtils]: 35: Hoare triple {14456#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {14456#true} is VALID [2022-04-15 07:45:40,582 INFO L290 TraceCheckUtils]: 34: Hoare triple {14456#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; {14456#true} is VALID [2022-04-15 07:45:40,582 INFO L290 TraceCheckUtils]: 33: Hoare triple {14456#true} assume !!(~x~0 <= ~X~0); {14456#true} is VALID [2022-04-15 07:45:40,582 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {14456#true} {14456#true} #65#return; {14456#true} is VALID [2022-04-15 07:45:40,582 INFO L290 TraceCheckUtils]: 31: Hoare triple {14456#true} assume true; {14456#true} is VALID [2022-04-15 07:45:40,583 INFO L290 TraceCheckUtils]: 30: Hoare triple {14456#true} assume !(0 == ~cond); {14456#true} is VALID [2022-04-15 07:45:40,583 INFO L290 TraceCheckUtils]: 29: Hoare triple {14456#true} ~cond := #in~cond; {14456#true} is VALID [2022-04-15 07:45:40,583 INFO L272 TraceCheckUtils]: 28: Hoare triple {14456#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {14456#true} is VALID [2022-04-15 07:45:40,583 INFO L290 TraceCheckUtils]: 27: Hoare triple {14456#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {14456#true} is VALID [2022-04-15 07:45:40,583 INFO L290 TraceCheckUtils]: 26: Hoare triple {14456#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {14456#true} is VALID [2022-04-15 07:45:40,583 INFO L290 TraceCheckUtils]: 25: Hoare triple {14456#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {14456#true} is VALID [2022-04-15 07:45:40,583 INFO L290 TraceCheckUtils]: 24: Hoare triple {14456#true} assume !!(~x~0 <= ~X~0); {14456#true} is VALID [2022-04-15 07:45:40,583 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {14456#true} {14456#true} #65#return; {14456#true} is VALID [2022-04-15 07:45:40,583 INFO L290 TraceCheckUtils]: 22: Hoare triple {14456#true} assume true; {14456#true} is VALID [2022-04-15 07:45:40,583 INFO L290 TraceCheckUtils]: 21: Hoare triple {14456#true} assume !(0 == ~cond); {14456#true} is VALID [2022-04-15 07:45:40,583 INFO L290 TraceCheckUtils]: 20: Hoare triple {14456#true} ~cond := #in~cond; {14456#true} is VALID [2022-04-15 07:45:40,583 INFO L272 TraceCheckUtils]: 19: Hoare triple {14456#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {14456#true} is VALID [2022-04-15 07:45:40,583 INFO L290 TraceCheckUtils]: 18: Hoare triple {14456#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {14456#true} is VALID [2022-04-15 07:45:40,583 INFO L290 TraceCheckUtils]: 17: Hoare triple {14456#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {14456#true} is VALID [2022-04-15 07:45:40,583 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {14456#true} {14456#true} #63#return; {14456#true} is VALID [2022-04-15 07:45:40,583 INFO L290 TraceCheckUtils]: 15: Hoare triple {14456#true} assume true; {14456#true} is VALID [2022-04-15 07:45:40,583 INFO L290 TraceCheckUtils]: 14: Hoare triple {14456#true} assume !(0 == ~cond); {14456#true} is VALID [2022-04-15 07:45:40,583 INFO L290 TraceCheckUtils]: 13: Hoare triple {14456#true} ~cond := #in~cond; {14456#true} is VALID [2022-04-15 07:45:40,584 INFO L272 TraceCheckUtils]: 12: Hoare triple {14456#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {14456#true} is VALID [2022-04-15 07:45:40,584 INFO L290 TraceCheckUtils]: 11: Hoare triple {14456#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {14456#true} is VALID [2022-04-15 07:45:40,584 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {14456#true} {14456#true} #61#return; {14456#true} is VALID [2022-04-15 07:45:40,584 INFO L290 TraceCheckUtils]: 9: Hoare triple {14456#true} assume true; {14456#true} is VALID [2022-04-15 07:45:40,584 INFO L290 TraceCheckUtils]: 8: Hoare triple {14456#true} assume !(0 == ~cond); {14456#true} is VALID [2022-04-15 07:45:40,584 INFO L290 TraceCheckUtils]: 7: Hoare triple {14456#true} ~cond := #in~cond; {14456#true} is VALID [2022-04-15 07:45:40,584 INFO L272 TraceCheckUtils]: 6: Hoare triple {14456#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {14456#true} is VALID [2022-04-15 07:45:40,584 INFO L290 TraceCheckUtils]: 5: Hoare triple {14456#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; {14456#true} is VALID [2022-04-15 07:45:40,584 INFO L272 TraceCheckUtils]: 4: Hoare triple {14456#true} call #t~ret8 := main(); {14456#true} is VALID [2022-04-15 07:45:40,584 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {14456#true} {14456#true} #69#return; {14456#true} is VALID [2022-04-15 07:45:40,584 INFO L290 TraceCheckUtils]: 2: Hoare triple {14456#true} assume true; {14456#true} is VALID [2022-04-15 07:45:40,584 INFO L290 TraceCheckUtils]: 1: Hoare triple {14456#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); {14456#true} is VALID [2022-04-15 07:45:40,584 INFO L272 TraceCheckUtils]: 0: Hoare triple {14456#true} call ULTIMATE.init(); {14456#true} is VALID [2022-04-15 07:45:40,584 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:40,585 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:45:40,585 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [889167642] [2022-04-15 07:45:40,585 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 07:45:40,585 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1605697556] [2022-04-15 07:45:40,585 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1605697556] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:45:40,585 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 07:45:40,585 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [20, 13] total 28 [2022-04-15 07:45:40,585 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:45:40,585 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [329365212] [2022-04-15 07:45:40,585 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [329365212] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:45:40,585 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:45:40,585 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [20] imperfect sequences [] total 20 [2022-04-15 07:45:40,585 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1969830574] [2022-04-15 07:45:40,586 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:45:40,586 INFO L78 Accepts]: Start accepts. Automaton has has 20 states, 18 states have (on average 1.6666666666666667) internal successors, (30), 16 states have internal predecessors, (30), 6 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (7), 7 states have call predecessors, (7), 5 states have call successors, (7) Word has length 57 [2022-04-15 07:45:40,586 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:45:40,586 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 20 states, 18 states have (on average 1.6666666666666667) internal successors, (30), 16 states have internal predecessors, (30), 6 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (7), 7 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-15 07:45:42,641 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 45 edges. 44 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-15 07:45:42,641 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 20 states [2022-04-15 07:45:42,641 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:45:42,641 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 20 interpolants. [2022-04-15 07:45:42,642 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=124, Invalid=626, Unknown=6, NotChecked=0, Total=756 [2022-04-15 07:45:42,642 INFO L87 Difference]: Start difference. First operand 130 states and 145 transitions. Second operand has 20 states, 18 states have (on average 1.6666666666666667) internal successors, (30), 16 states have internal predecessors, (30), 6 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (7), 7 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-15 07:45:44,721 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.61s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 07:45:47,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:49,680 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,432 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:02,827 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.31s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 07:46:24,553 WARN L232 SmtUtils]: Spent 5.82s on a formula simplification. DAG size of input: 65 DAG size of output: 59 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-04-15 07:46:25,731 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.13s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 07:46:27,314 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.58s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 07:46:28,711 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.34s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 07:46:33,014 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:46:33,014 INFO L93 Difference]: Finished difference Result 138 states and 152 transitions. [2022-04-15 07:46:33,014 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 21 states. [2022-04-15 07:46:33,015 INFO L78 Accepts]: Start accepts. Automaton has has 20 states, 18 states have (on average 1.6666666666666667) internal successors, (30), 16 states have internal predecessors, (30), 6 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (7), 7 states have call predecessors, (7), 5 states have call successors, (7) Word has length 57 [2022-04-15 07:46:33,015 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:46:33,015 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 20 states, 18 states have (on average 1.6666666666666667) internal successors, (30), 16 states have internal predecessors, (30), 6 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (7), 7 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-15 07:46:33,015 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 60 transitions. [2022-04-15 07:46:33,016 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 20 states, 18 states have (on average 1.6666666666666667) internal successors, (30), 16 states have internal predecessors, (30), 6 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (7), 7 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-15 07:46:33,016 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 60 transitions. [2022-04-15 07:46:33,016 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 21 states and 60 transitions. [2022-04-15 07:46:35,099 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 59 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-15 07:46:35,101 INFO L225 Difference]: With dead ends: 138 [2022-04-15 07:46:35,101 INFO L226 Difference]: Without dead ends: 130 [2022-04-15 07:46:35,101 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 121 GetRequests, 86 SyntacticMatches, 1 SemanticMatches, 34 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 256 ImplicationChecksByTransitivity, 80.5s TimeCoverageRelationStatistics Valid=216, Invalid=1036, Unknown=8, NotChecked=0, Total=1260 [2022-04-15 07:46:35,102 INFO L913 BasicCegarLoop]: 20 mSDtfsCounter, 31 mSDsluCounter, 115 mSDsCounter, 0 mSdLazyCounter, 347 mSolverCounterSat, 17 mSolverCounterUnsat, 3 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 14.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 34 SdHoareTripleChecker+Valid, 135 SdHoareTripleChecker+Invalid, 367 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 17 IncrementalHoareTripleChecker+Valid, 347 IncrementalHoareTripleChecker+Invalid, 3 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 14.8s IncrementalHoareTripleChecker+Time [2022-04-15 07:46:35,102 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [34 Valid, 135 Invalid, 367 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [17 Valid, 347 Invalid, 3 Unknown, 0 Unchecked, 14.8s Time] [2022-04-15 07:46:35,102 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 130 states. [2022-04-15 07:46:35,404 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 130 to 128. [2022-04-15 07:46:35,404 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:46:35,404 INFO L82 GeneralOperation]: Start isEquivalent. First operand 130 states. Second operand has 128 states, 94 states have (on average 1.0957446808510638) internal successors, (103), 99 states have internal predecessors, (103), 20 states have call successors, (20), 14 states have call predecessors, (20), 13 states have return successors, (18), 14 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-15 07:46:35,404 INFO L74 IsIncluded]: Start isIncluded. First operand 130 states. Second operand has 128 states, 94 states have (on average 1.0957446808510638) internal successors, (103), 99 states have internal predecessors, (103), 20 states have call successors, (20), 14 states have call predecessors, (20), 13 states have return successors, (18), 14 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-15 07:46:35,404 INFO L87 Difference]: Start difference. First operand 130 states. Second operand has 128 states, 94 states have (on average 1.0957446808510638) internal successors, (103), 99 states have internal predecessors, (103), 20 states have call successors, (20), 14 states have call predecessors, (20), 13 states have return successors, (18), 14 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-15 07:46:35,406 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:46:35,406 INFO L93 Difference]: Finished difference Result 130 states and 143 transitions. [2022-04-15 07:46:35,406 INFO L276 IsEmpty]: Start isEmpty. Operand 130 states and 143 transitions. [2022-04-15 07:46:35,407 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:46:35,407 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:46:35,407 INFO L74 IsIncluded]: Start isIncluded. First operand has 128 states, 94 states have (on average 1.0957446808510638) internal successors, (103), 99 states have internal predecessors, (103), 20 states have call successors, (20), 14 states have call predecessors, (20), 13 states have return successors, (18), 14 states have call predecessors, (18), 18 states have call successors, (18) Second operand 130 states. [2022-04-15 07:46:35,407 INFO L87 Difference]: Start difference. First operand has 128 states, 94 states have (on average 1.0957446808510638) internal successors, (103), 99 states have internal predecessors, (103), 20 states have call successors, (20), 14 states have call predecessors, (20), 13 states have return successors, (18), 14 states have call predecessors, (18), 18 states have call successors, (18) Second operand 130 states. [2022-04-15 07:46:35,408 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:46:35,408 INFO L93 Difference]: Finished difference Result 130 states and 143 transitions. [2022-04-15 07:46:35,408 INFO L276 IsEmpty]: Start isEmpty. Operand 130 states and 143 transitions. [2022-04-15 07:46:35,409 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:46:35,409 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:46:35,409 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:46:35,409 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:46:35,409 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 128 states, 94 states have (on average 1.0957446808510638) internal successors, (103), 99 states have internal predecessors, (103), 20 states have call successors, (20), 14 states have call predecessors, (20), 13 states have return successors, (18), 14 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-15 07:46:35,410 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 128 states to 128 states and 141 transitions. [2022-04-15 07:46:35,411 INFO L78 Accepts]: Start accepts. Automaton has 128 states and 141 transitions. Word has length 57 [2022-04-15 07:46:35,411 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:46:35,411 INFO L478 AbstractCegarLoop]: Abstraction has 128 states and 141 transitions. [2022-04-15 07:46:35,411 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 20 states, 18 states have (on average 1.6666666666666667) internal successors, (30), 16 states have internal predecessors, (30), 6 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (7), 7 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-15 07:46:35,411 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 128 states and 141 transitions. [2022-04-15 07:46:39,735 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 141 edges. 139 inductive. 0 not inductive. 2 times theorem prover too weak to decide inductivity. [2022-04-15 07:46:39,735 INFO L276 IsEmpty]: Start isEmpty. Operand 128 states and 141 transitions. [2022-04-15 07:46:39,736 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 58 [2022-04-15 07:46:39,736 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:46:39,736 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:46:39,742 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:46:39,940 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:46:39,940 INFO L403 AbstractCegarLoop]: === Iteration 21 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:46:39,940 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:46:39,940 INFO L85 PathProgramCache]: Analyzing trace with hash 1124973290, now seen corresponding path program 7 times [2022-04-15 07:46:39,941 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:46:39,941 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1285483737] [2022-04-15 07:46:39,941 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 07:46:39,941 INFO L85 PathProgramCache]: Analyzing trace with hash 1124973290, now seen corresponding path program 8 times [2022-04-15 07:46:39,941 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:46:39,941 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [343029353] [2022-04-15 07:46:39,941 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:46:39,941 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:46:39,949 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:46:39,949 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1099464571] [2022-04-15 07:46:39,949 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 07:46:39,949 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:46:39,949 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:46:39,950 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:46:39,950 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:46:39,991 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 07:46:39,991 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:46:39,992 INFO L263 TraceCheckSpWp]: Trace formula consists of 159 conjuncts, 34 conjunts are in the unsatisfiable core [2022-04-15 07:46:40,003 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:46:40,004 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:46:40,745 INFO L272 TraceCheckUtils]: 0: Hoare triple {15633#true} call ULTIMATE.init(); {15633#true} is VALID [2022-04-15 07:46:40,745 INFO L290 TraceCheckUtils]: 1: Hoare triple {15633#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); {15633#true} is VALID [2022-04-15 07:46:40,745 INFO L290 TraceCheckUtils]: 2: Hoare triple {15633#true} assume true; {15633#true} is VALID [2022-04-15 07:46:40,745 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15633#true} {15633#true} #69#return; {15633#true} is VALID [2022-04-15 07:46:40,745 INFO L272 TraceCheckUtils]: 4: Hoare triple {15633#true} call #t~ret8 := main(); {15633#true} is VALID [2022-04-15 07:46:40,746 INFO L290 TraceCheckUtils]: 5: Hoare triple {15633#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; {15633#true} is VALID [2022-04-15 07:46:40,746 INFO L272 TraceCheckUtils]: 6: Hoare triple {15633#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {15633#true} is VALID [2022-04-15 07:46:40,746 INFO L290 TraceCheckUtils]: 7: Hoare triple {15633#true} ~cond := #in~cond; {15633#true} is VALID [2022-04-15 07:46:40,746 INFO L290 TraceCheckUtils]: 8: Hoare triple {15633#true} assume !(0 == ~cond); {15633#true} is VALID [2022-04-15 07:46:40,746 INFO L290 TraceCheckUtils]: 9: Hoare triple {15633#true} assume true; {15633#true} is VALID [2022-04-15 07:46:40,746 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {15633#true} {15633#true} #61#return; {15633#true} is VALID [2022-04-15 07:46:40,746 INFO L290 TraceCheckUtils]: 11: Hoare triple {15633#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {15633#true} is VALID [2022-04-15 07:46:40,746 INFO L272 TraceCheckUtils]: 12: Hoare triple {15633#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {15633#true} is VALID [2022-04-15 07:46:40,746 INFO L290 TraceCheckUtils]: 13: Hoare triple {15633#true} ~cond := #in~cond; {15633#true} is VALID [2022-04-15 07:46:40,746 INFO L290 TraceCheckUtils]: 14: Hoare triple {15633#true} assume !(0 == ~cond); {15633#true} is VALID [2022-04-15 07:46:40,746 INFO L290 TraceCheckUtils]: 15: Hoare triple {15633#true} assume true; {15633#true} is VALID [2022-04-15 07:46:40,746 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {15633#true} {15633#true} #63#return; {15633#true} is VALID [2022-04-15 07:46:40,746 INFO L290 TraceCheckUtils]: 17: Hoare triple {15633#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {15689#(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:46:40,747 INFO L290 TraceCheckUtils]: 18: Hoare triple {15689#(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; {15689#(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:46:40,747 INFO L272 TraceCheckUtils]: 19: Hoare triple {15689#(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)); {15633#true} is VALID [2022-04-15 07:46:40,747 INFO L290 TraceCheckUtils]: 20: Hoare triple {15633#true} ~cond := #in~cond; {15633#true} is VALID [2022-04-15 07:46:40,747 INFO L290 TraceCheckUtils]: 21: Hoare triple {15633#true} assume !(0 == ~cond); {15633#true} is VALID [2022-04-15 07:46:40,747 INFO L290 TraceCheckUtils]: 22: Hoare triple {15633#true} assume true; {15633#true} is VALID [2022-04-15 07:46:40,748 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {15633#true} {15689#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} #65#return; {15689#(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:46:40,748 INFO L290 TraceCheckUtils]: 24: Hoare triple {15689#(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); {15689#(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:46:40,749 INFO L290 TraceCheckUtils]: 25: Hoare triple {15689#(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; {15714#(and (= main_~x~0 0) (= main_~y~0 1) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (+ (* (- 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:46:40,749 INFO L290 TraceCheckUtils]: 26: Hoare triple {15714#(and (= main_~x~0 0) (= main_~y~0 1) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (+ (* (- 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; {15718#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 1) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (+ (* (- 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:46:40,750 INFO L290 TraceCheckUtils]: 27: Hoare triple {15718#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 1) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (+ (* (- 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; {15718#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 1) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (+ (* (- 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:46:40,750 INFO L272 TraceCheckUtils]: 28: Hoare triple {15718#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 1) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (+ (* (- 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)); {15633#true} is VALID [2022-04-15 07:46:40,750 INFO L290 TraceCheckUtils]: 29: Hoare triple {15633#true} ~cond := #in~cond; {15633#true} is VALID [2022-04-15 07:46:40,750 INFO L290 TraceCheckUtils]: 30: Hoare triple {15633#true} assume !(0 == ~cond); {15633#true} is VALID [2022-04-15 07:46:40,750 INFO L290 TraceCheckUtils]: 31: Hoare triple {15633#true} assume true; {15633#true} is VALID [2022-04-15 07:46:40,750 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {15633#true} {15718#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 1) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} #65#return; {15718#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 1) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (+ (* (- 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:46:40,751 INFO L290 TraceCheckUtils]: 33: Hoare triple {15718#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 1) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} assume !!(~x~0 <= ~X~0); {15718#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 1) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (+ (* (- 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:46:40,752 INFO L290 TraceCheckUtils]: 34: Hoare triple {15718#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 1) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (+ (* (- 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; {15743#(and (= (+ (- 1) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 2))) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 4))) (= main_~y~0 1) (< main_~v~0 (* main_~Y~0 2)))} is VALID [2022-04-15 07:46:40,752 INFO L290 TraceCheckUtils]: 35: Hoare triple {15743#(and (= (+ (- 1) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 2))) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 4))) (= main_~y~0 1) (< main_~v~0 (* main_~Y~0 2)))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {15747#(and (= (+ (- 2) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 2))) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 4))) (= main_~y~0 1) (< main_~v~0 (* main_~Y~0 2)))} is VALID [2022-04-15 07:46:40,753 INFO L290 TraceCheckUtils]: 36: Hoare triple {15747#(and (= (+ (- 2) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 2))) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 4))) (= main_~y~0 1) (< main_~v~0 (* main_~Y~0 2)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {15747#(and (= (+ (- 2) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 2))) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 4))) (= main_~y~0 1) (< main_~v~0 (* main_~Y~0 2)))} is VALID [2022-04-15 07:46:40,753 INFO L272 TraceCheckUtils]: 37: Hoare triple {15747#(and (= (+ (- 2) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 2))) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 4))) (= main_~y~0 1) (< 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)); {15633#true} is VALID [2022-04-15 07:46:40,753 INFO L290 TraceCheckUtils]: 38: Hoare triple {15633#true} ~cond := #in~cond; {15633#true} is VALID [2022-04-15 07:46:40,753 INFO L290 TraceCheckUtils]: 39: Hoare triple {15633#true} assume !(0 == ~cond); {15633#true} is VALID [2022-04-15 07:46:40,753 INFO L290 TraceCheckUtils]: 40: Hoare triple {15633#true} assume true; {15633#true} is VALID [2022-04-15 07:46:40,753 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {15633#true} {15747#(and (= (+ (- 2) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 2))) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 4))) (= main_~y~0 1) (< main_~v~0 (* main_~Y~0 2)))} #65#return; {15747#(and (= (+ (- 2) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 2))) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 4))) (= main_~y~0 1) (< main_~v~0 (* main_~Y~0 2)))} is VALID [2022-04-15 07:46:40,754 INFO L290 TraceCheckUtils]: 42: Hoare triple {15747#(and (= (+ (- 2) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 2))) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 4))) (= main_~y~0 1) (< main_~v~0 (* main_~Y~0 2)))} assume !!(~x~0 <= ~X~0); {15747#(and (= (+ (- 2) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 2))) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 4))) (= main_~y~0 1) (< main_~v~0 (* main_~Y~0 2)))} is VALID [2022-04-15 07:46:40,755 INFO L290 TraceCheckUtils]: 43: Hoare triple {15747#(and (= (+ (- 2) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 2))) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 4))) (= main_~y~0 1) (< 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; {15772#(and (= main_~y~0 2) (= (* main_~Y~0 8) (+ main_~v~0 (* 5 main_~X~0))) (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 4)) (= main_~x~0 2) (<= (* main_~Y~0 6) (+ main_~v~0 (* main_~X~0 4))))} is VALID [2022-04-15 07:46:40,755 INFO L290 TraceCheckUtils]: 44: Hoare triple {15772#(and (= main_~y~0 2) (= (* main_~Y~0 8) (+ main_~v~0 (* 5 main_~X~0))) (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 4)) (= main_~x~0 2) (<= (* main_~Y~0 6) (+ main_~v~0 (* main_~X~0 4))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {15776#(and (= main_~y~0 2) (= main_~x~0 3) (= (* main_~Y~0 8) (+ main_~v~0 (* 5 main_~X~0))) (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 4)) (<= (* main_~Y~0 6) (+ main_~v~0 (* main_~X~0 4))))} is VALID [2022-04-15 07:46:40,756 INFO L290 TraceCheckUtils]: 45: Hoare triple {15776#(and (= main_~y~0 2) (= main_~x~0 3) (= (* main_~Y~0 8) (+ main_~v~0 (* 5 main_~X~0))) (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 4)) (<= (* main_~Y~0 6) (+ main_~v~0 (* main_~X~0 4))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {15776#(and (= main_~y~0 2) (= main_~x~0 3) (= (* main_~Y~0 8) (+ main_~v~0 (* 5 main_~X~0))) (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 4)) (<= (* main_~Y~0 6) (+ main_~v~0 (* main_~X~0 4))))} is VALID [2022-04-15 07:46:40,756 INFO L272 TraceCheckUtils]: 46: Hoare triple {15776#(and (= main_~y~0 2) (= main_~x~0 3) (= (* main_~Y~0 8) (+ main_~v~0 (* 5 main_~X~0))) (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 4)) (<= (* main_~Y~0 6) (+ main_~v~0 (* main_~X~0 4))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {15633#true} is VALID [2022-04-15 07:46:40,756 INFO L290 TraceCheckUtils]: 47: Hoare triple {15633#true} ~cond := #in~cond; {15633#true} is VALID [2022-04-15 07:46:40,756 INFO L290 TraceCheckUtils]: 48: Hoare triple {15633#true} assume !(0 == ~cond); {15633#true} is VALID [2022-04-15 07:46:40,756 INFO L290 TraceCheckUtils]: 49: Hoare triple {15633#true} assume true; {15633#true} is VALID [2022-04-15 07:46:40,756 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {15633#true} {15776#(and (= main_~y~0 2) (= main_~x~0 3) (= (* main_~Y~0 8) (+ main_~v~0 (* 5 main_~X~0))) (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 4)) (<= (* main_~Y~0 6) (+ main_~v~0 (* main_~X~0 4))))} #65#return; {15776#(and (= main_~y~0 2) (= main_~x~0 3) (= (* main_~Y~0 8) (+ main_~v~0 (* 5 main_~X~0))) (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 4)) (<= (* main_~Y~0 6) (+ main_~v~0 (* main_~X~0 4))))} is VALID [2022-04-15 07:46:40,757 INFO L290 TraceCheckUtils]: 51: Hoare triple {15776#(and (= main_~y~0 2) (= main_~x~0 3) (= (* main_~Y~0 8) (+ main_~v~0 (* 5 main_~X~0))) (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 4)) (<= (* main_~Y~0 6) (+ main_~v~0 (* main_~X~0 4))))} assume !(~x~0 <= ~X~0); {15798#(and (= main_~y~0 2) (= main_~x~0 3) (= (* main_~Y~0 8) (+ main_~v~0 (* 5 main_~X~0))) (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 4)) (not (<= main_~x~0 main_~X~0)) (<= (* main_~Y~0 6) (+ main_~v~0 (* main_~X~0 4))))} is VALID [2022-04-15 07:46:40,757 INFO L290 TraceCheckUtils]: 52: Hoare triple {15798#(and (= main_~y~0 2) (= main_~x~0 3) (= (* main_~Y~0 8) (+ main_~v~0 (* 5 main_~X~0))) (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 4)) (not (<= main_~x~0 main_~X~0)) (<= (* main_~Y~0 6) (+ main_~v~0 (* main_~X~0 4))))} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {15802#(and (= main_~y~0 2) (= (* main_~Y~0 3) main_~yx~0) (= (* main_~Y~0 8) (+ main_~v~0 (* 5 main_~X~0))) (= main_~xy~0 (* main_~y~0 3)) (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 4)) (<= (* main_~Y~0 6) (+ main_~v~0 (* main_~X~0 4))) (not (<= 3 main_~X~0)))} is VALID [2022-04-15 07:46:40,759 INFO L272 TraceCheckUtils]: 53: Hoare triple {15802#(and (= main_~y~0 2) (= (* main_~Y~0 3) main_~yx~0) (= (* main_~Y~0 8) (+ main_~v~0 (* 5 main_~X~0))) (= main_~xy~0 (* main_~y~0 3)) (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 4)) (<= (* main_~Y~0 6) (+ main_~v~0 (* main_~X~0 4))) (not (<= 3 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)); {15806#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 07:46:40,759 INFO L290 TraceCheckUtils]: 54: Hoare triple {15806#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {15810#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:46:40,759 INFO L290 TraceCheckUtils]: 55: Hoare triple {15810#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {15634#false} is VALID [2022-04-15 07:46:40,759 INFO L290 TraceCheckUtils]: 56: Hoare triple {15634#false} assume !false; {15634#false} is VALID [2022-04-15 07:46:40,759 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:46:40,760 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:46:42,012 INFO L290 TraceCheckUtils]: 56: Hoare triple {15634#false} assume !false; {15634#false} is VALID [2022-04-15 07:46:42,012 INFO L290 TraceCheckUtils]: 55: Hoare triple {15810#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {15634#false} is VALID [2022-04-15 07:46:42,012 INFO L290 TraceCheckUtils]: 54: Hoare triple {15806#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {15810#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:46:42,013 INFO L272 TraceCheckUtils]: 53: Hoare triple {15826#(= (+ (* 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)); {15806#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 07:46:42,014 INFO L290 TraceCheckUtils]: 52: Hoare triple {15830#(= (+ (* 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; {15826#(= (+ (* 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:46:42,014 INFO L290 TraceCheckUtils]: 51: Hoare triple {15834#(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); {15830#(= (+ (* 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:46:42,015 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {15633#true} {15834#(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)))))} #65#return; {15834#(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:46:42,015 INFO L290 TraceCheckUtils]: 49: Hoare triple {15633#true} assume true; {15633#true} is VALID [2022-04-15 07:46:42,015 INFO L290 TraceCheckUtils]: 48: Hoare triple {15633#true} assume !(0 == ~cond); {15633#true} is VALID [2022-04-15 07:46:42,015 INFO L290 TraceCheckUtils]: 47: Hoare triple {15633#true} ~cond := #in~cond; {15633#true} is VALID [2022-04-15 07:46:42,015 INFO L272 TraceCheckUtils]: 46: Hoare triple {15834#(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)))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {15633#true} is VALID [2022-04-15 07:46:42,016 INFO L290 TraceCheckUtils]: 45: Hoare triple {15834#(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 !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {15834#(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:46:42,026 INFO L290 TraceCheckUtils]: 44: Hoare triple {15856#(or (= (+ (* (* (+ 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; {15834#(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:46:42,028 INFO L290 TraceCheckUtils]: 43: Hoare triple {15860#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) (+ main_~y~0 1)))) (+ 2 (* 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 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {15856#(or (= (+ (* (* (+ 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:46:42,029 INFO L290 TraceCheckUtils]: 42: Hoare triple {15864#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) (+ main_~y~0 1)))) (+ 2 (* main_~y~0 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); {15860#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) (+ main_~y~0 1)))) (+ 2 (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} is VALID [2022-04-15 07:46:42,029 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {15633#true} {15864#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) (+ main_~y~0 1)))) (+ 2 (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (<= main_~x~0 main_~X~0)))} #65#return; {15864#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) (+ main_~y~0 1)))) (+ 2 (* main_~y~0 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:46:42,029 INFO L290 TraceCheckUtils]: 40: Hoare triple {15633#true} assume true; {15633#true} is VALID [2022-04-15 07:46:42,030 INFO L290 TraceCheckUtils]: 39: Hoare triple {15633#true} assume !(0 == ~cond); {15633#true} is VALID [2022-04-15 07:46:42,030 INFO L290 TraceCheckUtils]: 38: Hoare triple {15633#true} ~cond := #in~cond; {15633#true} is VALID [2022-04-15 07:46:42,030 INFO L272 TraceCheckUtils]: 37: Hoare triple {15864#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) (+ main_~y~0 1)))) (+ 2 (* main_~y~0 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)); {15633#true} is VALID [2022-04-15 07:46:42,030 INFO L290 TraceCheckUtils]: 36: Hoare triple {15864#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) (+ main_~y~0 1)))) (+ 2 (* main_~y~0 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; {15864#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) (+ main_~y~0 1)))) (+ 2 (* main_~y~0 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:46:42,032 INFO L290 TraceCheckUtils]: 35: Hoare triple {15886#(or (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* (+ main_~x~0 2) (+ main_~y~0 1)) 2)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) 2 (* main_~y~0 2) (* main_~Y~0 2))) (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0) (not (<= (+ main_~x~0 1) main_~X~0)))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {15864#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) (+ main_~y~0 1)))) (+ 2 (* main_~y~0 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:46:42,033 INFO L290 TraceCheckUtils]: 34: Hoare triple {15890#(or (= (+ main_~v~0 (* (- 1) main_~X~0) (* (* (+ main_~x~0 2) (+ main_~y~0 1)) 2) (* main_~Y~0 4)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) 2 (* main_~y~0 2) (* main_~Y~0 2))) (<= (+ main_~x~0 2) main_~X~0) (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (not (<= (+ main_~x~0 1) main_~X~0)))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {15886#(or (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* (+ main_~x~0 2) (+ main_~y~0 1)) 2)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) 2 (* main_~y~0 2) (* main_~Y~0 2))) (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0) (not (<= (+ main_~x~0 1) main_~X~0)))} is VALID [2022-04-15 07:46:42,034 INFO L290 TraceCheckUtils]: 33: Hoare triple {15890#(or (= (+ main_~v~0 (* (- 1) main_~X~0) (* (* (+ main_~x~0 2) (+ main_~y~0 1)) 2) (* main_~Y~0 4)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) 2 (* main_~y~0 2) (* main_~Y~0 2))) (<= (+ main_~x~0 2) main_~X~0) (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (not (<= (+ main_~x~0 1) main_~X~0)))} assume !!(~x~0 <= ~X~0); {15890#(or (= (+ main_~v~0 (* (- 1) main_~X~0) (* (* (+ main_~x~0 2) (+ main_~y~0 1)) 2) (* main_~Y~0 4)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) 2 (* main_~y~0 2) (* main_~Y~0 2))) (<= (+ main_~x~0 2) main_~X~0) (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (not (<= (+ main_~x~0 1) main_~X~0)))} is VALID [2022-04-15 07:46:42,034 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {15633#true} {15890#(or (= (+ main_~v~0 (* (- 1) main_~X~0) (* (* (+ main_~x~0 2) (+ main_~y~0 1)) 2) (* main_~Y~0 4)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) 2 (* main_~y~0 2) (* main_~Y~0 2))) (<= (+ main_~x~0 2) main_~X~0) (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (not (<= (+ main_~x~0 1) main_~X~0)))} #65#return; {15890#(or (= (+ main_~v~0 (* (- 1) main_~X~0) (* (* (+ main_~x~0 2) (+ main_~y~0 1)) 2) (* main_~Y~0 4)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) 2 (* main_~y~0 2) (* main_~Y~0 2))) (<= (+ main_~x~0 2) main_~X~0) (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (not (<= (+ main_~x~0 1) main_~X~0)))} is VALID [2022-04-15 07:46:42,034 INFO L290 TraceCheckUtils]: 31: Hoare triple {15633#true} assume true; {15633#true} is VALID [2022-04-15 07:46:42,035 INFO L290 TraceCheckUtils]: 30: Hoare triple {15633#true} assume !(0 == ~cond); {15633#true} is VALID [2022-04-15 07:46:42,035 INFO L290 TraceCheckUtils]: 29: Hoare triple {15633#true} ~cond := #in~cond; {15633#true} is VALID [2022-04-15 07:46:42,035 INFO L272 TraceCheckUtils]: 28: Hoare triple {15890#(or (= (+ main_~v~0 (* (- 1) main_~X~0) (* (* (+ main_~x~0 2) (+ main_~y~0 1)) 2) (* main_~Y~0 4)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) 2 (* main_~y~0 2) (* main_~Y~0 2))) (<= (+ main_~x~0 2) main_~X~0) (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 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)); {15633#true} is VALID [2022-04-15 07:46:42,035 INFO L290 TraceCheckUtils]: 27: Hoare triple {15890#(or (= (+ main_~v~0 (* (- 1) main_~X~0) (* (* (+ main_~x~0 2) (+ main_~y~0 1)) 2) (* main_~Y~0 4)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) 2 (* main_~y~0 2) (* main_~Y~0 2))) (<= (+ main_~x~0 2) main_~X~0) (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (not (<= (+ main_~x~0 1) main_~X~0)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {15890#(or (= (+ main_~v~0 (* (- 1) main_~X~0) (* (* (+ main_~x~0 2) (+ main_~y~0 1)) 2) (* main_~Y~0 4)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) 2 (* main_~y~0 2) (* main_~Y~0 2))) (<= (+ main_~x~0 2) main_~X~0) (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (not (<= (+ main_~x~0 1) main_~X~0)))} is VALID [2022-04-15 07:46:42,038 INFO L290 TraceCheckUtils]: 26: Hoare triple {15915#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0) (= (+ main_~v~0 (* (* (+ main_~x~0 3) (+ main_~y~0 1)) 2) (* (- 1) main_~X~0) (* main_~Y~0 4)) (+ 2 (* main_~y~0 2) (* main_~Y~0 2) (* (* (+ main_~x~0 3) main_~Y~0) 2))) (not (<= (+ main_~x~0 2) main_~X~0)))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {15890#(or (= (+ main_~v~0 (* (- 1) main_~X~0) (* (* (+ main_~x~0 2) (+ main_~y~0 1)) 2) (* main_~Y~0 4)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) 2 (* main_~y~0 2) (* main_~Y~0 2))) (<= (+ main_~x~0 2) main_~X~0) (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (not (<= (+ main_~x~0 1) main_~X~0)))} is VALID [2022-04-15 07:46:42,041 INFO L290 TraceCheckUtils]: 25: Hoare triple {15919#(or (< main_~v~0 0) (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (= (+ (* main_~y~0 2) (* main_~Y~0 2) 4 (* (* (+ main_~x~0 3) main_~Y~0) 2)) (+ (* main_~X~0 (- 3)) (* 2 (* (+ main_~x~0 3) (+ main_~y~0 2))) main_~v~0 (* main_~Y~0 6))) (<= (+ main_~x~0 3) main_~X~0) (not (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))) (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; {15915#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0) (= (+ main_~v~0 (* (* (+ main_~x~0 3) (+ main_~y~0 1)) 2) (* (- 1) main_~X~0) (* main_~Y~0 4)) (+ 2 (* main_~y~0 2) (* main_~Y~0 2) (* (* (+ main_~x~0 3) main_~Y~0) 2))) (not (<= (+ main_~x~0 2) main_~X~0)))} is VALID [2022-04-15 07:46:42,041 INFO L290 TraceCheckUtils]: 24: Hoare triple {15919#(or (< main_~v~0 0) (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (= (+ (* main_~y~0 2) (* main_~Y~0 2) 4 (* (* (+ main_~x~0 3) main_~Y~0) 2)) (+ (* main_~X~0 (- 3)) (* 2 (* (+ main_~x~0 3) (+ main_~y~0 2))) main_~v~0 (* main_~Y~0 6))) (<= (+ main_~x~0 3) main_~X~0) (not (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))) (not (<= (+ main_~x~0 2) main_~X~0)))} assume !!(~x~0 <= ~X~0); {15919#(or (< main_~v~0 0) (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (= (+ (* main_~y~0 2) (* main_~Y~0 2) 4 (* (* (+ main_~x~0 3) main_~Y~0) 2)) (+ (* main_~X~0 (- 3)) (* 2 (* (+ main_~x~0 3) (+ main_~y~0 2))) main_~v~0 (* main_~Y~0 6))) (<= (+ main_~x~0 3) main_~X~0) (not (< (+ 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:46:42,042 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {15633#true} {15919#(or (< main_~v~0 0) (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (= (+ (* main_~y~0 2) (* main_~Y~0 2) 4 (* (* (+ main_~x~0 3) main_~Y~0) 2)) (+ (* main_~X~0 (- 3)) (* 2 (* (+ main_~x~0 3) (+ main_~y~0 2))) main_~v~0 (* main_~Y~0 6))) (<= (+ main_~x~0 3) main_~X~0) (not (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))) (not (<= (+ main_~x~0 2) main_~X~0)))} #65#return; {15919#(or (< main_~v~0 0) (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (= (+ (* main_~y~0 2) (* main_~Y~0 2) 4 (* (* (+ main_~x~0 3) main_~Y~0) 2)) (+ (* main_~X~0 (- 3)) (* 2 (* (+ main_~x~0 3) (+ main_~y~0 2))) main_~v~0 (* main_~Y~0 6))) (<= (+ main_~x~0 3) main_~X~0) (not (< (+ 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:46:42,042 INFO L290 TraceCheckUtils]: 22: Hoare triple {15633#true} assume true; {15633#true} is VALID [2022-04-15 07:46:42,042 INFO L290 TraceCheckUtils]: 21: Hoare triple {15633#true} assume !(0 == ~cond); {15633#true} is VALID [2022-04-15 07:46:42,042 INFO L290 TraceCheckUtils]: 20: Hoare triple {15633#true} ~cond := #in~cond; {15633#true} is VALID [2022-04-15 07:46:42,042 INFO L272 TraceCheckUtils]: 19: Hoare triple {15919#(or (< main_~v~0 0) (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (= (+ (* main_~y~0 2) (* main_~Y~0 2) 4 (* (* (+ main_~x~0 3) main_~Y~0) 2)) (+ (* main_~X~0 (- 3)) (* 2 (* (+ main_~x~0 3) (+ main_~y~0 2))) main_~v~0 (* main_~Y~0 6))) (<= (+ main_~x~0 3) main_~X~0) (not (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))) (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)); {15633#true} is VALID [2022-04-15 07:46:42,043 INFO L290 TraceCheckUtils]: 18: Hoare triple {15919#(or (< main_~v~0 0) (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (= (+ (* main_~y~0 2) (* main_~Y~0 2) 4 (* (* (+ main_~x~0 3) main_~Y~0) 2)) (+ (* main_~X~0 (- 3)) (* 2 (* (+ main_~x~0 3) (+ main_~y~0 2))) main_~v~0 (* main_~Y~0 6))) (<= (+ main_~x~0 3) main_~X~0) (not (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))) (not (<= (+ main_~x~0 2) main_~X~0)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {15919#(or (< main_~v~0 0) (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (= (+ (* main_~y~0 2) (* main_~Y~0 2) 4 (* (* (+ main_~x~0 3) main_~Y~0) 2)) (+ (* main_~X~0 (- 3)) (* 2 (* (+ main_~x~0 3) (+ main_~y~0 2))) main_~v~0 (* main_~Y~0 6))) (<= (+ main_~x~0 3) main_~X~0) (not (< (+ 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:46:42,044 INFO L290 TraceCheckUtils]: 17: Hoare triple {15633#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {15919#(or (< main_~v~0 0) (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (= (+ (* main_~y~0 2) (* main_~Y~0 2) 4 (* (* (+ main_~x~0 3) main_~Y~0) 2)) (+ (* main_~X~0 (- 3)) (* 2 (* (+ main_~x~0 3) (+ main_~y~0 2))) main_~v~0 (* main_~Y~0 6))) (<= (+ main_~x~0 3) main_~X~0) (not (< (+ 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:46:42,044 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {15633#true} {15633#true} #63#return; {15633#true} is VALID [2022-04-15 07:46:42,044 INFO L290 TraceCheckUtils]: 15: Hoare triple {15633#true} assume true; {15633#true} is VALID [2022-04-15 07:46:42,044 INFO L290 TraceCheckUtils]: 14: Hoare triple {15633#true} assume !(0 == ~cond); {15633#true} is VALID [2022-04-15 07:46:42,044 INFO L290 TraceCheckUtils]: 13: Hoare triple {15633#true} ~cond := #in~cond; {15633#true} is VALID [2022-04-15 07:46:42,044 INFO L272 TraceCheckUtils]: 12: Hoare triple {15633#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {15633#true} is VALID [2022-04-15 07:46:42,044 INFO L290 TraceCheckUtils]: 11: Hoare triple {15633#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {15633#true} is VALID [2022-04-15 07:46:42,044 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {15633#true} {15633#true} #61#return; {15633#true} is VALID [2022-04-15 07:46:42,044 INFO L290 TraceCheckUtils]: 9: Hoare triple {15633#true} assume true; {15633#true} is VALID [2022-04-15 07:46:42,044 INFO L290 TraceCheckUtils]: 8: Hoare triple {15633#true} assume !(0 == ~cond); {15633#true} is VALID [2022-04-15 07:46:42,044 INFO L290 TraceCheckUtils]: 7: Hoare triple {15633#true} ~cond := #in~cond; {15633#true} is VALID [2022-04-15 07:46:42,044 INFO L272 TraceCheckUtils]: 6: Hoare triple {15633#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {15633#true} is VALID [2022-04-15 07:46:42,044 INFO L290 TraceCheckUtils]: 5: Hoare triple {15633#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; {15633#true} is VALID [2022-04-15 07:46:42,044 INFO L272 TraceCheckUtils]: 4: Hoare triple {15633#true} call #t~ret8 := main(); {15633#true} is VALID [2022-04-15 07:46:42,044 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15633#true} {15633#true} #69#return; {15633#true} is VALID [2022-04-15 07:46:42,045 INFO L290 TraceCheckUtils]: 2: Hoare triple {15633#true} assume true; {15633#true} is VALID [2022-04-15 07:46:42,045 INFO L290 TraceCheckUtils]: 1: Hoare triple {15633#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); {15633#true} is VALID [2022-04-15 07:46:42,045 INFO L272 TraceCheckUtils]: 0: Hoare triple {15633#true} call ULTIMATE.init(); {15633#true} is VALID [2022-04-15 07:46:42,045 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:46:42,045 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:46:42,045 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [343029353] [2022-04-15 07:46:42,045 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 07:46:42,045 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1099464571] [2022-04-15 07:46:42,045 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1099464571] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:46:42,045 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 07:46:42,045 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 14] total 23 [2022-04-15 07:46:42,046 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:46:42,046 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1285483737] [2022-04-15 07:46:42,046 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1285483737] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:46:42,046 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:46:42,046 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-15 07:46:42,046 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1697223499] [2022-04-15 07:46:42,046 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:46:42,047 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 12 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:46:42,047 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:46:42,047 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 12 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:46:42,089 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:46:42,089 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-15 07:46:42,089 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:46:42,089 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-15 07:46:42,090 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=100, Invalid=406, Unknown=0, NotChecked=0, Total=506 [2022-04-15 07:46:42,090 INFO L87 Difference]: Start difference. First operand 128 states and 141 transitions. Second operand has 13 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 12 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:46:43,326 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:46:43,326 INFO L93 Difference]: Finished difference Result 141 states and 156 transitions. [2022-04-15 07:46:43,326 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-15 07:46:43,327 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 12 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:46:43,327 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:46:43,327 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 12 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:46:43,327 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 64 transitions. [2022-04-15 07:46:43,328 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 12 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:46:43,328 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 64 transitions. [2022-04-15 07:46:43,328 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 64 transitions. [2022-04-15 07:46:43,393 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:46:43,394 INFO L225 Difference]: With dead ends: 141 [2022-04-15 07:46:43,394 INFO L226 Difference]: Without dead ends: 133 [2022-04-15 07:46:43,395 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 115 GetRequests, 90 SyntacticMatches, 2 SemanticMatches, 23 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 47 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=118, Invalid=482, Unknown=0, NotChecked=0, Total=600 [2022-04-15 07:46:43,395 INFO L913 BasicCegarLoop]: 32 mSDtfsCounter, 9 mSDsluCounter, 185 mSDsCounter, 0 mSdLazyCounter, 359 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 9 SdHoareTripleChecker+Valid, 217 SdHoareTripleChecker+Invalid, 359 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 359 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-15 07:46:43,395 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [9 Valid, 217 Invalid, 359 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 359 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-15 07:46:43,396 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 133 states. [2022-04-15 07:46:43,706 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 133 to 132. [2022-04-15 07:46:43,707 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:46:43,707 INFO L82 GeneralOperation]: Start isEquivalent. First operand 133 states. Second operand has 132 states, 97 states have (on average 1.092783505154639) internal successors, (106), 102 states have internal predecessors, (106), 21 states have call successors, (21), 14 states have call predecessors, (21), 13 states have return successors, (19), 15 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-15 07:46:43,707 INFO L74 IsIncluded]: Start isIncluded. First operand 133 states. Second operand has 132 states, 97 states have (on average 1.092783505154639) internal successors, (106), 102 states have internal predecessors, (106), 21 states have call successors, (21), 14 states have call predecessors, (21), 13 states have return successors, (19), 15 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-15 07:46:43,707 INFO L87 Difference]: Start difference. First operand 133 states. Second operand has 132 states, 97 states have (on average 1.092783505154639) internal successors, (106), 102 states have internal predecessors, (106), 21 states have call successors, (21), 14 states have call predecessors, (21), 13 states have return successors, (19), 15 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-15 07:46:43,709 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:46:43,709 INFO L93 Difference]: Finished difference Result 133 states and 148 transitions. [2022-04-15 07:46:43,709 INFO L276 IsEmpty]: Start isEmpty. Operand 133 states and 148 transitions. [2022-04-15 07:46:43,709 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:46:43,709 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:46:43,709 INFO L74 IsIncluded]: Start isIncluded. First operand has 132 states, 97 states have (on average 1.092783505154639) internal successors, (106), 102 states have internal predecessors, (106), 21 states have call successors, (21), 14 states have call predecessors, (21), 13 states have return successors, (19), 15 states have call predecessors, (19), 19 states have call successors, (19) Second operand 133 states. [2022-04-15 07:46:43,710 INFO L87 Difference]: Start difference. First operand has 132 states, 97 states have (on average 1.092783505154639) internal successors, (106), 102 states have internal predecessors, (106), 21 states have call successors, (21), 14 states have call predecessors, (21), 13 states have return successors, (19), 15 states have call predecessors, (19), 19 states have call successors, (19) Second operand 133 states. [2022-04-15 07:46:43,711 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:46:43,711 INFO L93 Difference]: Finished difference Result 133 states and 148 transitions. [2022-04-15 07:46:43,711 INFO L276 IsEmpty]: Start isEmpty. Operand 133 states and 148 transitions. [2022-04-15 07:46:43,711 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:46:43,711 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:46:43,711 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:46:43,712 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:46:43,712 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 132 states, 97 states have (on average 1.092783505154639) internal successors, (106), 102 states have internal predecessors, (106), 21 states have call successors, (21), 14 states have call predecessors, (21), 13 states have return successors, (19), 15 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-15 07:46:43,713 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 132 states to 132 states and 146 transitions. [2022-04-15 07:46:43,713 INFO L78 Accepts]: Start accepts. Automaton has 132 states and 146 transitions. Word has length 57 [2022-04-15 07:46:43,713 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:46:43,714 INFO L478 AbstractCegarLoop]: Abstraction has 132 states and 146 transitions. [2022-04-15 07:46:43,714 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 12 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:46:43,714 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 132 states and 146 transitions. [2022-04-15 07:46:48,094 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 146 edges. 144 inductive. 0 not inductive. 2 times theorem prover too weak to decide inductivity. [2022-04-15 07:46:48,094 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 146 transitions. [2022-04-15 07:46:48,095 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 58 [2022-04-15 07:46:48,095 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:46:48,095 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:48,111 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:46:48,295 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:46:48,295 INFO L403 AbstractCegarLoop]: === Iteration 22 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:46:48,296 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:46:48,296 INFO L85 PathProgramCache]: Analyzing trace with hash -680465044, now seen corresponding path program 5 times [2022-04-15 07:46:48,296 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:46:48,296 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1042929710] [2022-04-15 07:46:48,296 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 07:46:48,296 INFO L85 PathProgramCache]: Analyzing trace with hash -680465044, now seen corresponding path program 6 times [2022-04-15 07:46:48,296 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:46:48,296 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1973117218] [2022-04-15 07:46:48,296 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:46:48,296 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:46:48,304 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:46:48,304 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2032452971] [2022-04-15 07:46:48,304 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-15 07:46:48,304 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:46:48,304 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:46:48,305 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:46:48,306 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:46:48,743 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 3 check-sat command(s) [2022-04-15 07:46:48,743 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:46:48,744 INFO L263 TraceCheckSpWp]: Trace formula consists of 140 conjuncts, 21 conjunts are in the unsatisfiable core [2022-04-15 07:46:48,759 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:46:48,760 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:47:01,658 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 07:47:09,008 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 07:47:11,071 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 07:47:21,188 WARN L833 $PredicateComparison]: unable to prove that (and (let ((.cse3 (+ c_main_~X~0 1)) (.cse2 (+ (* (- 1) c_main_~Y~0) (div (+ c_main_~v~0 c_main_~X~0) 2) (* c_main_~X~0 c_main_~y~0))) (.cse0 (= c_main_~Y~0 0)) (.cse4 (= (mod (+ (* 2 c_main_~X~0 c_main_~y~0) c_main_~v~0 c_main_~X~0) 2) 0))) (or (let ((.cse1 (div .cse2 c_main_~Y~0))) (and (not .cse0) (not (<= .cse1 c_main_~X~0)) (= (mod .cse2 c_main_~Y~0) 0) (= c_main_~xy~0 (* c_main_~y~0 .cse1)) (<= .cse1 .cse3) (= c_main_~yx~0 (* c_main_~Y~0 .cse1)) .cse4)) (and (let ((.cse6 (= c_main_~y~0 0))) (or (let ((.cse5 (div c_main_~xy~0 c_main_~y~0))) (and (<= .cse5 .cse3) (= (mod c_main_~xy~0 c_main_~y~0) 0) (not .cse6) (< c_main_~X~0 .cse5))) (and .cse6 (= c_main_~xy~0 0)))) (= 0 .cse2) .cse0 (= c_main_~yx~0 0) .cse4))) (<= 0 c_main_~X~0)) is different from false [2022-04-15 07:48:10,662 WARN L232 SmtUtils]: Spent 5.67s on a formula simplification. DAG size of input: 3 DAG size of output: 1 (called from [L1074] de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.simplify) [2022-04-15 07:48:44,162 INFO L272 TraceCheckUtils]: 0: Hoare triple {16813#true} call ULTIMATE.init(); {16813#true} is VALID [2022-04-15 07:48:44,163 INFO L290 TraceCheckUtils]: 1: Hoare triple {16813#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); {16813#true} is VALID [2022-04-15 07:48:44,163 INFO L290 TraceCheckUtils]: 2: Hoare triple {16813#true} assume true; {16813#true} is VALID [2022-04-15 07:48:44,163 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {16813#true} {16813#true} #69#return; {16813#true} is VALID [2022-04-15 07:48:44,163 INFO L272 TraceCheckUtils]: 4: Hoare triple {16813#true} call #t~ret8 := main(); {16813#true} is VALID [2022-04-15 07:48:44,163 INFO L290 TraceCheckUtils]: 5: Hoare triple {16813#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; {16813#true} is VALID [2022-04-15 07:48:44,163 INFO L272 TraceCheckUtils]: 6: Hoare triple {16813#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {16813#true} is VALID [2022-04-15 07:48:44,163 INFO L290 TraceCheckUtils]: 7: Hoare triple {16813#true} ~cond := #in~cond; {16813#true} is VALID [2022-04-15 07:48:44,163 INFO L290 TraceCheckUtils]: 8: Hoare triple {16813#true} assume !(0 == ~cond); {16813#true} is VALID [2022-04-15 07:48:44,163 INFO L290 TraceCheckUtils]: 9: Hoare triple {16813#true} assume true; {16813#true} is VALID [2022-04-15 07:48:44,163 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {16813#true} {16813#true} #61#return; {16813#true} is VALID [2022-04-15 07:48:44,163 INFO L290 TraceCheckUtils]: 11: Hoare triple {16813#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {16813#true} is VALID [2022-04-15 07:48:44,163 INFO L272 TraceCheckUtils]: 12: Hoare triple {16813#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {16813#true} is VALID [2022-04-15 07:48:44,163 INFO L290 TraceCheckUtils]: 13: Hoare triple {16813#true} ~cond := #in~cond; {16813#true} is VALID [2022-04-15 07:48:44,163 INFO L290 TraceCheckUtils]: 14: Hoare triple {16813#true} assume !(0 == ~cond); {16813#true} is VALID [2022-04-15 07:48:44,163 INFO L290 TraceCheckUtils]: 15: Hoare triple {16813#true} assume true; {16813#true} is VALID [2022-04-15 07:48:44,163 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {16813#true} {16813#true} #63#return; {16813#true} is VALID [2022-04-15 07:48:44,164 INFO L290 TraceCheckUtils]: 17: Hoare triple {16813#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {16869#(<= 0 main_~x~0)} is VALID [2022-04-15 07:48:44,164 INFO L290 TraceCheckUtils]: 18: Hoare triple {16869#(<= 0 main_~x~0)} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {16869#(<= 0 main_~x~0)} is VALID [2022-04-15 07:48:44,164 INFO L272 TraceCheckUtils]: 19: Hoare triple {16869#(<= 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)); {16813#true} is VALID [2022-04-15 07:48:44,164 INFO L290 TraceCheckUtils]: 20: Hoare triple {16813#true} ~cond := #in~cond; {16813#true} is VALID [2022-04-15 07:48:44,164 INFO L290 TraceCheckUtils]: 21: Hoare triple {16813#true} assume !(0 == ~cond); {16813#true} is VALID [2022-04-15 07:48:44,164 INFO L290 TraceCheckUtils]: 22: Hoare triple {16813#true} assume true; {16813#true} is VALID [2022-04-15 07:48:44,165 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {16813#true} {16869#(<= 0 main_~x~0)} #65#return; {16869#(<= 0 main_~x~0)} is VALID [2022-04-15 07:48:44,166 INFO L290 TraceCheckUtils]: 24: Hoare triple {16869#(<= 0 main_~x~0)} assume !!(~x~0 <= ~X~0); {16891#(<= 0 main_~X~0)} is VALID [2022-04-15 07:48:44,166 INFO L290 TraceCheckUtils]: 25: Hoare triple {16891#(<= 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; {16891#(<= 0 main_~X~0)} is VALID [2022-04-15 07:48:44,166 INFO L290 TraceCheckUtils]: 26: Hoare triple {16891#(<= 0 main_~X~0)} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {16891#(<= 0 main_~X~0)} is VALID [2022-04-15 07:48:44,166 INFO L290 TraceCheckUtils]: 27: Hoare triple {16891#(<= 0 main_~X~0)} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {16891#(<= 0 main_~X~0)} is VALID [2022-04-15 07:48:44,166 INFO L272 TraceCheckUtils]: 28: Hoare triple {16891#(<= 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)); {16813#true} is VALID [2022-04-15 07:48:44,167 INFO L290 TraceCheckUtils]: 29: Hoare triple {16813#true} ~cond := #in~cond; {16813#true} is VALID [2022-04-15 07:48:44,167 INFO L290 TraceCheckUtils]: 30: Hoare triple {16813#true} assume !(0 == ~cond); {16813#true} is VALID [2022-04-15 07:48:44,167 INFO L290 TraceCheckUtils]: 31: Hoare triple {16813#true} assume true; {16813#true} is VALID [2022-04-15 07:48:44,167 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {16813#true} {16891#(<= 0 main_~X~0)} #65#return; {16891#(<= 0 main_~X~0)} is VALID [2022-04-15 07:48:44,167 INFO L290 TraceCheckUtils]: 33: Hoare triple {16891#(<= 0 main_~X~0)} assume !!(~x~0 <= ~X~0); {16891#(<= 0 main_~X~0)} is VALID [2022-04-15 07:48:44,168 INFO L290 TraceCheckUtils]: 34: Hoare triple {16891#(<= 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; {16891#(<= 0 main_~X~0)} is VALID [2022-04-15 07:48:44,168 INFO L290 TraceCheckUtils]: 35: Hoare triple {16891#(<= 0 main_~X~0)} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {16891#(<= 0 main_~X~0)} is VALID [2022-04-15 07:48:44,168 INFO L290 TraceCheckUtils]: 36: Hoare triple {16891#(<= 0 main_~X~0)} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {16891#(<= 0 main_~X~0)} is VALID [2022-04-15 07:48:44,168 INFO L272 TraceCheckUtils]: 37: Hoare triple {16891#(<= 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)); {16813#true} is VALID [2022-04-15 07:48:44,168 INFO L290 TraceCheckUtils]: 38: Hoare triple {16813#true} ~cond := #in~cond; {16813#true} is VALID [2022-04-15 07:48:44,168 INFO L290 TraceCheckUtils]: 39: Hoare triple {16813#true} assume !(0 == ~cond); {16813#true} is VALID [2022-04-15 07:48:44,168 INFO L290 TraceCheckUtils]: 40: Hoare triple {16813#true} assume true; {16813#true} is VALID [2022-04-15 07:48:44,169 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {16813#true} {16891#(<= 0 main_~X~0)} #65#return; {16891#(<= 0 main_~X~0)} is VALID [2022-04-15 07:48:44,169 INFO L290 TraceCheckUtils]: 42: Hoare triple {16891#(<= 0 main_~X~0)} assume !!(~x~0 <= ~X~0); {16946#(and (<= main_~x~0 main_~X~0) (<= 0 main_~X~0))} is VALID [2022-04-15 07:48:44,169 INFO L290 TraceCheckUtils]: 43: Hoare triple {16946#(and (<= main_~x~0 main_~X~0) (<= 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; {16946#(and (<= main_~x~0 main_~X~0) (<= 0 main_~X~0))} is VALID [2022-04-15 07:48:44,170 INFO L290 TraceCheckUtils]: 44: Hoare triple {16946#(and (<= main_~x~0 main_~X~0) (<= 0 main_~X~0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {16953#(and (<= 0 main_~X~0) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-15 07:48:44,171 INFO L290 TraceCheckUtils]: 45: Hoare triple {16953#(and (<= 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; {16957#(and (<= 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:48:44,171 INFO L272 TraceCheckUtils]: 46: Hoare triple {16957#(and (<= 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)); {16813#true} is VALID [2022-04-15 07:48:44,171 INFO L290 TraceCheckUtils]: 47: Hoare triple {16813#true} ~cond := #in~cond; {16964#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:48:44,171 INFO L290 TraceCheckUtils]: 48: Hoare triple {16964#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {16968#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:48:44,171 INFO L290 TraceCheckUtils]: 49: Hoare triple {16968#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {16968#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:48:44,173 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {16968#(not (= |__VERIFIER_assert_#in~cond| 0))} {16957#(and (<= 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; {16975#(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_~X~0) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-15 07:48:44,173 INFO L290 TraceCheckUtils]: 51: Hoare triple {16975#(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_~X~0) (<= main_~x~0 (+ main_~X~0 1)))} assume !(~x~0 <= ~X~0); {16979#(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_~X~0) (not (<= main_~x~0 main_~X~0)) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-15 07:48:46,176 WARN L290 TraceCheckUtils]: 52: Hoare triple {16979#(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_~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; {16983#(and (<= 0 main_~X~0) (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))))))} is UNKNOWN [2022-04-15 07:48:46,192 INFO L272 TraceCheckUtils]: 53: Hoare triple {16983#(and (<= 0 main_~X~0) (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))))))} 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)); {16987#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 07:48:46,192 INFO L290 TraceCheckUtils]: 54: Hoare triple {16987#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {16991#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:48:46,192 INFO L290 TraceCheckUtils]: 55: Hoare triple {16991#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {16814#false} is VALID [2022-04-15 07:48:46,192 INFO L290 TraceCheckUtils]: 56: Hoare triple {16814#false} assume !false; {16814#false} is VALID [2022-04-15 07:48:46,192 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:48:46,193 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:48:53,271 INFO L290 TraceCheckUtils]: 56: Hoare triple {16814#false} assume !false; {16814#false} is VALID [2022-04-15 07:48:53,272 INFO L290 TraceCheckUtils]: 55: Hoare triple {16991#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {16814#false} is VALID [2022-04-15 07:48:53,272 INFO L290 TraceCheckUtils]: 54: Hoare triple {16987#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {16991#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:48:53,273 INFO L272 TraceCheckUtils]: 53: Hoare triple {17007#(= (+ (* 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)); {16987#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 07:48:53,275 INFO L290 TraceCheckUtils]: 52: Hoare triple {17011#(= (+ (* 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; {17007#(= (+ (* 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:53,275 INFO L290 TraceCheckUtils]: 51: Hoare triple {17015#(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); {17011#(= (+ (* 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:53,276 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {16968#(not (= |__VERIFIER_assert_#in~cond| 0))} {17019#(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; {17015#(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:53,277 INFO L290 TraceCheckUtils]: 49: Hoare triple {16968#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {16968#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:48:53,277 INFO L290 TraceCheckUtils]: 48: Hoare triple {17029#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {16968#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:48:53,277 INFO L290 TraceCheckUtils]: 47: Hoare triple {16813#true} ~cond := #in~cond; {17029#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 07:48:53,277 INFO L272 TraceCheckUtils]: 46: Hoare triple {17019#(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)); {16813#true} is VALID [2022-04-15 07:48:53,279 INFO L290 TraceCheckUtils]: 45: Hoare triple {17036#(or (<= main_~x~0 main_~X~0) (forall ((main_~y~0 Int) (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; {17019#(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:48:53,283 INFO L290 TraceCheckUtils]: 44: Hoare triple {17040#(forall ((v_main_~x~0_80 Int)) (or (forall ((main_~y~0 Int) (main_~Y~0 Int)) (= (+ (* (* v_main_~x~0_80 main_~Y~0) 2) (* main_~y~0 2) (* main_~Y~0 2)) (+ (* (* v_main_~x~0_80 main_~Y~0) 2) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* (* v_main_~x~0_80 main_~y~0) 2)))) (<= v_main_~x~0_80 main_~X~0) (not (<= v_main_~x~0_80 (+ main_~x~0 1)))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {17036#(or (<= main_~x~0 main_~X~0) (forall ((main_~y~0 Int) (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:48:53,284 INFO L290 TraceCheckUtils]: 43: Hoare triple {17040#(forall ((v_main_~x~0_80 Int)) (or (forall ((main_~y~0 Int) (main_~Y~0 Int)) (= (+ (* (* v_main_~x~0_80 main_~Y~0) 2) (* main_~y~0 2) (* main_~Y~0 2)) (+ (* (* v_main_~x~0_80 main_~Y~0) 2) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* (* v_main_~x~0_80 main_~y~0) 2)))) (<= v_main_~x~0_80 main_~X~0) (not (<= v_main_~x~0_80 (+ 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; {17040#(forall ((v_main_~x~0_80 Int)) (or (forall ((main_~y~0 Int) (main_~Y~0 Int)) (= (+ (* (* v_main_~x~0_80 main_~Y~0) 2) (* main_~y~0 2) (* main_~Y~0 2)) (+ (* (* v_main_~x~0_80 main_~Y~0) 2) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* (* v_main_~x~0_80 main_~y~0) 2)))) (<= v_main_~x~0_80 main_~X~0) (not (<= v_main_~x~0_80 (+ main_~x~0 1)))))} is VALID [2022-04-15 07:48:53,286 INFO L290 TraceCheckUtils]: 42: Hoare triple {16813#true} assume !!(~x~0 <= ~X~0); {17040#(forall ((v_main_~x~0_80 Int)) (or (forall ((main_~y~0 Int) (main_~Y~0 Int)) (= (+ (* (* v_main_~x~0_80 main_~Y~0) 2) (* main_~y~0 2) (* main_~Y~0 2)) (+ (* (* v_main_~x~0_80 main_~Y~0) 2) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* (* v_main_~x~0_80 main_~y~0) 2)))) (<= v_main_~x~0_80 main_~X~0) (not (<= v_main_~x~0_80 (+ main_~x~0 1)))))} is VALID [2022-04-15 07:48:53,286 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {16813#true} {16813#true} #65#return; {16813#true} is VALID [2022-04-15 07:48:53,286 INFO L290 TraceCheckUtils]: 40: Hoare triple {16813#true} assume true; {16813#true} is VALID [2022-04-15 07:48:53,286 INFO L290 TraceCheckUtils]: 39: Hoare triple {16813#true} assume !(0 == ~cond); {16813#true} is VALID [2022-04-15 07:48:53,287 INFO L290 TraceCheckUtils]: 38: Hoare triple {16813#true} ~cond := #in~cond; {16813#true} is VALID [2022-04-15 07:48:53,287 INFO L272 TraceCheckUtils]: 37: Hoare triple {16813#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {16813#true} is VALID [2022-04-15 07:48:53,287 INFO L290 TraceCheckUtils]: 36: Hoare triple {16813#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {16813#true} is VALID [2022-04-15 07:48:53,287 INFO L290 TraceCheckUtils]: 35: Hoare triple {16813#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {16813#true} is VALID [2022-04-15 07:48:53,287 INFO L290 TraceCheckUtils]: 34: Hoare triple {16813#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; {16813#true} is VALID [2022-04-15 07:48:53,287 INFO L290 TraceCheckUtils]: 33: Hoare triple {16813#true} assume !!(~x~0 <= ~X~0); {16813#true} is VALID [2022-04-15 07:48:53,287 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {16813#true} {16813#true} #65#return; {16813#true} is VALID [2022-04-15 07:48:53,287 INFO L290 TraceCheckUtils]: 31: Hoare triple {16813#true} assume true; {16813#true} is VALID [2022-04-15 07:48:53,287 INFO L290 TraceCheckUtils]: 30: Hoare triple {16813#true} assume !(0 == ~cond); {16813#true} is VALID [2022-04-15 07:48:53,287 INFO L290 TraceCheckUtils]: 29: Hoare triple {16813#true} ~cond := #in~cond; {16813#true} is VALID [2022-04-15 07:48:53,287 INFO L272 TraceCheckUtils]: 28: Hoare triple {16813#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {16813#true} is VALID [2022-04-15 07:48:53,287 INFO L290 TraceCheckUtils]: 27: Hoare triple {16813#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {16813#true} is VALID [2022-04-15 07:48:53,287 INFO L290 TraceCheckUtils]: 26: Hoare triple {16813#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {16813#true} is VALID [2022-04-15 07:48:53,287 INFO L290 TraceCheckUtils]: 25: Hoare triple {16813#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; {16813#true} is VALID [2022-04-15 07:48:53,287 INFO L290 TraceCheckUtils]: 24: Hoare triple {16813#true} assume !!(~x~0 <= ~X~0); {16813#true} is VALID [2022-04-15 07:48:53,287 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {16813#true} {16813#true} #65#return; {16813#true} is VALID [2022-04-15 07:48:53,287 INFO L290 TraceCheckUtils]: 22: Hoare triple {16813#true} assume true; {16813#true} is VALID [2022-04-15 07:48:53,287 INFO L290 TraceCheckUtils]: 21: Hoare triple {16813#true} assume !(0 == ~cond); {16813#true} is VALID [2022-04-15 07:48:53,287 INFO L290 TraceCheckUtils]: 20: Hoare triple {16813#true} ~cond := #in~cond; {16813#true} is VALID [2022-04-15 07:48:53,288 INFO L272 TraceCheckUtils]: 19: Hoare triple {16813#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {16813#true} is VALID [2022-04-15 07:48:53,288 INFO L290 TraceCheckUtils]: 18: Hoare triple {16813#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {16813#true} is VALID [2022-04-15 07:48:53,288 INFO L290 TraceCheckUtils]: 17: Hoare triple {16813#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {16813#true} is VALID [2022-04-15 07:48:53,288 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {16813#true} {16813#true} #63#return; {16813#true} is VALID [2022-04-15 07:48:53,288 INFO L290 TraceCheckUtils]: 15: Hoare triple {16813#true} assume true; {16813#true} is VALID [2022-04-15 07:48:53,288 INFO L290 TraceCheckUtils]: 14: Hoare triple {16813#true} assume !(0 == ~cond); {16813#true} is VALID [2022-04-15 07:48:53,288 INFO L290 TraceCheckUtils]: 13: Hoare triple {16813#true} ~cond := #in~cond; {16813#true} is VALID [2022-04-15 07:48:53,288 INFO L272 TraceCheckUtils]: 12: Hoare triple {16813#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {16813#true} is VALID [2022-04-15 07:48:53,288 INFO L290 TraceCheckUtils]: 11: Hoare triple {16813#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {16813#true} is VALID [2022-04-15 07:48:53,288 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {16813#true} {16813#true} #61#return; {16813#true} is VALID [2022-04-15 07:48:53,288 INFO L290 TraceCheckUtils]: 9: Hoare triple {16813#true} assume true; {16813#true} is VALID [2022-04-15 07:48:53,288 INFO L290 TraceCheckUtils]: 8: Hoare triple {16813#true} assume !(0 == ~cond); {16813#true} is VALID [2022-04-15 07:48:53,288 INFO L290 TraceCheckUtils]: 7: Hoare triple {16813#true} ~cond := #in~cond; {16813#true} is VALID [2022-04-15 07:48:53,288 INFO L272 TraceCheckUtils]: 6: Hoare triple {16813#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {16813#true} is VALID [2022-04-15 07:48:53,288 INFO L290 TraceCheckUtils]: 5: Hoare triple {16813#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; {16813#true} is VALID [2022-04-15 07:48:53,288 INFO L272 TraceCheckUtils]: 4: Hoare triple {16813#true} call #t~ret8 := main(); {16813#true} is VALID [2022-04-15 07:48:53,288 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {16813#true} {16813#true} #69#return; {16813#true} is VALID [2022-04-15 07:48:53,288 INFO L290 TraceCheckUtils]: 2: Hoare triple {16813#true} assume true; {16813#true} is VALID [2022-04-15 07:48:53,288 INFO L290 TraceCheckUtils]: 1: Hoare triple {16813#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); {16813#true} is VALID [2022-04-15 07:48:53,289 INFO L272 TraceCheckUtils]: 0: Hoare triple {16813#true} call ULTIMATE.init(); {16813#true} is VALID [2022-04-15 07:48:53,289 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:53,289 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:48:53,289 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1973117218] [2022-04-15 07:48:53,289 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 07:48:53,289 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2032452971] [2022-04-15 07:48:53,289 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2032452971] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:48:53,289 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 07:48:53,289 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 12] total 21 [2022-04-15 07:48:53,289 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:48:53,289 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1042929710] [2022-04-15 07:48:53,289 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1042929710] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:48:53,289 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:48:53,290 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-15 07:48:53,290 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [677830812] [2022-04-15 07:48:53,290 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:48:53,290 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 12 states have internal predecessors, (29), 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:48:53,290 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:48:53,290 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 14 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 12 states have internal predecessors, (29), 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:48:55,346 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 43 edges. 42 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-15 07:48:55,347 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-15 07:48:55,347 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:48:55,347 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-15 07:48:55,347 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=70, Invalid=313, Unknown=1, NotChecked=36, Total=420 [2022-04-15 07:48:55,347 INFO L87 Difference]: Start difference. First operand 132 states and 146 transitions. Second operand has 14 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 12 states have internal predecessors, (29), 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:48:58,315 WARN L833 $PredicateComparison]: unable to prove that (let ((.cse7 (* c_main_~X~0 c_main_~y~0)) (.cse3 (+ c_main_~X~0 1))) (and (let ((.cse2 (+ (* (- 1) c_main_~Y~0) (div (+ c_main_~v~0 c_main_~X~0) 2) .cse7)) (.cse0 (= c_main_~Y~0 0)) (.cse4 (= (mod (+ (* 2 c_main_~X~0 c_main_~y~0) c_main_~v~0 c_main_~X~0) 2) 0))) (or (let ((.cse1 (div .cse2 c_main_~Y~0))) (and (not .cse0) (not (<= .cse1 c_main_~X~0)) (= (mod .cse2 c_main_~Y~0) 0) (= c_main_~xy~0 (* c_main_~y~0 .cse1)) (<= .cse1 .cse3) (= c_main_~yx~0 (* c_main_~Y~0 .cse1)) .cse4)) (and (let ((.cse6 (= c_main_~y~0 0))) (or (let ((.cse5 (div c_main_~xy~0 c_main_~y~0))) (and (<= .cse5 .cse3) (= (mod c_main_~xy~0 c_main_~y~0) 0) (not .cse6) (< c_main_~X~0 .cse5))) (and .cse6 (= c_main_~xy~0 0)))) (= 0 .cse2) .cse0 (= c_main_~yx~0 0) .cse4))) (<= 0 c_main_~X~0) (not (<= c_main_~x~0 c_main_~X~0)) (= (+ (* 2 (* c_main_~Y~0 c_main_~x~0)) (* 2 c_main_~Y~0)) (+ (* 2 .cse7) c_main_~v~0 c_main_~X~0)) (<= c_main_~x~0 .cse3))) is different from false [2022-04-15 07:48:58,388 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:48:58,388 INFO L93 Difference]: Finished difference Result 139 states and 152 transitions. [2022-04-15 07:48:58,388 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-15 07:48:58,388 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 12 states have internal predecessors, (29), 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:48:58,388 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:48:58,388 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 12 states have internal predecessors, (29), 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:48:58,389 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 42 transitions. [2022-04-15 07:48:58,389 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 12 states have internal predecessors, (29), 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:48:58,389 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 42 transitions. [2022-04-15 07:48:58,389 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 42 transitions. [2022-04-15 07:49:00,519 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 42 edges. 41 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-15 07:49:00,520 INFO L225 Difference]: With dead ends: 139 [2022-04-15 07:49:00,520 INFO L226 Difference]: Without dead ends: 131 [2022-04-15 07:49:00,521 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 123 GetRequests, 93 SyntacticMatches, 1 SemanticMatches, 29 ConstructedPredicates, 2 IntricatePredicates, 0 DeprecatedPredicates, 142 ImplicationChecksByTransitivity, 4.7s TimeCoverageRelationStatistics Valid=170, Invalid=648, Unknown=2, NotChecked=110, Total=930 [2022-04-15 07:49:00,521 INFO L913 BasicCegarLoop]: 22 mSDtfsCounter, 23 mSDsluCounter, 128 mSDsCounter, 0 mSdLazyCounter, 139 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 23 SdHoareTripleChecker+Valid, 150 SdHoareTripleChecker+Invalid, 170 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 139 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 24 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-15 07:49:00,521 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [23 Valid, 150 Invalid, 170 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 139 Invalid, 0 Unknown, 24 Unchecked, 0.1s Time] [2022-04-15 07:49:00,521 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 131 states. [2022-04-15 07:49:00,848 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 131 to 126. [2022-04-15 07:49:00,848 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:49:00,848 INFO L82 GeneralOperation]: Start isEquivalent. First operand 131 states. Second operand has 126 states, 93 states have (on average 1.086021505376344) internal successors, (101), 97 states have internal predecessors, (101), 19 states have call successors, (19), 14 states have call predecessors, (19), 13 states have return successors, (18), 14 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-15 07:49:00,848 INFO L74 IsIncluded]: Start isIncluded. First operand 131 states. Second operand has 126 states, 93 states have (on average 1.086021505376344) internal successors, (101), 97 states have internal predecessors, (101), 19 states have call successors, (19), 14 states have call predecessors, (19), 13 states have return successors, (18), 14 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-15 07:49:00,848 INFO L87 Difference]: Start difference. First operand 131 states. Second operand has 126 states, 93 states have (on average 1.086021505376344) internal successors, (101), 97 states have internal predecessors, (101), 19 states have call successors, (19), 14 states have call predecessors, (19), 13 states have return successors, (18), 14 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-15 07:49:00,850 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:49:00,850 INFO L93 Difference]: Finished difference Result 131 states and 144 transitions. [2022-04-15 07:49:00,850 INFO L276 IsEmpty]: Start isEmpty. Operand 131 states and 144 transitions. [2022-04-15 07:49:00,850 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:49:00,850 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:49:00,850 INFO L74 IsIncluded]: Start isIncluded. First operand has 126 states, 93 states have (on average 1.086021505376344) internal successors, (101), 97 states have internal predecessors, (101), 19 states have call successors, (19), 14 states have call predecessors, (19), 13 states have return successors, (18), 14 states have call predecessors, (18), 18 states have call successors, (18) Second operand 131 states. [2022-04-15 07:49:00,851 INFO L87 Difference]: Start difference. First operand has 126 states, 93 states have (on average 1.086021505376344) internal successors, (101), 97 states have internal predecessors, (101), 19 states have call successors, (19), 14 states have call predecessors, (19), 13 states have return successors, (18), 14 states have call predecessors, (18), 18 states have call successors, (18) Second operand 131 states. [2022-04-15 07:49:00,852 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:49:00,852 INFO L93 Difference]: Finished difference Result 131 states and 144 transitions. [2022-04-15 07:49:00,852 INFO L276 IsEmpty]: Start isEmpty. Operand 131 states and 144 transitions. [2022-04-15 07:49:00,852 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:49:00,852 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:49:00,852 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:49:00,852 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:49:00,853 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 126 states, 93 states have (on average 1.086021505376344) internal successors, (101), 97 states have internal predecessors, (101), 19 states have call successors, (19), 14 states have call predecessors, (19), 13 states have return successors, (18), 14 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-15 07:49:00,854 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 126 states to 126 states and 138 transitions. [2022-04-15 07:49:00,854 INFO L78 Accepts]: Start accepts. Automaton has 126 states and 138 transitions. Word has length 57 [2022-04-15 07:49:00,854 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:49:00,854 INFO L478 AbstractCegarLoop]: Abstraction has 126 states and 138 transitions. [2022-04-15 07:49:00,854 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 12 states have internal predecessors, (29), 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:49:00,854 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 126 states and 138 transitions. [2022-04-15 07:49:03,256 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 138 edges. 137 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-15 07:49:03,256 INFO L276 IsEmpty]: Start isEmpty. Operand 126 states and 138 transitions. [2022-04-15 07:49:03,257 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 60 [2022-04-15 07:49:03,257 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:49:03,257 INFO L499 BasicCegarLoop]: trace histogram [5, 5, 5, 4, 4, 4, 4, 4, 4, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 07:49:03,266 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (22)] Ended with exit code 0 [2022-04-15 07:49:03,457 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 22 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable21 [2022-04-15 07:49:03,457 INFO L403 AbstractCegarLoop]: === Iteration 23 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:49:03,458 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:49:03,458 INFO L85 PathProgramCache]: Analyzing trace with hash 1830651545, now seen corresponding path program 7 times [2022-04-15 07:49:03,458 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:49:03,458 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [818517298] [2022-04-15 07:49:03,458 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 07:49:03,458 INFO L85 PathProgramCache]: Analyzing trace with hash 1830651545, now seen corresponding path program 8 times [2022-04-15 07:49:03,458 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:49:03,458 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [634821502] [2022-04-15 07:49:03,459 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:49:03,459 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:49:03,475 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:49:03,475 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1788914248] [2022-04-15 07:49:03,475 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 07:49:03,475 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:49:03,475 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:49:03,476 INFO L229 MonitoredProcess]: Starting monitored process 23 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:49:03,476 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (23)] Waiting until timeout for monitored process [2022-04-15 07:49:03,535 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 07:49:03,535 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:49:03,536 INFO L263 TraceCheckSpWp]: Trace formula consists of 160 conjuncts, 34 conjunts are in the unsatisfiable core [2022-04-15 07:49:03,552 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:49:03,553 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:49:04,181 INFO L272 TraceCheckUtils]: 0: Hoare triple {17987#true} call ULTIMATE.init(); {17987#true} is VALID [2022-04-15 07:49:04,182 INFO L290 TraceCheckUtils]: 1: Hoare triple {17987#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); {17987#true} is VALID [2022-04-15 07:49:04,182 INFO L290 TraceCheckUtils]: 2: Hoare triple {17987#true} assume true; {17987#true} is VALID [2022-04-15 07:49:04,182 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {17987#true} {17987#true} #69#return; {17987#true} is VALID [2022-04-15 07:49:04,182 INFO L272 TraceCheckUtils]: 4: Hoare triple {17987#true} call #t~ret8 := main(); {17987#true} is VALID [2022-04-15 07:49:04,182 INFO L290 TraceCheckUtils]: 5: Hoare triple {17987#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; {17987#true} is VALID [2022-04-15 07:49:04,182 INFO L272 TraceCheckUtils]: 6: Hoare triple {17987#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {17987#true} is VALID [2022-04-15 07:49:04,182 INFO L290 TraceCheckUtils]: 7: Hoare triple {17987#true} ~cond := #in~cond; {17987#true} is VALID [2022-04-15 07:49:04,182 INFO L290 TraceCheckUtils]: 8: Hoare triple {17987#true} assume !(0 == ~cond); {17987#true} is VALID [2022-04-15 07:49:04,182 INFO L290 TraceCheckUtils]: 9: Hoare triple {17987#true} assume true; {17987#true} is VALID [2022-04-15 07:49:04,182 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {17987#true} {17987#true} #61#return; {17987#true} is VALID [2022-04-15 07:49:04,182 INFO L290 TraceCheckUtils]: 11: Hoare triple {17987#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {17987#true} is VALID [2022-04-15 07:49:04,182 INFO L272 TraceCheckUtils]: 12: Hoare triple {17987#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {17987#true} is VALID [2022-04-15 07:49:04,182 INFO L290 TraceCheckUtils]: 13: Hoare triple {17987#true} ~cond := #in~cond; {18031#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 07:49:04,183 INFO L290 TraceCheckUtils]: 14: Hoare triple {18031#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {18035#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 07:49:04,183 INFO L290 TraceCheckUtils]: 15: Hoare triple {18035#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {18035#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 07:49:04,183 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {18035#(not (= |assume_abort_if_not_#in~cond| 0))} {17987#true} #63#return; {18042#(and (<= 0 main_~Y~0) (<= main_~Y~0 100))} is VALID [2022-04-15 07:49:04,184 INFO L290 TraceCheckUtils]: 17: Hoare triple {18042#(and (<= 0 main_~Y~0) (<= main_~Y~0 100))} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {18046#(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 100))} is VALID [2022-04-15 07:49:04,184 INFO L290 TraceCheckUtils]: 18: Hoare triple {18046#(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 100))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {18046#(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 100))} is VALID [2022-04-15 07:49:04,184 INFO L272 TraceCheckUtils]: 19: Hoare triple {18046#(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 100))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {17987#true} is VALID [2022-04-15 07:49:04,184 INFO L290 TraceCheckUtils]: 20: Hoare triple {17987#true} ~cond := #in~cond; {17987#true} is VALID [2022-04-15 07:49:04,184 INFO L290 TraceCheckUtils]: 21: Hoare triple {17987#true} assume !(0 == ~cond); {17987#true} is VALID [2022-04-15 07:49:04,184 INFO L290 TraceCheckUtils]: 22: Hoare triple {17987#true} assume true; {17987#true} is VALID [2022-04-15 07:49:04,185 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {17987#true} {18046#(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 100))} #65#return; {18046#(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 100))} is VALID [2022-04-15 07:49:04,185 INFO L290 TraceCheckUtils]: 24: Hoare triple {18046#(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 100))} assume !!(~x~0 <= ~X~0); {18046#(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 100))} is VALID [2022-04-15 07:49:04,186 INFO L290 TraceCheckUtils]: 25: Hoare triple {18046#(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 100))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {18071#(and (= main_~x~0 0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} is VALID [2022-04-15 07:49:04,186 INFO L290 TraceCheckUtils]: 26: Hoare triple {18071#(and (= main_~x~0 0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100) (= (+ (* (- 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; {18075#(and (= (+ (- 1) main_~x~0) 0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} is VALID [2022-04-15 07:49:04,187 INFO L290 TraceCheckUtils]: 27: Hoare triple {18075#(and (= (+ (- 1) main_~x~0) 0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100) (= (+ (* (- 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; {18075#(and (= (+ (- 1) main_~x~0) 0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} is VALID [2022-04-15 07:49:04,187 INFO L272 TraceCheckUtils]: 28: Hoare triple {18075#(and (= (+ (- 1) main_~x~0) 0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100) (= (+ (* (- 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)); {17987#true} is VALID [2022-04-15 07:49:04,187 INFO L290 TraceCheckUtils]: 29: Hoare triple {17987#true} ~cond := #in~cond; {17987#true} is VALID [2022-04-15 07:49:04,187 INFO L290 TraceCheckUtils]: 30: Hoare triple {17987#true} assume !(0 == ~cond); {17987#true} is VALID [2022-04-15 07:49:04,187 INFO L290 TraceCheckUtils]: 31: Hoare triple {17987#true} assume true; {17987#true} is VALID [2022-04-15 07:49:04,188 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {17987#true} {18075#(and (= (+ (- 1) main_~x~0) 0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} #65#return; {18075#(and (= (+ (- 1) main_~x~0) 0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} is VALID [2022-04-15 07:49:04,188 INFO L290 TraceCheckUtils]: 33: Hoare triple {18075#(and (= (+ (- 1) main_~x~0) 0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} assume !!(~x~0 <= ~X~0); {18075#(and (= (+ (- 1) main_~x~0) 0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} is VALID [2022-04-15 07:49:04,189 INFO L290 TraceCheckUtils]: 34: Hoare triple {18075#(and (= (+ (- 1) main_~x~0) 0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100) (= (+ (* (- 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; {18100#(and (= (+ (- 1) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 4)))) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100))} is VALID [2022-04-15 07:49:04,189 INFO L290 TraceCheckUtils]: 35: Hoare triple {18100#(and (= (+ (- 1) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 4)))) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {18104#(and (= (+ (- 2) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 4)))) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100))} is VALID [2022-04-15 07:49:04,190 INFO L290 TraceCheckUtils]: 36: Hoare triple {18104#(and (= (+ (- 2) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 4)))) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {18104#(and (= (+ (- 2) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 4)))) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100))} is VALID [2022-04-15 07:49:04,190 INFO L272 TraceCheckUtils]: 37: Hoare triple {18104#(and (= (+ (- 2) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 4)))) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {17987#true} is VALID [2022-04-15 07:49:04,190 INFO L290 TraceCheckUtils]: 38: Hoare triple {17987#true} ~cond := #in~cond; {17987#true} is VALID [2022-04-15 07:49:04,190 INFO L290 TraceCheckUtils]: 39: Hoare triple {17987#true} assume !(0 == ~cond); {17987#true} is VALID [2022-04-15 07:49:04,190 INFO L290 TraceCheckUtils]: 40: Hoare triple {17987#true} assume true; {17987#true} is VALID [2022-04-15 07:49:04,190 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {17987#true} {18104#(and (= (+ (- 2) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 4)))) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100))} #65#return; {18104#(and (= (+ (- 2) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 4)))) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100))} is VALID [2022-04-15 07:49:04,191 INFO L290 TraceCheckUtils]: 42: Hoare triple {18104#(and (= (+ (- 2) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 4)))) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100))} assume !!(~x~0 <= ~X~0); {18104#(and (= (+ (- 2) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 4)))) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100))} is VALID [2022-04-15 07:49:04,191 INFO L290 TraceCheckUtils]: 43: Hoare triple {18104#(and (= (+ (- 2) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 4)))) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {18129#(and (= (+ (- 2) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 6)))) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100))} is VALID [2022-04-15 07:49:04,192 INFO L290 TraceCheckUtils]: 44: Hoare triple {18129#(and (= (+ (- 2) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 6)))) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {18133#(and (= main_~x~0 3) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 6)))) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100))} is VALID [2022-04-15 07:49:04,192 INFO L290 TraceCheckUtils]: 45: Hoare triple {18133#(and (= main_~x~0 3) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 6)))) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {18133#(and (= main_~x~0 3) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 6)))) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100))} is VALID [2022-04-15 07:49:04,192 INFO L272 TraceCheckUtils]: 46: Hoare triple {18133#(and (= main_~x~0 3) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 6)))) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {17987#true} is VALID [2022-04-15 07:49:04,192 INFO L290 TraceCheckUtils]: 47: Hoare triple {17987#true} ~cond := #in~cond; {17987#true} is VALID [2022-04-15 07:49:04,192 INFO L290 TraceCheckUtils]: 48: Hoare triple {17987#true} assume !(0 == ~cond); {17987#true} is VALID [2022-04-15 07:49:04,193 INFO L290 TraceCheckUtils]: 49: Hoare triple {17987#true} assume true; {17987#true} is VALID [2022-04-15 07:49:04,193 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {17987#true} {18133#(and (= main_~x~0 3) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 6)))) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100))} #65#return; {18133#(and (= main_~x~0 3) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 6)))) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100))} is VALID [2022-04-15 07:49:04,193 INFO L290 TraceCheckUtils]: 51: Hoare triple {18133#(and (= main_~x~0 3) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 6)))) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100))} assume !!(~x~0 <= ~X~0); {18133#(and (= main_~x~0 3) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 6)))) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100))} is VALID [2022-04-15 07:49:04,194 INFO L290 TraceCheckUtils]: 52: Hoare triple {18133#(and (= main_~x~0 3) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 6)))) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {18158#(and (= main_~x~0 3) (= main_~v~0 (+ (* main_~Y~0 10) (* (- 1) main_~X~0))) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100))} is VALID [2022-04-15 07:49:04,194 INFO L290 TraceCheckUtils]: 53: Hoare triple {18158#(and (= main_~x~0 3) (= main_~v~0 (+ (* main_~Y~0 10) (* (- 1) main_~X~0))) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {18162#(and (= main_~v~0 (+ (* main_~Y~0 10) (* (- 1) main_~X~0))) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100) (= main_~x~0 4))} is VALID [2022-04-15 07:49:04,195 INFO L290 TraceCheckUtils]: 54: Hoare triple {18162#(and (= main_~v~0 (+ (* main_~Y~0 10) (* (- 1) main_~X~0))) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100) (= main_~x~0 4))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {18166#(and (= main_~xy~0 0) (= main_~v~0 (+ (* main_~Y~0 10) (* (- 1) main_~X~0))) (= main_~yx~0 (* main_~Y~0 4)) (<= 0 main_~Y~0) (<= main_~Y~0 100))} is VALID [2022-04-15 07:49:04,196 INFO L272 TraceCheckUtils]: 55: Hoare triple {18166#(and (= main_~xy~0 0) (= main_~v~0 (+ (* main_~Y~0 10) (* (- 1) main_~X~0))) (= main_~yx~0 (* main_~Y~0 4)) (<= 0 main_~Y~0) (<= main_~Y~0 100))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {18170#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 07:49:04,196 INFO L290 TraceCheckUtils]: 56: Hoare triple {18170#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {18174#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:49:04,196 INFO L290 TraceCheckUtils]: 57: Hoare triple {18174#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {17988#false} is VALID [2022-04-15 07:49:04,196 INFO L290 TraceCheckUtils]: 58: Hoare triple {17988#false} assume !false; {17988#false} is VALID [2022-04-15 07:49:04,197 INFO L134 CoverageAnalysis]: Checked inductivity of 74 backedges. 11 proven. 38 refuted. 0 times theorem prover too weak. 25 trivial. 0 not checked. [2022-04-15 07:49:04,197 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:49:04,554 INFO L290 TraceCheckUtils]: 58: Hoare triple {17988#false} assume !false; {17988#false} is VALID [2022-04-15 07:49:04,554 INFO L290 TraceCheckUtils]: 57: Hoare triple {18174#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {17988#false} is VALID [2022-04-15 07:49:04,554 INFO L290 TraceCheckUtils]: 56: Hoare triple {18170#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {18174#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:49:04,555 INFO L272 TraceCheckUtils]: 55: Hoare triple {18190#(= (+ (* 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)); {18170#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 07:49:04,556 INFO L290 TraceCheckUtils]: 54: Hoare triple {18194#(= (+ (* 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; {18190#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-15 07:49:04,558 INFO L290 TraceCheckUtils]: 53: Hoare triple {18198#(= (+ (* (* 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; {18194#(= (+ (* 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:49:04,559 INFO L290 TraceCheckUtils]: 52: Hoare triple {18194#(= (+ (* 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; {18198#(= (+ (* (* 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:49:04,559 INFO L290 TraceCheckUtils]: 51: Hoare triple {18194#(= (+ (* 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); {18194#(= (+ (* 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:49:04,560 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {17987#true} {18194#(= (+ (* 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; {18194#(= (+ (* 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:49:04,560 INFO L290 TraceCheckUtils]: 49: Hoare triple {17987#true} assume true; {17987#true} is VALID [2022-04-15 07:49:04,560 INFO L290 TraceCheckUtils]: 48: Hoare triple {17987#true} assume !(0 == ~cond); {17987#true} is VALID [2022-04-15 07:49:04,560 INFO L290 TraceCheckUtils]: 47: Hoare triple {17987#true} ~cond := #in~cond; {17987#true} is VALID [2022-04-15 07:49:04,560 INFO L272 TraceCheckUtils]: 46: Hoare triple {18194#(= (+ (* 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)); {17987#true} is VALID [2022-04-15 07:49:04,561 INFO L290 TraceCheckUtils]: 45: Hoare triple {18194#(= (+ (* 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; {18194#(= (+ (* 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:49:04,562 INFO L290 TraceCheckUtils]: 44: Hoare triple {18198#(= (+ (* (* 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; {18194#(= (+ (* 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:49:04,563 INFO L290 TraceCheckUtils]: 43: Hoare triple {18194#(= (+ (* 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; {18198#(= (+ (* (* 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:49:04,563 INFO L290 TraceCheckUtils]: 42: Hoare triple {18194#(= (+ (* 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); {18194#(= (+ (* 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:49:04,564 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {17987#true} {18194#(= (+ (* 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; {18194#(= (+ (* 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:49:04,564 INFO L290 TraceCheckUtils]: 40: Hoare triple {17987#true} assume true; {17987#true} is VALID [2022-04-15 07:49:04,564 INFO L290 TraceCheckUtils]: 39: Hoare triple {17987#true} assume !(0 == ~cond); {17987#true} is VALID [2022-04-15 07:49:04,564 INFO L290 TraceCheckUtils]: 38: Hoare triple {17987#true} ~cond := #in~cond; {17987#true} is VALID [2022-04-15 07:49:04,564 INFO L272 TraceCheckUtils]: 37: Hoare triple {18194#(= (+ (* 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)); {17987#true} is VALID [2022-04-15 07:49:04,564 INFO L290 TraceCheckUtils]: 36: Hoare triple {18194#(= (+ (* 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; {18194#(= (+ (* 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:49:04,566 INFO L290 TraceCheckUtils]: 35: Hoare triple {18198#(= (+ (* (* 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; {18194#(= (+ (* 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:49:04,567 INFO L290 TraceCheckUtils]: 34: Hoare triple {18194#(= (+ (* 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; {18198#(= (+ (* (* 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:49:04,567 INFO L290 TraceCheckUtils]: 33: Hoare triple {18194#(= (+ (* 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); {18194#(= (+ (* 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:49:04,568 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {17987#true} {18194#(= (+ (* 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; {18194#(= (+ (* 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:49:04,568 INFO L290 TraceCheckUtils]: 31: Hoare triple {17987#true} assume true; {17987#true} is VALID [2022-04-15 07:49:04,568 INFO L290 TraceCheckUtils]: 30: Hoare triple {17987#true} assume !(0 == ~cond); {17987#true} is VALID [2022-04-15 07:49:04,568 INFO L290 TraceCheckUtils]: 29: Hoare triple {17987#true} ~cond := #in~cond; {17987#true} is VALID [2022-04-15 07:49:04,568 INFO L272 TraceCheckUtils]: 28: Hoare triple {18194#(= (+ (* 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)); {17987#true} is VALID [2022-04-15 07:49:04,568 INFO L290 TraceCheckUtils]: 27: Hoare triple {18194#(= (+ (* 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; {18194#(= (+ (* 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:49:04,570 INFO L290 TraceCheckUtils]: 26: Hoare triple {18198#(= (+ (* (* 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; {18194#(= (+ (* 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:49:04,571 INFO L290 TraceCheckUtils]: 25: Hoare triple {18194#(= (+ (* 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; {18198#(= (+ (* (* 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:49:04,571 INFO L290 TraceCheckUtils]: 24: Hoare triple {18194#(= (+ (* 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); {18194#(= (+ (* 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:49:04,572 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {17987#true} {18194#(= (+ (* 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; {18194#(= (+ (* 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:49:04,572 INFO L290 TraceCheckUtils]: 22: Hoare triple {17987#true} assume true; {17987#true} is VALID [2022-04-15 07:49:04,572 INFO L290 TraceCheckUtils]: 21: Hoare triple {17987#true} assume !(0 == ~cond); {17987#true} is VALID [2022-04-15 07:49:04,572 INFO L290 TraceCheckUtils]: 20: Hoare triple {17987#true} ~cond := #in~cond; {17987#true} is VALID [2022-04-15 07:49:04,572 INFO L272 TraceCheckUtils]: 19: Hoare triple {18194#(= (+ (* 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)); {17987#true} is VALID [2022-04-15 07:49:04,573 INFO L290 TraceCheckUtils]: 18: Hoare triple {18194#(= (+ (* 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; {18194#(= (+ (* 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:49:04,573 INFO L290 TraceCheckUtils]: 17: Hoare triple {17987#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {18194#(= (+ (* 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:49:04,573 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {17987#true} {17987#true} #63#return; {17987#true} is VALID [2022-04-15 07:49:04,573 INFO L290 TraceCheckUtils]: 15: Hoare triple {17987#true} assume true; {17987#true} is VALID [2022-04-15 07:49:04,573 INFO L290 TraceCheckUtils]: 14: Hoare triple {17987#true} assume !(0 == ~cond); {17987#true} is VALID [2022-04-15 07:49:04,573 INFO L290 TraceCheckUtils]: 13: Hoare triple {17987#true} ~cond := #in~cond; {17987#true} is VALID [2022-04-15 07:49:04,573 INFO L272 TraceCheckUtils]: 12: Hoare triple {17987#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {17987#true} is VALID [2022-04-15 07:49:04,573 INFO L290 TraceCheckUtils]: 11: Hoare triple {17987#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {17987#true} is VALID [2022-04-15 07:49:04,573 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {17987#true} {17987#true} #61#return; {17987#true} is VALID [2022-04-15 07:49:04,573 INFO L290 TraceCheckUtils]: 9: Hoare triple {17987#true} assume true; {17987#true} is VALID [2022-04-15 07:49:04,577 INFO L290 TraceCheckUtils]: 8: Hoare triple {17987#true} assume !(0 == ~cond); {17987#true} is VALID [2022-04-15 07:49:04,577 INFO L290 TraceCheckUtils]: 7: Hoare triple {17987#true} ~cond := #in~cond; {17987#true} is VALID [2022-04-15 07:49:04,577 INFO L272 TraceCheckUtils]: 6: Hoare triple {17987#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {17987#true} is VALID [2022-04-15 07:49:04,577 INFO L290 TraceCheckUtils]: 5: Hoare triple {17987#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; {17987#true} is VALID [2022-04-15 07:49:04,577 INFO L272 TraceCheckUtils]: 4: Hoare triple {17987#true} call #t~ret8 := main(); {17987#true} is VALID [2022-04-15 07:49:04,577 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {17987#true} {17987#true} #69#return; {17987#true} is VALID [2022-04-15 07:49:04,577 INFO L290 TraceCheckUtils]: 2: Hoare triple {17987#true} assume true; {17987#true} is VALID [2022-04-15 07:49:04,577 INFO L290 TraceCheckUtils]: 1: Hoare triple {17987#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); {17987#true} is VALID [2022-04-15 07:49:04,577 INFO L272 TraceCheckUtils]: 0: Hoare triple {17987#true} call ULTIMATE.init(); {17987#true} is VALID [2022-04-15 07:49:04,578 INFO L134 CoverageAnalysis]: Checked inductivity of 74 backedges. 8 proven. 4 refuted. 0 times theorem prover too weak. 62 trivial. 0 not checked. [2022-04-15 07:49:04,578 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:49:04,578 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [634821502] [2022-04-15 07:49:04,578 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 07:49:04,578 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1788914248] [2022-04-15 07:49:04,578 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1788914248] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:49:04,578 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 07:49:04,578 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 7] total 20 [2022-04-15 07:49:04,578 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:49:04,578 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [818517298] [2022-04-15 07:49:04,578 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [818517298] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:49:04,578 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:49:04,578 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [17] imperfect sequences [] total 17 [2022-04-15 07:49:04,578 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1162984767] [2022-04-15 07:49:04,579 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:49:04,579 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 16 states have (on average 2.125) internal successors, (34), 15 states have internal predecessors, (34), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 6 states have call predecessors, (7), 5 states have call successors, (7) Word has length 59 [2022-04-15 07:49:04,579 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:49:04,579 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 17 states, 16 states have (on average 2.125) internal successors, (34), 15 states have internal predecessors, (34), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 6 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-15 07:49:04,622 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:49:04,622 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 17 states [2022-04-15 07:49:04,622 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:49:04,623 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2022-04-15 07:49:04,623 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=57, Invalid=323, Unknown=0, NotChecked=0, Total=380 [2022-04-15 07:49:04,623 INFO L87 Difference]: Start difference. First operand 126 states and 138 transitions. Second operand has 17 states, 16 states have (on average 2.125) internal successors, (34), 15 states have internal predecessors, (34), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 6 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-15 07:49:06,290 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:49:06,290 INFO L93 Difference]: Finished difference Result 139 states and 153 transitions. [2022-04-15 07:49:06,290 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2022-04-15 07:49:06,290 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 16 states have (on average 2.125) internal successors, (34), 15 states have internal predecessors, (34), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 6 states have call predecessors, (7), 5 states have call successors, (7) Word has length 59 [2022-04-15 07:49:06,290 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:49:06,290 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 16 states have (on average 2.125) internal successors, (34), 15 states have internal predecessors, (34), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 6 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-15 07:49:06,291 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 66 transitions. [2022-04-15 07:49:06,291 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 16 states have (on average 2.125) internal successors, (34), 15 states have internal predecessors, (34), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 6 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-15 07:49:06,292 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 66 transitions. [2022-04-15 07:49:06,292 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 17 states and 66 transitions. [2022-04-15 07:49:06,371 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:49:06,373 INFO L225 Difference]: With dead ends: 139 [2022-04-15 07:49:06,373 INFO L226 Difference]: Without dead ends: 137 [2022-04-15 07:49:06,374 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 120 GetRequests, 94 SyntacticMatches, 5 SemanticMatches, 21 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 134 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=72, Invalid=434, Unknown=0, NotChecked=0, Total=506 [2022-04-15 07:49:06,374 INFO L913 BasicCegarLoop]: 27 mSDtfsCounter, 20 mSDsluCounter, 205 mSDsCounter, 0 mSdLazyCounter, 600 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 21 SdHoareTripleChecker+Valid, 232 SdHoareTripleChecker+Invalid, 611 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 600 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.6s IncrementalHoareTripleChecker+Time [2022-04-15 07:49:06,374 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [21 Valid, 232 Invalid, 611 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 600 Invalid, 0 Unknown, 0 Unchecked, 0.6s Time] [2022-04-15 07:49:06,375 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 137 states. [2022-04-15 07:49:06,757 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 137 to 135. [2022-04-15 07:49:06,757 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:49:06,757 INFO L82 GeneralOperation]: Start isEquivalent. First operand 137 states. Second operand has 135 states, 100 states have (on average 1.09) internal successors, (109), 104 states have internal predecessors, (109), 20 states have call successors, (20), 15 states have call predecessors, (20), 14 states have return successors, (19), 15 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-15 07:49:06,758 INFO L74 IsIncluded]: Start isIncluded. First operand 137 states. Second operand has 135 states, 100 states have (on average 1.09) internal successors, (109), 104 states have internal predecessors, (109), 20 states have call successors, (20), 15 states have call predecessors, (20), 14 states have return successors, (19), 15 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-15 07:49:06,758 INFO L87 Difference]: Start difference. First operand 137 states. Second operand has 135 states, 100 states have (on average 1.09) internal successors, (109), 104 states have internal predecessors, (109), 20 states have call successors, (20), 15 states have call predecessors, (20), 14 states have return successors, (19), 15 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-15 07:49:06,759 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:49:06,759 INFO L93 Difference]: Finished difference Result 137 states and 151 transitions. [2022-04-15 07:49:06,759 INFO L276 IsEmpty]: Start isEmpty. Operand 137 states and 151 transitions. [2022-04-15 07:49:06,760 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:49:06,760 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:49:06,760 INFO L74 IsIncluded]: Start isIncluded. First operand has 135 states, 100 states have (on average 1.09) internal successors, (109), 104 states have internal predecessors, (109), 20 states have call successors, (20), 15 states have call predecessors, (20), 14 states have return successors, (19), 15 states have call predecessors, (19), 19 states have call successors, (19) Second operand 137 states. [2022-04-15 07:49:06,760 INFO L87 Difference]: Start difference. First operand has 135 states, 100 states have (on average 1.09) internal successors, (109), 104 states have internal predecessors, (109), 20 states have call successors, (20), 15 states have call predecessors, (20), 14 states have return successors, (19), 15 states have call predecessors, (19), 19 states have call successors, (19) Second operand 137 states. [2022-04-15 07:49:06,761 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:49:06,761 INFO L93 Difference]: Finished difference Result 137 states and 151 transitions. [2022-04-15 07:49:06,761 INFO L276 IsEmpty]: Start isEmpty. Operand 137 states and 151 transitions. [2022-04-15 07:49:06,762 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:49:06,762 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:49:06,762 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:49:06,762 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:49:06,762 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 135 states, 100 states have (on average 1.09) internal successors, (109), 104 states have internal predecessors, (109), 20 states have call successors, (20), 15 states have call predecessors, (20), 14 states have return successors, (19), 15 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-15 07:49:06,763 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 135 states to 135 states and 148 transitions. [2022-04-15 07:49:06,764 INFO L78 Accepts]: Start accepts. Automaton has 135 states and 148 transitions. Word has length 59 [2022-04-15 07:49:06,764 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:49:06,764 INFO L478 AbstractCegarLoop]: Abstraction has 135 states and 148 transitions. [2022-04-15 07:49:06,764 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 17 states, 16 states have (on average 2.125) internal successors, (34), 15 states have internal predecessors, (34), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 6 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-15 07:49:06,764 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 135 states and 148 transitions. [2022-04-15 07:49:09,227 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 148 edges. 147 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-15 07:49:09,228 INFO L276 IsEmpty]: Start isEmpty. Operand 135 states and 148 transitions. [2022-04-15 07:49:09,228 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 60 [2022-04-15 07:49:09,228 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:49:09,228 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:49:09,244 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (23)] Forceful destruction successful, exit code 0 [2022-04-15 07:49:09,432 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable22,23 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:49:09,432 INFO L403 AbstractCegarLoop]: === Iteration 24 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:49:09,432 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:49:09,432 INFO L85 PathProgramCache]: Analyzing trace with hash -689308389, now seen corresponding path program 15 times [2022-04-15 07:49:09,432 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:49:09,432 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [281797889] [2022-04-15 07:49:09,433 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 07:49:09,433 INFO L85 PathProgramCache]: Analyzing trace with hash -689308389, now seen corresponding path program 16 times [2022-04-15 07:49:09,433 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:49:09,433 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [622638529] [2022-04-15 07:49:09,433 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:49:09,433 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:49:09,447 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:49:09,448 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [720301529] [2022-04-15 07:49:09,448 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 07:49:09,448 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:49:09,448 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:49:09,450 INFO L229 MonitoredProcess]: Starting monitored process 24 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:49:09,451 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (24)] Waiting until timeout for monitored process [2022-04-15 07:49:09,488 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 07:49:09,488 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:49:09,489 INFO L263 TraceCheckSpWp]: Trace formula consists of 123 conjuncts, 53 conjunts are in the unsatisfiable core [2022-04-15 07:49:09,501 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:49:09,502 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:49:18,759 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 07:49:21,947 INFO L272 TraceCheckUtils]: 0: Hoare triple {19188#true} call ULTIMATE.init(); {19188#true} is VALID [2022-04-15 07:49:21,947 INFO L290 TraceCheckUtils]: 1: Hoare triple {19188#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); {19188#true} is VALID [2022-04-15 07:49:21,947 INFO L290 TraceCheckUtils]: 2: Hoare triple {19188#true} assume true; {19188#true} is VALID [2022-04-15 07:49:21,947 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {19188#true} {19188#true} #69#return; {19188#true} is VALID [2022-04-15 07:49:21,947 INFO L272 TraceCheckUtils]: 4: Hoare triple {19188#true} call #t~ret8 := main(); {19188#true} is VALID [2022-04-15 07:49:21,947 INFO L290 TraceCheckUtils]: 5: Hoare triple {19188#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; {19188#true} is VALID [2022-04-15 07:49:21,947 INFO L272 TraceCheckUtils]: 6: Hoare triple {19188#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {19188#true} is VALID [2022-04-15 07:49:21,947 INFO L290 TraceCheckUtils]: 7: Hoare triple {19188#true} ~cond := #in~cond; {19188#true} is VALID [2022-04-15 07:49:21,947 INFO L290 TraceCheckUtils]: 8: Hoare triple {19188#true} assume !(0 == ~cond); {19188#true} is VALID [2022-04-15 07:49:21,947 INFO L290 TraceCheckUtils]: 9: Hoare triple {19188#true} assume true; {19188#true} is VALID [2022-04-15 07:49:21,948 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {19188#true} {19188#true} #61#return; {19188#true} is VALID [2022-04-15 07:49:21,948 INFO L290 TraceCheckUtils]: 11: Hoare triple {19188#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {19188#true} is VALID [2022-04-15 07:49:21,948 INFO L272 TraceCheckUtils]: 12: Hoare triple {19188#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {19188#true} is VALID [2022-04-15 07:49:21,948 INFO L290 TraceCheckUtils]: 13: Hoare triple {19188#true} ~cond := #in~cond; {19188#true} is VALID [2022-04-15 07:49:21,948 INFO L290 TraceCheckUtils]: 14: Hoare triple {19188#true} assume !(0 == ~cond); {19188#true} is VALID [2022-04-15 07:49:21,948 INFO L290 TraceCheckUtils]: 15: Hoare triple {19188#true} assume true; {19188#true} is VALID [2022-04-15 07:49:21,948 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {19188#true} {19188#true} #63#return; {19188#true} is VALID [2022-04-15 07:49:21,949 INFO L290 TraceCheckUtils]: 17: Hoare triple {19188#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {19244#(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:49:21,949 INFO L290 TraceCheckUtils]: 18: Hoare triple {19244#(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; {19244#(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:49:21,949 INFO L272 TraceCheckUtils]: 19: Hoare triple {19244#(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)); {19188#true} is VALID [2022-04-15 07:49:21,949 INFO L290 TraceCheckUtils]: 20: Hoare triple {19188#true} ~cond := #in~cond; {19188#true} is VALID [2022-04-15 07:49:21,949 INFO L290 TraceCheckUtils]: 21: Hoare triple {19188#true} assume !(0 == ~cond); {19188#true} is VALID [2022-04-15 07:49:21,949 INFO L290 TraceCheckUtils]: 22: Hoare triple {19188#true} assume true; {19188#true} is VALID [2022-04-15 07:49:21,950 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {19188#true} {19244#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} #65#return; {19244#(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:49:21,950 INFO L290 TraceCheckUtils]: 24: Hoare triple {19244#(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); {19244#(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:49:21,951 INFO L290 TraceCheckUtils]: 25: Hoare triple {19244#(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; {19269#(and (= main_~x~0 0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 0))} is VALID [2022-04-15 07:49:21,951 INFO L290 TraceCheckUtils]: 26: Hoare triple {19269#(and (= main_~x~0 0) (= 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; {19273#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~x~0 1) (= main_~y~0 0))} is VALID [2022-04-15 07:49:21,952 INFO L290 TraceCheckUtils]: 27: Hoare triple {19273#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~x~0 1) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {19277#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~x~0 1) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0))} is VALID [2022-04-15 07:49:21,952 INFO L272 TraceCheckUtils]: 28: Hoare triple {19277#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~x~0 1) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {19188#true} is VALID [2022-04-15 07:49:21,952 INFO L290 TraceCheckUtils]: 29: Hoare triple {19188#true} ~cond := #in~cond; {19284#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:49:21,952 INFO L290 TraceCheckUtils]: 30: Hoare triple {19284#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {19288#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:49:21,953 INFO L290 TraceCheckUtils]: 31: Hoare triple {19288#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {19288#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:49:21,953 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {19288#(not (= |__VERIFIER_assert_#in~cond| 0))} {19277#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~x~0 1) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0))} #65#return; {19273#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~x~0 1) (= main_~y~0 0))} is VALID [2022-04-15 07:49:21,954 INFO L290 TraceCheckUtils]: 33: Hoare triple {19273#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~x~0 1) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {19273#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~x~0 1) (= main_~y~0 0))} is VALID [2022-04-15 07:49:21,954 INFO L290 TraceCheckUtils]: 34: Hoare triple {19273#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~x~0 1) (= main_~y~0 0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {19301#(and (= main_~x~0 1) (= main_~y~0 0) (= (+ main_~v~0 (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))))} is VALID [2022-04-15 07:49:21,955 INFO L290 TraceCheckUtils]: 35: Hoare triple {19301#(and (= main_~x~0 1) (= main_~y~0 0) (= (+ main_~v~0 (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {19305#(and (= (+ (- 1) main_~x~0) 1) (= main_~y~0 0) (= (+ main_~v~0 (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))))} is VALID [2022-04-15 07:49:21,955 INFO L290 TraceCheckUtils]: 36: Hoare triple {19305#(and (= (+ (- 1) main_~x~0) 1) (= main_~y~0 0) (= (+ main_~v~0 (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {19305#(and (= (+ (- 1) main_~x~0) 1) (= main_~y~0 0) (= (+ main_~v~0 (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))))} is VALID [2022-04-15 07:49:21,955 INFO L272 TraceCheckUtils]: 37: Hoare triple {19305#(and (= (+ (- 1) main_~x~0) 1) (= main_~y~0 0) (= (+ main_~v~0 (* (- 2) main_~Y~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)); {19188#true} is VALID [2022-04-15 07:49:21,955 INFO L290 TraceCheckUtils]: 38: Hoare triple {19188#true} ~cond := #in~cond; {19284#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:49:21,956 INFO L290 TraceCheckUtils]: 39: Hoare triple {19284#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {19288#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:49:21,956 INFO L290 TraceCheckUtils]: 40: Hoare triple {19288#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {19288#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:49:21,957 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {19288#(not (= |__VERIFIER_assert_#in~cond| 0))} {19305#(and (= (+ (- 1) main_~x~0) 1) (= main_~y~0 0) (= (+ main_~v~0 (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))))} #65#return; {19305#(and (= (+ (- 1) main_~x~0) 1) (= main_~y~0 0) (= (+ main_~v~0 (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))))} is VALID [2022-04-15 07:49:21,957 INFO L290 TraceCheckUtils]: 42: Hoare triple {19305#(and (= (+ (- 1) main_~x~0) 1) (= main_~y~0 0) (= (+ main_~v~0 (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))))} assume !!(~x~0 <= ~X~0); {19327#(and (= (+ (- 1) main_~x~0) 1) (<= main_~x~0 main_~X~0) (= main_~y~0 0) (= (+ main_~v~0 (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))))} is VALID [2022-04-15 07:49:21,958 INFO L290 TraceCheckUtils]: 43: Hoare triple {19327#(and (= (+ (- 1) main_~x~0) 1) (<= main_~x~0 main_~X~0) (= main_~y~0 0) (= (+ main_~v~0 (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {19331#(and (= (+ (- 1) main_~x~0) 1) (<= main_~x~0 main_~X~0) (= (+ main_~v~0 (* main_~Y~0 (- 4))) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 0))} is VALID [2022-04-15 07:49:21,958 INFO L290 TraceCheckUtils]: 44: Hoare triple {19331#(and (= (+ (- 1) main_~x~0) 1) (<= main_~x~0 main_~X~0) (= (+ main_~v~0 (* main_~Y~0 (- 4))) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {19335#(and (<= 2 main_~X~0) (= (+ main_~v~0 (* main_~Y~0 (- 4))) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (<= main_~x~0 3) (= main_~y~0 0))} is VALID [2022-04-15 07:49:21,958 INFO L290 TraceCheckUtils]: 45: Hoare triple {19335#(and (<= 2 main_~X~0) (= (+ main_~v~0 (* main_~Y~0 (- 4))) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (<= main_~x~0 3) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {19339#(and (<= 2 main_~X~0) (= (+ main_~v~0 (* main_~Y~0 (- 4))) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (<= main_~x~0 3) (= (* 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:49:21,958 INFO L272 TraceCheckUtils]: 46: Hoare triple {19339#(and (<= 2 main_~X~0) (= (+ main_~v~0 (* main_~Y~0 (- 4))) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (<= main_~x~0 3) (= (* 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)); {19188#true} is VALID [2022-04-15 07:49:21,963 INFO L290 TraceCheckUtils]: 47: Hoare triple {19188#true} ~cond := #in~cond; {19284#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:49:21,963 INFO L290 TraceCheckUtils]: 48: Hoare triple {19284#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {19288#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:49:21,964 INFO L290 TraceCheckUtils]: 49: Hoare triple {19288#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {19288#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:49:21,966 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {19288#(not (= |__VERIFIER_assert_#in~cond| 0))} {19339#(and (<= 2 main_~X~0) (= (+ main_~v~0 (* main_~Y~0 (- 4))) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (<= main_~x~0 3) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} #65#return; {19355#(and (<= 2 main_~X~0) (= (+ main_~v~0 (* main_~Y~0 (- 4))) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= main_~x~0 3) (= main_~y~0 0))} is VALID [2022-04-15 07:49:21,966 INFO L290 TraceCheckUtils]: 51: Hoare triple {19355#(and (<= 2 main_~X~0) (= (+ main_~v~0 (* main_~Y~0 (- 4))) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= main_~x~0 3) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {19355#(and (<= 2 main_~X~0) (= (+ main_~v~0 (* main_~Y~0 (- 4))) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= main_~x~0 3) (= main_~y~0 0))} is VALID [2022-04-15 07:49:21,967 INFO L290 TraceCheckUtils]: 52: Hoare triple {19355#(and (<= 2 main_~X~0) (= (+ main_~v~0 (* main_~Y~0 (- 4))) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= main_~x~0 3) (= 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; {19362#(and (= (+ (* main_~Y~0 4) (* 2 (* main_~Y~0 main_~x~0))) (+ main_~v~0 (* main_~X~0 3))) (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 10)) (= main_~y~0 1) (<= 2 main_~X~0) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))))} is VALID [2022-04-15 07:49:21,972 INFO L290 TraceCheckUtils]: 53: Hoare triple {19362#(and (= (+ (* main_~Y~0 4) (* 2 (* main_~Y~0 main_~x~0))) (+ main_~v~0 (* main_~X~0 3))) (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 10)) (= main_~y~0 1) (<= 2 main_~X~0) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {19366#(and (= (+ main_~v~0 (* main_~X~0 3)) (+ (* 2 (* (+ (- 1) main_~x~0) main_~Y~0)) (* main_~Y~0 4))) (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 10)) (= main_~y~0 1) (<= 2 main_~X~0) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))))} is VALID [2022-04-15 07:49:21,974 INFO L290 TraceCheckUtils]: 54: Hoare triple {19366#(and (= (+ main_~v~0 (* main_~X~0 3)) (+ (* 2 (* (+ (- 1) main_~x~0) main_~Y~0)) (* main_~Y~0 4))) (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 10)) (= main_~y~0 1) (<= 2 main_~X~0) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {19370#(and (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 10)) (<= 2 main_~X~0) (= (* (div (+ (div (+ (* main_~X~0 (- 3)) (* (- 1) main_~v~0)) (- 2)) (* (- 1) main_~Y~0)) main_~Y~0) main_~Y~0) main_~yx~0) (= main_~X~0 main_~xy~0) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))))} is VALID [2022-04-15 07:49:21,976 INFO L272 TraceCheckUtils]: 55: Hoare triple {19370#(and (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 10)) (<= 2 main_~X~0) (= (* (div (+ (div (+ (* main_~X~0 (- 3)) (* (- 1) main_~v~0)) (- 2)) (* (- 1) main_~Y~0)) main_~Y~0) main_~Y~0) main_~yx~0) (= main_~X~0 main_~xy~0) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {19374#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 07:49:21,976 INFO L290 TraceCheckUtils]: 56: Hoare triple {19374#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {19378#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:49:21,977 INFO L290 TraceCheckUtils]: 57: Hoare triple {19378#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {19189#false} is VALID [2022-04-15 07:49:21,977 INFO L290 TraceCheckUtils]: 58: Hoare triple {19189#false} assume !false; {19189#false} is VALID [2022-04-15 07:49:21,977 INFO L134 CoverageAnalysis]: Checked inductivity of 74 backedges. 14 proven. 41 refuted. 0 times theorem prover too weak. 19 trivial. 0 not checked. [2022-04-15 07:49:21,977 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:49:25,870 INFO L290 TraceCheckUtils]: 58: Hoare triple {19189#false} assume !false; {19189#false} is VALID [2022-04-15 07:49:25,871 INFO L290 TraceCheckUtils]: 57: Hoare triple {19378#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {19189#false} is VALID [2022-04-15 07:49:25,871 INFO L290 TraceCheckUtils]: 56: Hoare triple {19374#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {19378#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:49:25,872 INFO L272 TraceCheckUtils]: 55: Hoare triple {19394#(= (+ (* 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)); {19374#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 07:49:25,873 INFO L290 TraceCheckUtils]: 54: Hoare triple {19398#(= (+ (* 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; {19394#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-15 07:49:25,876 INFO L290 TraceCheckUtils]: 53: Hoare triple {19402#(= (+ (* (* 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; {19398#(= (+ (* 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:49:25,878 INFO L290 TraceCheckUtils]: 52: Hoare triple {19406#(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; {19402#(= (+ (* (* 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:49:25,879 INFO L290 TraceCheckUtils]: 51: Hoare triple {19406#(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); {19406#(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:49:25,879 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {19288#(not (= |__VERIFIER_assert_#in~cond| 0))} {19413#(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; {19406#(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:49:25,880 INFO L290 TraceCheckUtils]: 49: Hoare triple {19288#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {19288#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:49:25,880 INFO L290 TraceCheckUtils]: 48: Hoare triple {19423#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {19288#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:49:25,880 INFO L290 TraceCheckUtils]: 47: Hoare triple {19188#true} ~cond := #in~cond; {19423#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 07:49:25,880 INFO L272 TraceCheckUtils]: 46: Hoare triple {19413#(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)); {19188#true} is VALID [2022-04-15 07:49:25,881 INFO L290 TraceCheckUtils]: 45: Hoare triple {19188#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {19413#(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:49:25,881 INFO L290 TraceCheckUtils]: 44: Hoare triple {19188#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {19188#true} is VALID [2022-04-15 07:49:25,881 INFO L290 TraceCheckUtils]: 43: Hoare triple {19188#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {19188#true} is VALID [2022-04-15 07:49:25,881 INFO L290 TraceCheckUtils]: 42: Hoare triple {19188#true} assume !!(~x~0 <= ~X~0); {19188#true} is VALID [2022-04-15 07:49:25,881 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {19188#true} {19188#true} #65#return; {19188#true} is VALID [2022-04-15 07:49:25,882 INFO L290 TraceCheckUtils]: 40: Hoare triple {19188#true} assume true; {19188#true} is VALID [2022-04-15 07:49:25,882 INFO L290 TraceCheckUtils]: 39: Hoare triple {19188#true} assume !(0 == ~cond); {19188#true} is VALID [2022-04-15 07:49:25,882 INFO L290 TraceCheckUtils]: 38: Hoare triple {19188#true} ~cond := #in~cond; {19188#true} is VALID [2022-04-15 07:49:25,882 INFO L272 TraceCheckUtils]: 37: Hoare triple {19188#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {19188#true} is VALID [2022-04-15 07:49:25,882 INFO L290 TraceCheckUtils]: 36: Hoare triple {19188#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {19188#true} is VALID [2022-04-15 07:49:25,882 INFO L290 TraceCheckUtils]: 35: Hoare triple {19188#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {19188#true} is VALID [2022-04-15 07:49:25,882 INFO L290 TraceCheckUtils]: 34: Hoare triple {19188#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {19188#true} is VALID [2022-04-15 07:49:25,882 INFO L290 TraceCheckUtils]: 33: Hoare triple {19188#true} assume !!(~x~0 <= ~X~0); {19188#true} is VALID [2022-04-15 07:49:25,882 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {19188#true} {19188#true} #65#return; {19188#true} is VALID [2022-04-15 07:49:25,882 INFO L290 TraceCheckUtils]: 31: Hoare triple {19188#true} assume true; {19188#true} is VALID [2022-04-15 07:49:25,882 INFO L290 TraceCheckUtils]: 30: Hoare triple {19188#true} assume !(0 == ~cond); {19188#true} is VALID [2022-04-15 07:49:25,882 INFO L290 TraceCheckUtils]: 29: Hoare triple {19188#true} ~cond := #in~cond; {19188#true} is VALID [2022-04-15 07:49:25,882 INFO L272 TraceCheckUtils]: 28: Hoare triple {19188#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {19188#true} is VALID [2022-04-15 07:49:25,882 INFO L290 TraceCheckUtils]: 27: Hoare triple {19188#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {19188#true} is VALID [2022-04-15 07:49:25,882 INFO L290 TraceCheckUtils]: 26: Hoare triple {19188#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {19188#true} is VALID [2022-04-15 07:49:25,882 INFO L290 TraceCheckUtils]: 25: Hoare triple {19188#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {19188#true} is VALID [2022-04-15 07:49:25,882 INFO L290 TraceCheckUtils]: 24: Hoare triple {19188#true} assume !!(~x~0 <= ~X~0); {19188#true} is VALID [2022-04-15 07:49:25,882 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {19188#true} {19188#true} #65#return; {19188#true} is VALID [2022-04-15 07:49:25,882 INFO L290 TraceCheckUtils]: 22: Hoare triple {19188#true} assume true; {19188#true} is VALID [2022-04-15 07:49:25,882 INFO L290 TraceCheckUtils]: 21: Hoare triple {19188#true} assume !(0 == ~cond); {19188#true} is VALID [2022-04-15 07:49:25,883 INFO L290 TraceCheckUtils]: 20: Hoare triple {19188#true} ~cond := #in~cond; {19188#true} is VALID [2022-04-15 07:49:25,883 INFO L272 TraceCheckUtils]: 19: Hoare triple {19188#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {19188#true} is VALID [2022-04-15 07:49:25,883 INFO L290 TraceCheckUtils]: 18: Hoare triple {19188#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {19188#true} is VALID [2022-04-15 07:49:25,883 INFO L290 TraceCheckUtils]: 17: Hoare triple {19188#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {19188#true} is VALID [2022-04-15 07:49:25,883 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {19188#true} {19188#true} #63#return; {19188#true} is VALID [2022-04-15 07:49:25,883 INFO L290 TraceCheckUtils]: 15: Hoare triple {19188#true} assume true; {19188#true} is VALID [2022-04-15 07:49:25,883 INFO L290 TraceCheckUtils]: 14: Hoare triple {19188#true} assume !(0 == ~cond); {19188#true} is VALID [2022-04-15 07:49:25,883 INFO L290 TraceCheckUtils]: 13: Hoare triple {19188#true} ~cond := #in~cond; {19188#true} is VALID [2022-04-15 07:49:25,883 INFO L272 TraceCheckUtils]: 12: Hoare triple {19188#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {19188#true} is VALID [2022-04-15 07:49:25,883 INFO L290 TraceCheckUtils]: 11: Hoare triple {19188#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {19188#true} is VALID [2022-04-15 07:49:25,883 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {19188#true} {19188#true} #61#return; {19188#true} is VALID [2022-04-15 07:49:25,883 INFO L290 TraceCheckUtils]: 9: Hoare triple {19188#true} assume true; {19188#true} is VALID [2022-04-15 07:49:25,883 INFO L290 TraceCheckUtils]: 8: Hoare triple {19188#true} assume !(0 == ~cond); {19188#true} is VALID [2022-04-15 07:49:25,883 INFO L290 TraceCheckUtils]: 7: Hoare triple {19188#true} ~cond := #in~cond; {19188#true} is VALID [2022-04-15 07:49:25,883 INFO L272 TraceCheckUtils]: 6: Hoare triple {19188#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {19188#true} is VALID [2022-04-15 07:49:25,883 INFO L290 TraceCheckUtils]: 5: Hoare triple {19188#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; {19188#true} is VALID [2022-04-15 07:49:25,883 INFO L272 TraceCheckUtils]: 4: Hoare triple {19188#true} call #t~ret8 := main(); {19188#true} is VALID [2022-04-15 07:49:25,883 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {19188#true} {19188#true} #69#return; {19188#true} is VALID [2022-04-15 07:49:25,883 INFO L290 TraceCheckUtils]: 2: Hoare triple {19188#true} assume true; {19188#true} is VALID [2022-04-15 07:49:25,884 INFO L290 TraceCheckUtils]: 1: Hoare triple {19188#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); {19188#true} is VALID [2022-04-15 07:49:25,884 INFO L272 TraceCheckUtils]: 0: Hoare triple {19188#true} call ULTIMATE.init(); {19188#true} is VALID [2022-04-15 07:49:25,884 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:49:25,884 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:49:25,884 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [622638529] [2022-04-15 07:49:25,884 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 07:49:25,884 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [720301529] [2022-04-15 07:49:25,884 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [720301529] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:49:25,884 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 07:49:25,884 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [20, 11] total 26 [2022-04-15 07:49:25,884 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:49:25,884 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [281797889] [2022-04-15 07:49:25,884 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [281797889] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:49:25,885 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:49:25,885 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [20] imperfect sequences [] total 20 [2022-04-15 07:49:25,885 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1580309752] [2022-04-15 07:49:25,885 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:49:25,885 INFO L78 Accepts]: Start accepts. Automaton has has 20 states, 17 states have (on average 2.0) internal successors, (34), 19 states have internal predecessors, (34), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) Word has length 59 [2022-04-15 07:49:25,885 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:49:25,885 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 20 states, 17 states have (on average 2.0) internal successors, (34), 19 states have internal predecessors, (34), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-15 07:49:25,933 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:49:25,933 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 20 states [2022-04-15 07:49:25,933 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:49:25,934 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 20 interpolants. [2022-04-15 07:49:25,934 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=88, Invalid=562, Unknown=0, NotChecked=0, Total=650 [2022-04-15 07:49:25,934 INFO L87 Difference]: Start difference. First operand 135 states and 148 transitions. Second operand has 20 states, 17 states have (on average 2.0) internal successors, (34), 19 states have internal predecessors, (34), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-15 07:49:28,116 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:49:28,116 INFO L93 Difference]: Finished difference Result 150 states and 162 transitions. [2022-04-15 07:49:28,116 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 19 states. [2022-04-15 07:49:28,116 INFO L78 Accepts]: Start accepts. Automaton has has 20 states, 17 states have (on average 2.0) internal successors, (34), 19 states have internal predecessors, (34), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) Word has length 59 [2022-04-15 07:49:28,116 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:49:28,116 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 20 states, 17 states have (on average 2.0) internal successors, (34), 19 states have internal predecessors, (34), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-15 07:49:28,117 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 65 transitions. [2022-04-15 07:49:28,117 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 20 states, 17 states have (on average 2.0) internal successors, (34), 19 states have internal predecessors, (34), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-15 07:49:28,117 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 65 transitions. [2022-04-15 07:49:28,118 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 19 states and 65 transitions. [2022-04-15 07:49:28,182 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:49:28,183 INFO L225 Difference]: With dead ends: 150 [2022-04-15 07:49:28,183 INFO L226 Difference]: Without dead ends: 148 [2022-04-15 07:49:28,184 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 121 GetRequests, 90 SyntacticMatches, 3 SemanticMatches, 28 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 124 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=118, Invalid=752, Unknown=0, NotChecked=0, Total=870 [2022-04-15 07:49:28,184 INFO L913 BasicCegarLoop]: 24 mSDtfsCounter, 19 mSDsluCounter, 191 mSDsCounter, 0 mSdLazyCounter, 545 mSolverCounterSat, 8 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 20 SdHoareTripleChecker+Valid, 215 SdHoareTripleChecker+Invalid, 553 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 8 IncrementalHoareTripleChecker+Valid, 545 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.7s IncrementalHoareTripleChecker+Time [2022-04-15 07:49:28,184 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [20 Valid, 215 Invalid, 553 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [8 Valid, 545 Invalid, 0 Unknown, 0 Unchecked, 0.7s Time] [2022-04-15 07:49:28,185 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 148 states. [2022-04-15 07:49:28,559 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 148 to 146. [2022-04-15 07:49:28,559 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:49:28,559 INFO L82 GeneralOperation]: Start isEquivalent. First operand 148 states. Second operand has 146 states, 108 states have (on average 1.0833333333333333) internal successors, (117), 113 states have internal predecessors, (117), 21 states have call successors, (21), 17 states have call predecessors, (21), 16 states have return successors, (20), 15 states have call predecessors, (20), 20 states have call successors, (20) [2022-04-15 07:49:28,559 INFO L74 IsIncluded]: Start isIncluded. First operand 148 states. Second operand has 146 states, 108 states have (on average 1.0833333333333333) internal successors, (117), 113 states have internal predecessors, (117), 21 states have call successors, (21), 17 states have call predecessors, (21), 16 states have return successors, (20), 15 states have call predecessors, (20), 20 states have call successors, (20) [2022-04-15 07:49:28,559 INFO L87 Difference]: Start difference. First operand 148 states. Second operand has 146 states, 108 states have (on average 1.0833333333333333) internal successors, (117), 113 states have internal predecessors, (117), 21 states have call successors, (21), 17 states have call predecessors, (21), 16 states have return successors, (20), 15 states have call predecessors, (20), 20 states have call successors, (20) [2022-04-15 07:49:28,561 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:49:28,561 INFO L93 Difference]: Finished difference Result 148 states and 160 transitions. [2022-04-15 07:49:28,561 INFO L276 IsEmpty]: Start isEmpty. Operand 148 states and 160 transitions. [2022-04-15 07:49:28,561 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:49:28,562 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:49:28,562 INFO L74 IsIncluded]: Start isIncluded. First operand has 146 states, 108 states have (on average 1.0833333333333333) internal successors, (117), 113 states have internal predecessors, (117), 21 states have call successors, (21), 17 states have call predecessors, (21), 16 states have return successors, (20), 15 states have call predecessors, (20), 20 states have call successors, (20) Second operand 148 states. [2022-04-15 07:49:28,562 INFO L87 Difference]: Start difference. First operand has 146 states, 108 states have (on average 1.0833333333333333) internal successors, (117), 113 states have internal predecessors, (117), 21 states have call successors, (21), 17 states have call predecessors, (21), 16 states have return successors, (20), 15 states have call predecessors, (20), 20 states have call successors, (20) Second operand 148 states. [2022-04-15 07:49:28,563 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:49:28,563 INFO L93 Difference]: Finished difference Result 148 states and 160 transitions. [2022-04-15 07:49:28,563 INFO L276 IsEmpty]: Start isEmpty. Operand 148 states and 160 transitions. [2022-04-15 07:49:28,564 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:49:28,564 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:49:28,564 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:49:28,564 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:49:28,564 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 146 states, 108 states have (on average 1.0833333333333333) internal successors, (117), 113 states have internal predecessors, (117), 21 states have call successors, (21), 17 states have call predecessors, (21), 16 states have return successors, (20), 15 states have call predecessors, (20), 20 states have call successors, (20) [2022-04-15 07:49:28,566 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 146 states to 146 states and 158 transitions. [2022-04-15 07:49:28,566 INFO L78 Accepts]: Start accepts. Automaton has 146 states and 158 transitions. Word has length 59 [2022-04-15 07:49:28,566 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:49:28,566 INFO L478 AbstractCegarLoop]: Abstraction has 146 states and 158 transitions. [2022-04-15 07:49:28,566 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 20 states, 17 states have (on average 2.0) internal successors, (34), 19 states have internal predecessors, (34), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-15 07:49:28,566 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 146 states and 158 transitions. [2022-04-15 07:49:31,029 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 158 edges. 157 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-15 07:49:31,030 INFO L276 IsEmpty]: Start isEmpty. Operand 146 states and 158 transitions. [2022-04-15 07:49:31,030 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 60 [2022-04-15 07:49:31,030 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:49:31,030 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:49:31,046 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (24)] Forceful destruction successful, exit code 0 [2022-04-15 07:49:31,243 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable23,24 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:49:31,243 INFO L403 AbstractCegarLoop]: === Iteration 25 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:49:31,244 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:49:31,244 INFO L85 PathProgramCache]: Analyzing trace with hash 809583191, now seen corresponding path program 17 times [2022-04-15 07:49:31,244 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:49:31,244 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [463567089] [2022-04-15 07:49:31,244 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 07:49:31,244 INFO L85 PathProgramCache]: Analyzing trace with hash 809583191, now seen corresponding path program 18 times [2022-04-15 07:49:31,244 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:49:31,244 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1282188874] [2022-04-15 07:49:31,244 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:49:31,244 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:49:31,252 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:49:31,252 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [416777409] [2022-04-15 07:49:31,252 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-15 07:49:31,252 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:49:31,252 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:49:31,253 INFO L229 MonitoredProcess]: Starting monitored process 25 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:49:31,253 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (25)] Waiting until timeout for monitored process [2022-04-15 07:49:31,300 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-15 07:49:31,300 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:49:31,301 INFO L263 TraceCheckSpWp]: Trace formula consists of 162 conjuncts, 50 conjunts are in the unsatisfiable core [2022-04-15 07:49:31,312 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:49:31,313 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:49:31,855 INFO L272 TraceCheckUtils]: 0: Hoare triple {20463#true} call ULTIMATE.init(); {20463#true} is VALID [2022-04-15 07:49:31,855 INFO L290 TraceCheckUtils]: 1: Hoare triple {20463#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); {20463#true} is VALID [2022-04-15 07:49:31,855 INFO L290 TraceCheckUtils]: 2: Hoare triple {20463#true} assume true; {20463#true} is VALID [2022-04-15 07:49:31,855 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {20463#true} {20463#true} #69#return; {20463#true} is VALID [2022-04-15 07:49:31,856 INFO L272 TraceCheckUtils]: 4: Hoare triple {20463#true} call #t~ret8 := main(); {20463#true} is VALID [2022-04-15 07:49:31,856 INFO L290 TraceCheckUtils]: 5: Hoare triple {20463#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; {20463#true} is VALID [2022-04-15 07:49:31,856 INFO L272 TraceCheckUtils]: 6: Hoare triple {20463#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {20463#true} is VALID [2022-04-15 07:49:31,856 INFO L290 TraceCheckUtils]: 7: Hoare triple {20463#true} ~cond := #in~cond; {20463#true} is VALID [2022-04-15 07:49:31,856 INFO L290 TraceCheckUtils]: 8: Hoare triple {20463#true} assume !(0 == ~cond); {20463#true} is VALID [2022-04-15 07:49:31,856 INFO L290 TraceCheckUtils]: 9: Hoare triple {20463#true} assume true; {20463#true} is VALID [2022-04-15 07:49:31,856 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {20463#true} {20463#true} #61#return; {20463#true} is VALID [2022-04-15 07:49:31,856 INFO L290 TraceCheckUtils]: 11: Hoare triple {20463#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {20463#true} is VALID [2022-04-15 07:49:31,856 INFO L272 TraceCheckUtils]: 12: Hoare triple {20463#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {20463#true} is VALID [2022-04-15 07:49:31,856 INFO L290 TraceCheckUtils]: 13: Hoare triple {20463#true} ~cond := #in~cond; {20463#true} is VALID [2022-04-15 07:49:31,856 INFO L290 TraceCheckUtils]: 14: Hoare triple {20463#true} assume !(0 == ~cond); {20463#true} is VALID [2022-04-15 07:49:31,856 INFO L290 TraceCheckUtils]: 15: Hoare triple {20463#true} assume true; {20463#true} is VALID [2022-04-15 07:49:31,856 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {20463#true} {20463#true} #63#return; {20463#true} is VALID [2022-04-15 07:49:31,856 INFO L290 TraceCheckUtils]: 17: Hoare triple {20463#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {20519#(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:49:31,857 INFO L290 TraceCheckUtils]: 18: Hoare triple {20519#(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; {20519#(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:49:31,857 INFO L272 TraceCheckUtils]: 19: Hoare triple {20519#(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)); {20463#true} is VALID [2022-04-15 07:49:31,857 INFO L290 TraceCheckUtils]: 20: Hoare triple {20463#true} ~cond := #in~cond; {20463#true} is VALID [2022-04-15 07:49:31,857 INFO L290 TraceCheckUtils]: 21: Hoare triple {20463#true} assume !(0 == ~cond); {20463#true} is VALID [2022-04-15 07:49:31,857 INFO L290 TraceCheckUtils]: 22: Hoare triple {20463#true} assume true; {20463#true} is VALID [2022-04-15 07:49:31,858 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {20463#true} {20519#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} #65#return; {20519#(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:49:31,858 INFO L290 TraceCheckUtils]: 24: Hoare triple {20519#(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); {20519#(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:49:31,859 INFO L290 TraceCheckUtils]: 25: Hoare triple {20519#(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; {20544#(and (= main_~x~0 0) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} is VALID [2022-04-15 07:49:31,859 INFO L290 TraceCheckUtils]: 26: Hoare triple {20544#(and (= main_~x~0 0) (= main_~y~0 0) (= (+ (* (- 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; {20548#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} is VALID [2022-04-15 07:49:31,860 INFO L290 TraceCheckUtils]: 27: Hoare triple {20548#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 0) (= (+ (* (- 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; {20548#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} is VALID [2022-04-15 07:49:31,860 INFO L272 TraceCheckUtils]: 28: Hoare triple {20548#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 0) (= (+ (* (- 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)); {20463#true} is VALID [2022-04-15 07:49:31,860 INFO L290 TraceCheckUtils]: 29: Hoare triple {20463#true} ~cond := #in~cond; {20463#true} is VALID [2022-04-15 07:49:31,860 INFO L290 TraceCheckUtils]: 30: Hoare triple {20463#true} assume !(0 == ~cond); {20463#true} is VALID [2022-04-15 07:49:31,860 INFO L290 TraceCheckUtils]: 31: Hoare triple {20463#true} assume true; {20463#true} is VALID [2022-04-15 07:49:31,860 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {20463#true} {20548#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} #65#return; {20548#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} is VALID [2022-04-15 07:49:31,861 INFO L290 TraceCheckUtils]: 33: Hoare triple {20548#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} assume !!(~x~0 <= ~X~0); {20548#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} is VALID [2022-04-15 07:49:31,861 INFO L290 TraceCheckUtils]: 34: Hoare triple {20548#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 0) (= (+ (* (- 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; {20573#(and (= (+ (- 1) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 4)))) (= main_~y~0 0))} is VALID [2022-04-15 07:49:31,862 INFO L290 TraceCheckUtils]: 35: Hoare triple {20573#(and (= (+ (- 1) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 4)))) (= main_~y~0 0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {20577#(and (= (+ (- 2) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 4)))) (= main_~y~0 0))} is VALID [2022-04-15 07:49:31,862 INFO L290 TraceCheckUtils]: 36: Hoare triple {20577#(and (= (+ (- 2) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 4)))) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {20581#(and (= (+ (- 2) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 4)))) (= (* 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:49:31,862 INFO L272 TraceCheckUtils]: 37: Hoare triple {20581#(and (= (+ (- 2) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 4)))) (= (* 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)); {20463#true} is VALID [2022-04-15 07:49:31,863 INFO L290 TraceCheckUtils]: 38: Hoare triple {20463#true} ~cond := #in~cond; {20588#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:49:31,863 INFO L290 TraceCheckUtils]: 39: Hoare triple {20588#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {20592#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:49:31,863 INFO L290 TraceCheckUtils]: 40: Hoare triple {20592#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {20592#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:49:31,864 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {20592#(not (= |__VERIFIER_assert_#in~cond| 0))} {20581#(and (= (+ (- 2) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 4)))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} #65#return; {20577#(and (= (+ (- 2) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 4)))) (= main_~y~0 0))} is VALID [2022-04-15 07:49:31,864 INFO L290 TraceCheckUtils]: 42: Hoare triple {20577#(and (= (+ (- 2) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 4)))) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {20577#(and (= (+ (- 2) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 4)))) (= main_~y~0 0))} is VALID [2022-04-15 07:49:31,865 INFO L290 TraceCheckUtils]: 43: Hoare triple {20577#(and (= (+ (- 2) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 4)))) (= 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; {20605#(and (= (+ (- 2) main_~x~0) 0) (<= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 8)) (= main_~y~0 1))} is VALID [2022-04-15 07:49:31,865 INFO L290 TraceCheckUtils]: 44: Hoare triple {20605#(and (= (+ (- 2) main_~x~0) 0) (<= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 8)) (= main_~y~0 1))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {20609#(and (= (+ main_~x~0 (- 3)) 0) (<= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 8)) (= main_~y~0 1))} is VALID [2022-04-15 07:49:31,866 INFO L290 TraceCheckUtils]: 45: Hoare triple {20609#(and (= (+ main_~x~0 (- 3)) 0) (<= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 8)) (= main_~y~0 1))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {20613#(and (= (+ main_~x~0 (- 3)) 0) (<= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 8)) (= main_~y~0 1) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} is VALID [2022-04-15 07:49:31,866 INFO L272 TraceCheckUtils]: 46: Hoare triple {20613#(and (= (+ main_~x~0 (- 3)) 0) (<= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 8)) (= main_~y~0 1) (= (* 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)); {20463#true} is VALID [2022-04-15 07:49:31,866 INFO L290 TraceCheckUtils]: 47: Hoare triple {20463#true} ~cond := #in~cond; {20588#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:49:31,866 INFO L290 TraceCheckUtils]: 48: Hoare triple {20588#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {20592#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:49:31,866 INFO L290 TraceCheckUtils]: 49: Hoare triple {20592#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {20592#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:49:31,867 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {20592#(not (= |__VERIFIER_assert_#in~cond| 0))} {20613#(and (= (+ main_~x~0 (- 3)) 0) (<= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 8)) (= main_~y~0 1) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} #65#return; {20629#(and (= main_~x~0 3) (= main_~y~0 1) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)))} is VALID [2022-04-15 07:49:31,868 INFO L290 TraceCheckUtils]: 51: Hoare triple {20629#(and (= main_~x~0 3) (= main_~y~0 1) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)))} assume !!(~x~0 <= ~X~0); {20629#(and (= main_~x~0 3) (= main_~y~0 1) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)))} is VALID [2022-04-15 07:49:31,869 INFO L290 TraceCheckUtils]: 52: Hoare triple {20629#(and (= main_~x~0 3) (= main_~y~0 1) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {20636#(and (= main_~x~0 3) (= main_~y~0 1) (= (+ (* (* 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:49:31,869 INFO L290 TraceCheckUtils]: 53: Hoare triple {20636#(and (= main_~x~0 3) (= main_~y~0 1) (= (+ (* (* 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; {20640#(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 1) (= (+ (- 1) main_~x~0) 3))} is VALID [2022-04-15 07:49:31,870 INFO L290 TraceCheckUtils]: 54: Hoare triple {20640#(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 1) (= (+ (- 1) main_~x~0) 3))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {20644#(and (= (* main_~Y~0 8) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0))) (= main_~yx~0 (* main_~Y~0 4)) (= main_~X~0 main_~xy~0))} is VALID [2022-04-15 07:49:31,871 INFO L272 TraceCheckUtils]: 55: Hoare triple {20644#(and (= (* main_~Y~0 8) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0))) (= main_~yx~0 (* main_~Y~0 4)) (= 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)); {20648#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 07:49:31,871 INFO L290 TraceCheckUtils]: 56: Hoare triple {20648#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {20652#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:49:31,872 INFO L290 TraceCheckUtils]: 57: Hoare triple {20652#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {20464#false} is VALID [2022-04-15 07:49:31,872 INFO L290 TraceCheckUtils]: 58: Hoare triple {20464#false} assume !false; {20464#false} is VALID [2022-04-15 07:49:31,872 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:49:31,872 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:49:33,214 INFO L290 TraceCheckUtils]: 58: Hoare triple {20464#false} assume !false; {20464#false} is VALID [2022-04-15 07:49:33,214 INFO L290 TraceCheckUtils]: 57: Hoare triple {20652#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {20464#false} is VALID [2022-04-15 07:49:33,214 INFO L290 TraceCheckUtils]: 56: Hoare triple {20648#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {20652#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:49:33,215 INFO L272 TraceCheckUtils]: 55: Hoare triple {20668#(= (+ (* 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)); {20648#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 07:49:33,216 INFO L290 TraceCheckUtils]: 54: Hoare triple {20672#(= (+ (* 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; {20668#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-15 07:49:33,218 INFO L290 TraceCheckUtils]: 53: Hoare triple {20676#(= (+ (* (* 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; {20672#(= (+ (* 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:49:33,219 INFO L290 TraceCheckUtils]: 52: Hoare triple {20672#(= (+ (* 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; {20676#(= (+ (* (* 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:49:33,219 INFO L290 TraceCheckUtils]: 51: Hoare triple {20672#(= (+ (* 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); {20672#(= (+ (* 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:49:33,220 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {20592#(not (= |__VERIFIER_assert_#in~cond| 0))} {20686#(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; {20672#(= (+ (* 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:49:33,220 INFO L290 TraceCheckUtils]: 49: Hoare triple {20592#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {20592#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:49:33,221 INFO L290 TraceCheckUtils]: 48: Hoare triple {20696#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {20592#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:49:33,221 INFO L290 TraceCheckUtils]: 47: Hoare triple {20463#true} ~cond := #in~cond; {20696#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 07:49:33,221 INFO L272 TraceCheckUtils]: 46: Hoare triple {20686#(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)); {20463#true} is VALID [2022-04-15 07:49:33,222 INFO L290 TraceCheckUtils]: 45: Hoare triple {20463#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {20686#(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:49:33,222 INFO L290 TraceCheckUtils]: 44: Hoare triple {20463#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {20463#true} is VALID [2022-04-15 07:49:33,222 INFO L290 TraceCheckUtils]: 43: Hoare triple {20463#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; {20463#true} is VALID [2022-04-15 07:49:33,222 INFO L290 TraceCheckUtils]: 42: Hoare triple {20463#true} assume !!(~x~0 <= ~X~0); {20463#true} is VALID [2022-04-15 07:49:33,222 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {20463#true} {20463#true} #65#return; {20463#true} is VALID [2022-04-15 07:49:33,222 INFO L290 TraceCheckUtils]: 40: Hoare triple {20463#true} assume true; {20463#true} is VALID [2022-04-15 07:49:33,222 INFO L290 TraceCheckUtils]: 39: Hoare triple {20463#true} assume !(0 == ~cond); {20463#true} is VALID [2022-04-15 07:49:33,222 INFO L290 TraceCheckUtils]: 38: Hoare triple {20463#true} ~cond := #in~cond; {20463#true} is VALID [2022-04-15 07:49:33,222 INFO L272 TraceCheckUtils]: 37: Hoare triple {20463#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {20463#true} is VALID [2022-04-15 07:49:33,222 INFO L290 TraceCheckUtils]: 36: Hoare triple {20463#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {20463#true} is VALID [2022-04-15 07:49:33,223 INFO L290 TraceCheckUtils]: 35: Hoare triple {20463#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {20463#true} is VALID [2022-04-15 07:49:33,223 INFO L290 TraceCheckUtils]: 34: Hoare triple {20463#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {20463#true} is VALID [2022-04-15 07:49:33,223 INFO L290 TraceCheckUtils]: 33: Hoare triple {20463#true} assume !!(~x~0 <= ~X~0); {20463#true} is VALID [2022-04-15 07:49:33,223 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {20463#true} {20463#true} #65#return; {20463#true} is VALID [2022-04-15 07:49:33,223 INFO L290 TraceCheckUtils]: 31: Hoare triple {20463#true} assume true; {20463#true} is VALID [2022-04-15 07:49:33,223 INFO L290 TraceCheckUtils]: 30: Hoare triple {20463#true} assume !(0 == ~cond); {20463#true} is VALID [2022-04-15 07:49:33,223 INFO L290 TraceCheckUtils]: 29: Hoare triple {20463#true} ~cond := #in~cond; {20463#true} is VALID [2022-04-15 07:49:33,223 INFO L272 TraceCheckUtils]: 28: Hoare triple {20463#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {20463#true} is VALID [2022-04-15 07:49:33,223 INFO L290 TraceCheckUtils]: 27: Hoare triple {20463#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {20463#true} is VALID [2022-04-15 07:49:33,223 INFO L290 TraceCheckUtils]: 26: Hoare triple {20463#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {20463#true} is VALID [2022-04-15 07:49:33,223 INFO L290 TraceCheckUtils]: 25: Hoare triple {20463#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {20463#true} is VALID [2022-04-15 07:49:33,223 INFO L290 TraceCheckUtils]: 24: Hoare triple {20463#true} assume !!(~x~0 <= ~X~0); {20463#true} is VALID [2022-04-15 07:49:33,223 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {20463#true} {20463#true} #65#return; {20463#true} is VALID [2022-04-15 07:49:33,223 INFO L290 TraceCheckUtils]: 22: Hoare triple {20463#true} assume true; {20463#true} is VALID [2022-04-15 07:49:33,223 INFO L290 TraceCheckUtils]: 21: Hoare triple {20463#true} assume !(0 == ~cond); {20463#true} is VALID [2022-04-15 07:49:33,223 INFO L290 TraceCheckUtils]: 20: Hoare triple {20463#true} ~cond := #in~cond; {20463#true} is VALID [2022-04-15 07:49:33,223 INFO L272 TraceCheckUtils]: 19: Hoare triple {20463#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {20463#true} is VALID [2022-04-15 07:49:33,223 INFO L290 TraceCheckUtils]: 18: Hoare triple {20463#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {20463#true} is VALID [2022-04-15 07:49:33,223 INFO L290 TraceCheckUtils]: 17: Hoare triple {20463#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {20463#true} is VALID [2022-04-15 07:49:33,224 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {20463#true} {20463#true} #63#return; {20463#true} is VALID [2022-04-15 07:49:33,224 INFO L290 TraceCheckUtils]: 15: Hoare triple {20463#true} assume true; {20463#true} is VALID [2022-04-15 07:49:33,224 INFO L290 TraceCheckUtils]: 14: Hoare triple {20463#true} assume !(0 == ~cond); {20463#true} is VALID [2022-04-15 07:49:33,224 INFO L290 TraceCheckUtils]: 13: Hoare triple {20463#true} ~cond := #in~cond; {20463#true} is VALID [2022-04-15 07:49:33,224 INFO L272 TraceCheckUtils]: 12: Hoare triple {20463#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {20463#true} is VALID [2022-04-15 07:49:33,224 INFO L290 TraceCheckUtils]: 11: Hoare triple {20463#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {20463#true} is VALID [2022-04-15 07:49:33,224 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {20463#true} {20463#true} #61#return; {20463#true} is VALID [2022-04-15 07:49:33,224 INFO L290 TraceCheckUtils]: 9: Hoare triple {20463#true} assume true; {20463#true} is VALID [2022-04-15 07:49:33,224 INFO L290 TraceCheckUtils]: 8: Hoare triple {20463#true} assume !(0 == ~cond); {20463#true} is VALID [2022-04-15 07:49:33,224 INFO L290 TraceCheckUtils]: 7: Hoare triple {20463#true} ~cond := #in~cond; {20463#true} is VALID [2022-04-15 07:49:33,224 INFO L272 TraceCheckUtils]: 6: Hoare triple {20463#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {20463#true} is VALID [2022-04-15 07:49:33,224 INFO L290 TraceCheckUtils]: 5: Hoare triple {20463#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; {20463#true} is VALID [2022-04-15 07:49:33,224 INFO L272 TraceCheckUtils]: 4: Hoare triple {20463#true} call #t~ret8 := main(); {20463#true} is VALID [2022-04-15 07:49:33,224 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {20463#true} {20463#true} #69#return; {20463#true} is VALID [2022-04-15 07:49:33,224 INFO L290 TraceCheckUtils]: 2: Hoare triple {20463#true} assume true; {20463#true} is VALID [2022-04-15 07:49:33,224 INFO L290 TraceCheckUtils]: 1: Hoare triple {20463#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); {20463#true} is VALID [2022-04-15 07:49:33,224 INFO L272 TraceCheckUtils]: 0: Hoare triple {20463#true} call ULTIMATE.init(); {20463#true} is VALID [2022-04-15 07:49:33,225 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:49:33,225 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:49:33,225 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1282188874] [2022-04-15 07:49:33,225 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 07:49:33,225 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [416777409] [2022-04-15 07:49:33,225 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [416777409] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:49:33,225 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 07:49:33,225 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [19, 10] total 24 [2022-04-15 07:49:33,225 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:49:33,225 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [463567089] [2022-04-15 07:49:33,225 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [463567089] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:49:33,225 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:49:33,225 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [19] imperfect sequences [] total 19 [2022-04-15 07:49:33,225 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [804048195] [2022-04-15 07:49:33,225 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:49:33,226 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 16 states have (on average 2.125) internal successors, (34), 18 states have internal predecessors, (34), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) Word has length 59 [2022-04-15 07:49:33,226 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:49:33,226 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 19 states, 16 states have (on average 2.125) internal successors, (34), 18 states have internal predecessors, (34), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-15 07:49:33,273 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:49:33,273 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 19 states [2022-04-15 07:49:33,273 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:49:33,274 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2022-04-15 07:49:33,274 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=71, Invalid=481, Unknown=0, NotChecked=0, Total=552 [2022-04-15 07:49:33,274 INFO L87 Difference]: Start difference. First operand 146 states and 158 transitions. Second operand has 19 states, 16 states have (on average 2.125) internal successors, (34), 18 states have internal predecessors, (34), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-15 07:49:35,449 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:49:35,449 INFO L93 Difference]: Finished difference Result 159 states and 172 transitions. [2022-04-15 07:49:35,449 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 19 states. [2022-04-15 07:49:35,449 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 16 states have (on average 2.125) internal successors, (34), 18 states have internal predecessors, (34), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) Word has length 59 [2022-04-15 07:49:35,450 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:49:35,450 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 16 states have (on average 2.125) internal successors, (34), 18 states have internal predecessors, (34), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-15 07:49:35,450 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 65 transitions. [2022-04-15 07:49:35,450 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 16 states have (on average 2.125) internal successors, (34), 18 states have internal predecessors, (34), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-15 07:49:35,451 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 65 transitions. [2022-04-15 07:49:35,451 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 19 states and 65 transitions. [2022-04-15 07:49:35,519 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:49:35,521 INFO L225 Difference]: With dead ends: 159 [2022-04-15 07:49:35,521 INFO L226 Difference]: Without dead ends: 157 [2022-04-15 07:49:35,521 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 121 GetRequests, 92 SyntacticMatches, 3 SemanticMatches, 26 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 83 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=99, Invalid=657, Unknown=0, NotChecked=0, Total=756 [2022-04-15 07:49:35,522 INFO L913 BasicCegarLoop]: 24 mSDtfsCounter, 16 mSDsluCounter, 247 mSDsCounter, 0 mSdLazyCounter, 698 mSolverCounterSat, 4 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 18 SdHoareTripleChecker+Valid, 271 SdHoareTripleChecker+Invalid, 702 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 4 IncrementalHoareTripleChecker+Valid, 698 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.8s IncrementalHoareTripleChecker+Time [2022-04-15 07:49:35,522 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [18 Valid, 271 Invalid, 702 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [4 Valid, 698 Invalid, 0 Unknown, 0 Unchecked, 0.8s Time] [2022-04-15 07:49:35,522 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 157 states. [2022-04-15 07:49:35,930 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 157 to 148. [2022-04-15 07:49:35,930 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:49:35,931 INFO L82 GeneralOperation]: Start isEquivalent. First operand 157 states. Second operand has 148 states, 110 states have (on average 1.0818181818181818) internal successors, (119), 114 states have internal predecessors, (119), 21 states have call successors, (21), 17 states have call predecessors, (21), 16 states have return successors, (20), 16 states have call predecessors, (20), 20 states have call successors, (20) [2022-04-15 07:49:35,931 INFO L74 IsIncluded]: Start isIncluded. First operand 157 states. Second operand has 148 states, 110 states have (on average 1.0818181818181818) internal successors, (119), 114 states have internal predecessors, (119), 21 states have call successors, (21), 17 states have call predecessors, (21), 16 states have return successors, (20), 16 states have call predecessors, (20), 20 states have call successors, (20) [2022-04-15 07:49:35,931 INFO L87 Difference]: Start difference. First operand 157 states. Second operand has 148 states, 110 states have (on average 1.0818181818181818) internal successors, (119), 114 states have internal predecessors, (119), 21 states have call successors, (21), 17 states have call predecessors, (21), 16 states have return successors, (20), 16 states have call predecessors, (20), 20 states have call successors, (20) [2022-04-15 07:49:35,940 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:49:35,940 INFO L93 Difference]: Finished difference Result 157 states and 170 transitions. [2022-04-15 07:49:35,940 INFO L276 IsEmpty]: Start isEmpty. Operand 157 states and 170 transitions. [2022-04-15 07:49:35,941 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:49:35,941 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:49:35,941 INFO L74 IsIncluded]: Start isIncluded. First operand has 148 states, 110 states have (on average 1.0818181818181818) internal successors, (119), 114 states have internal predecessors, (119), 21 states have call successors, (21), 17 states have call predecessors, (21), 16 states have return successors, (20), 16 states have call predecessors, (20), 20 states have call successors, (20) Second operand 157 states. [2022-04-15 07:49:35,941 INFO L87 Difference]: Start difference. First operand has 148 states, 110 states have (on average 1.0818181818181818) internal successors, (119), 114 states have internal predecessors, (119), 21 states have call successors, (21), 17 states have call predecessors, (21), 16 states have return successors, (20), 16 states have call predecessors, (20), 20 states have call successors, (20) Second operand 157 states. [2022-04-15 07:49:35,947 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:49:35,947 INFO L93 Difference]: Finished difference Result 157 states and 170 transitions. [2022-04-15 07:49:35,947 INFO L276 IsEmpty]: Start isEmpty. Operand 157 states and 170 transitions. [2022-04-15 07:49:35,947 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:49:35,947 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:49:35,947 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:49:35,947 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:49:35,947 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 148 states, 110 states have (on average 1.0818181818181818) internal successors, (119), 114 states have internal predecessors, (119), 21 states have call successors, (21), 17 states have call predecessors, (21), 16 states have return successors, (20), 16 states have call predecessors, (20), 20 states have call successors, (20) [2022-04-15 07:49:35,949 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 148 states to 148 states and 160 transitions. [2022-04-15 07:49:35,949 INFO L78 Accepts]: Start accepts. Automaton has 148 states and 160 transitions. Word has length 59 [2022-04-15 07:49:35,949 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:49:35,949 INFO L478 AbstractCegarLoop]: Abstraction has 148 states and 160 transitions. [2022-04-15 07:49:35,949 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 19 states, 16 states have (on average 2.125) internal successors, (34), 18 states have internal predecessors, (34), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-15 07:49:35,949 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 148 states and 160 transitions. [2022-04-15 07:49:38,391 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 160 edges. 159 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-15 07:49:38,391 INFO L276 IsEmpty]: Start isEmpty. Operand 148 states and 160 transitions. [2022-04-15 07:49:38,392 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 60 [2022-04-15 07:49:38,392 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:49:38,392 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:49:38,407 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (25)] Forceful destruction successful, exit code 0 [2022-04-15 07:49:38,592 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 25 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable24 [2022-04-15 07:49:38,592 INFO L403 AbstractCegarLoop]: === Iteration 26 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:49:38,593 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:49:38,593 INFO L85 PathProgramCache]: Analyzing trace with hash 1971200155, now seen corresponding path program 19 times [2022-04-15 07:49:38,593 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:49:38,593 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2062949498] [2022-04-15 07:49:38,593 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 07:49:38,593 INFO L85 PathProgramCache]: Analyzing trace with hash 1971200155, now seen corresponding path program 20 times [2022-04-15 07:49:38,593 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:49:38,593 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1460787509] [2022-04-15 07:49:38,593 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:49:38,593 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:49:38,601 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:49:38,601 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1179426063] [2022-04-15 07:49:38,601 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 07:49:38,602 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:49:38,602 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:49:38,602 INFO L229 MonitoredProcess]: Starting monitored process 26 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:49:38,603 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (26)] Waiting until timeout for monitored process [2022-04-15 07:49:38,656 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 07:49:38,656 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:49:38,657 INFO L263 TraceCheckSpWp]: Trace formula consists of 162 conjuncts, 55 conjunts are in the unsatisfiable core [2022-04-15 07:49:38,671 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:49:38,672 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:49:50,579 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 07:49:53,199 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 07:50:46,823 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 07:50:51,850 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful