/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/default/automizer/svcomp-Reach-32bit-Automizer_Default.epf -i ../../../trunk/examples/svcomp/nla-digbench-scaling/bresenham-ll_unwindbound20.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-fb4f59a-m [2022-04-27 12:02:51,929 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-27 12:02:51,943 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-27 12:02:51,991 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-27 12:02:51,991 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-27 12:02:51,992 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-27 12:02:52,009 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-27 12:02:52,011 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-27 12:02:52,012 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-27 12:02:52,015 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-27 12:02:52,016 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-27 12:02:52,017 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-27 12:02:52,017 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-27 12:02:52,019 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-27 12:02:52,020 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-27 12:02:52,022 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-27 12:02:52,022 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-27 12:02:52,023 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-27 12:02:52,024 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-27 12:02:52,028 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-27 12:02:52,030 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-27 12:02:52,031 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-27 12:02:52,031 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-27 12:02:52,032 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-27 12:02:52,033 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-27 12:02:52,051 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-27 12:02:52,052 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-27 12:02:52,052 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-27 12:02:52,053 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-27 12:02:52,053 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-27 12:02:52,054 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-27 12:02:52,054 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-27 12:02:52,055 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-27 12:02:52,056 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-27 12:02:52,056 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-27 12:02:52,057 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-27 12:02:52,057 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-27 12:02:52,057 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-27 12:02:52,057 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-27 12:02:52,057 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-27 12:02:52,058 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-27 12:02:52,059 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-27 12:02:52,059 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Default.epf [2022-04-27 12:02:52,097 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-27 12:02:52,097 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-27 12:02:52,097 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-04-27 12:02:52,097 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-04-27 12:02:52,098 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-04-27 12:02:52,098 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-04-27 12:02:52,098 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-04-27 12:02:52,098 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-04-27 12:02:52,098 INFO L138 SettingsManager]: * Use SBE=true [2022-04-27 12:02:52,099 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-27 12:02:52,099 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-27 12:02:52,099 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-27 12:02:52,100 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-27 12:02:52,100 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-27 12:02:52,100 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-27 12:02:52,100 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-27 12:02:52,100 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-27 12:02:52,100 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-27 12:02:52,100 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-27 12:02:52,100 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-27 12:02:52,100 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-27 12:02:52,100 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-27 12:02:52,101 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-27 12:02:52,101 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-27 12:02:52,101 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-27 12:02:52,101 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-27 12:02:52,101 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-04-27 12:02:52,101 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-04-27 12:02:52,101 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-04-27 12:02:52,101 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-04-27 12:02:52,115 INFO L138 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2022-04-27 12:02:52,115 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2022-04-27 12:02:52,115 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-27 12:02:52,115 INFO L138 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode 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-27 12:02:52,459 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-27 12:02:52,498 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-27 12:02:52,500 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-27 12:02:52,501 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-27 12:02:52,501 INFO L275 PluginConnector]: CDTParser initialized [2022-04-27 12:02:52,502 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/bresenham-ll_unwindbound20.c [2022-04-27 12:02:52,587 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/6fd9d870a/4ba4a47875d0474e92fd5d69c4ce089e/FLAGd31a219ab [2022-04-27 12:02:53,074 INFO L306 CDTParser]: Found 1 translation units. [2022-04-27 12:02:53,074 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/bresenham-ll_unwindbound20.c [2022-04-27 12:02:53,079 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/6fd9d870a/4ba4a47875d0474e92fd5d69c4ce089e/FLAGd31a219ab [2022-04-27 12:02:53,556 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/6fd9d870a/4ba4a47875d0474e92fd5d69c4ce089e [2022-04-27 12:02:53,565 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-27 12:02:53,574 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-27 12:02:53,577 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-27 12:02:53,577 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-27 12:02:53,579 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-27 12:02:53,581 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 27.04 12:02:53" (1/1) ... [2022-04-27 12:02:53,581 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@fa43bfe and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 12:02:53, skipping insertion in model container [2022-04-27 12:02:53,582 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 27.04 12:02:53" (1/1) ... [2022-04-27 12:02:53,592 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-27 12:02:53,602 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-27 12:02:53,825 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/bresenham-ll_unwindbound20.c[597,610] [2022-04-27 12:02:53,867 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-27 12:02:53,873 INFO L203 MainTranslator]: Completed pre-run [2022-04-27 12:02:53,891 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/bresenham-ll_unwindbound20.c[597,610] [2022-04-27 12:02:53,914 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-27 12:02:53,923 INFO L208 MainTranslator]: Completed translation [2022-04-27 12:02:53,931 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 12:02:53 WrapperNode [2022-04-27 12:02:53,931 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-27 12:02:53,932 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-27 12:02:53,932 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-27 12:02:53,932 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-27 12:02:53,969 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 12:02:53" (1/1) ... [2022-04-27 12:02:53,970 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 12:02:53" (1/1) ... [2022-04-27 12:02:53,975 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 12:02:53" (1/1) ... [2022-04-27 12:02:53,975 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 12:02:53" (1/1) ... [2022-04-27 12:02:53,989 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 12:02:53" (1/1) ... [2022-04-27 12:02:54,007 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 12:02:53" (1/1) ... [2022-04-27 12:02:54,012 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 12:02:53" (1/1) ... [2022-04-27 12:02:54,015 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-27 12:02:54,016 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-27 12:02:54,016 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-27 12:02:54,017 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-27 12:02:54,017 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 12:02:53" (1/1) ... [2022-04-27 12:02:54,022 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-27 12:02:54,047 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 12:02:54,083 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-27 12:02:54,123 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-27 12:02:54,152 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-27 12:02:54,153 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-27 12:02:54,153 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-27 12:02:54,153 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-27 12:02:54,153 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-27 12:02:54,153 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-27 12:02:54,153 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-27 12:02:54,153 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-27 12:02:54,153 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-27 12:02:54,153 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-27 12:02:54,153 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-27 12:02:54,153 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-27 12:02:54,153 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-27 12:02:54,154 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-27 12:02:54,154 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-27 12:02:54,154 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-27 12:02:54,154 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-27 12:02:54,154 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-27 12:02:54,154 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-27 12:02:54,154 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-27 12:02:54,253 INFO L234 CfgBuilder]: Building ICFG [2022-04-27 12:02:54,254 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-27 12:02:54,471 INFO L275 CfgBuilder]: Performing block encoding [2022-04-27 12:02:54,485 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-27 12:02:54,485 INFO L299 CfgBuilder]: Removed 1 assume(true) statements. [2022-04-27 12:02:54,486 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 27.04 12:02:54 BoogieIcfgContainer [2022-04-27 12:02:54,486 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-27 12:02:54,503 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-27 12:02:54,503 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-27 12:02:54,506 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-27 12:02:54,506 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 27.04 12:02:53" (1/3) ... [2022-04-27 12:02:54,507 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@4c15af5d and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 27.04 12:02:54, skipping insertion in model container [2022-04-27 12:02:54,507 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 12:02:53" (2/3) ... [2022-04-27 12:02:54,507 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@4c15af5d and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 27.04 12:02:54, skipping insertion in model container [2022-04-27 12:02:54,507 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 27.04 12:02:54" (3/3) ... [2022-04-27 12:02:54,508 INFO L111 eAbstractionObserver]: Analyzing ICFG bresenham-ll_unwindbound20.c [2022-04-27 12:02:54,518 INFO L201 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-04-27 12:02:54,518 INFO L160 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-27 12:02:54,576 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-27 12:02:54,581 INFO L357 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=FPandBP, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=PETRI_NET, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=LoopsAndPotentialCycles, 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, mPorIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@495e33a0, mLbeIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@5a9470ca [2022-04-27 12:02:54,581 INFO L358 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-27 12:02:54,587 INFO L276 IsEmpty]: Start isEmpty. Operand has 25 states, 16 states have (on average 1.375) internal successors, (22), 17 states have internal predecessors, (22), 4 states have call successors, (4), 3 states have call predecessors, (4), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-27 12:02:54,608 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 13 [2022-04-27 12:02:54,608 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 12:02:54,608 INFO L195 NwaCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 12:02:54,609 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 12:02:54,612 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 12:02:54,612 INFO L85 PathProgramCache]: Analyzing trace with hash 2019451875, now seen corresponding path program 1 times [2022-04-27 12:02:54,626 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 12:02:54,626 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1514600768] [2022-04-27 12:02:54,627 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 12:02:54,638 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 12:02:54,783 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 12:02:54,891 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 12:02:54,918 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 12:02:54,932 INFO L290 TraceCheckUtils]: 0: Hoare triple {33#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {28#true} is VALID [2022-04-27 12:02:54,933 INFO L290 TraceCheckUtils]: 1: Hoare triple {28#true} assume true; {28#true} is VALID [2022-04-27 12:02:54,933 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {28#true} {28#true} #62#return; {28#true} is VALID [2022-04-27 12:02:54,935 INFO L272 TraceCheckUtils]: 0: Hoare triple {28#true} call ULTIMATE.init(); {33#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 12:02:54,936 INFO L290 TraceCheckUtils]: 1: Hoare triple {33#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {28#true} is VALID [2022-04-27 12:02:54,936 INFO L290 TraceCheckUtils]: 2: Hoare triple {28#true} assume true; {28#true} is VALID [2022-04-27 12:02:54,936 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {28#true} {28#true} #62#return; {28#true} is VALID [2022-04-27 12:02:54,936 INFO L272 TraceCheckUtils]: 4: Hoare triple {28#true} call #t~ret9 := main(); {28#true} is VALID [2022-04-27 12:02:54,937 INFO L290 TraceCheckUtils]: 5: Hoare triple {28#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {28#true} is VALID [2022-04-27 12:02:54,939 INFO L290 TraceCheckUtils]: 6: Hoare triple {28#true} assume !true; {29#false} is VALID [2022-04-27 12:02:54,939 INFO L290 TraceCheckUtils]: 7: Hoare triple {29#false} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {29#false} is VALID [2022-04-27 12:02:54,940 INFO L272 TraceCheckUtils]: 8: Hoare triple {29#false} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 + 2 * ~y~0 then 1 else 0)); {29#false} is VALID [2022-04-27 12:02:54,955 INFO L290 TraceCheckUtils]: 9: Hoare triple {29#false} ~cond := #in~cond; {29#false} is VALID [2022-04-27 12:02:54,956 INFO L290 TraceCheckUtils]: 10: Hoare triple {29#false} assume 0 == ~cond; {29#false} is VALID [2022-04-27 12:02:54,956 INFO L290 TraceCheckUtils]: 11: Hoare triple {29#false} assume !false; {29#false} is VALID [2022-04-27 12:02:54,957 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-27 12:02:54,958 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 12:02:54,958 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1514600768] [2022-04-27 12:02:54,959 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1514600768] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 12:02:54,960 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 12:02:54,960 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-27 12:02:54,963 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1643051039] [2022-04-27 12:02:54,963 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 12:02:54,967 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 2.6666666666666665) internal successors, (8), 2 states have internal predecessors, (8), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 12 [2022-04-27 12:02:54,969 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 12:02:54,971 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 2.6666666666666665) internal successors, (8), 2 states have internal predecessors, (8), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 12:02:55,002 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 12:02:55,015 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-27 12:02:55,015 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 12:02:55,042 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-27 12:02:55,043 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-27 12:02:55,045 INFO L87 Difference]: Start difference. First operand has 25 states, 16 states have (on average 1.375) internal successors, (22), 17 states have internal predecessors, (22), 4 states have call successors, (4), 3 states have call predecessors, (4), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand has 3 states, 3 states have (on average 2.6666666666666665) internal successors, (8), 2 states have internal predecessors, (8), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 12:02:55,263 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:02:55,264 INFO L93 Difference]: Finished difference Result 45 states and 58 transitions. [2022-04-27 12:02:55,264 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-27 12:02:55,264 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 2.6666666666666665) internal successors, (8), 2 states have internal predecessors, (8), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 12 [2022-04-27 12:02:55,265 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 12:02:55,266 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 2.6666666666666665) internal successors, (8), 2 states have internal predecessors, (8), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 12:02:55,273 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 58 transitions. [2022-04-27 12:02:55,274 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 2.6666666666666665) internal successors, (8), 2 states have internal predecessors, (8), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 12:02:55,282 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 58 transitions. [2022-04-27 12:02:55,283 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 58 transitions. [2022-04-27 12:02:55,385 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-27 12:02:55,410 INFO L225 Difference]: With dead ends: 45 [2022-04-27 12:02:55,411 INFO L226 Difference]: Without dead ends: 21 [2022-04-27 12:02:55,413 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 4 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-27 12:02:55,415 INFO L413 NwaCegarLoop]: 27 mSDtfsCounter, 6 mSDsluCounter, 4 mSDsCounter, 0 mSdLazyCounter, 15 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 6 SdHoareTripleChecker+Valid, 31 SdHoareTripleChecker+Invalid, 18 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 15 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 12:02:55,416 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [6 Valid, 31 Invalid, 18 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 15 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 12:02:55,446 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 21 states. [2022-04-27 12:02:55,454 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 21 to 20. [2022-04-27 12:02:55,454 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 12:02:55,455 INFO L82 GeneralOperation]: Start isEquivalent. First operand 21 states. Second operand has 20 states, 13 states have (on average 1.3076923076923077) internal successors, (17), 14 states have internal predecessors, (17), 4 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-27 12:02:55,455 INFO L74 IsIncluded]: Start isIncluded. First operand 21 states. Second operand has 20 states, 13 states have (on average 1.3076923076923077) internal successors, (17), 14 states have internal predecessors, (17), 4 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-27 12:02:55,455 INFO L87 Difference]: Start difference. First operand 21 states. Second operand has 20 states, 13 states have (on average 1.3076923076923077) internal successors, (17), 14 states have internal predecessors, (17), 4 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-27 12:02:55,468 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:02:55,469 INFO L93 Difference]: Finished difference Result 21 states and 24 transitions. [2022-04-27 12:02:55,469 INFO L276 IsEmpty]: Start isEmpty. Operand 21 states and 24 transitions. [2022-04-27 12:02:55,469 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 12:02:55,469 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 12:02:55,476 INFO L74 IsIncluded]: Start isIncluded. First operand has 20 states, 13 states have (on average 1.3076923076923077) internal successors, (17), 14 states have internal predecessors, (17), 4 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Second operand 21 states. [2022-04-27 12:02:55,476 INFO L87 Difference]: Start difference. First operand has 20 states, 13 states have (on average 1.3076923076923077) internal successors, (17), 14 states have internal predecessors, (17), 4 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Second operand 21 states. [2022-04-27 12:02:55,477 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:02:55,478 INFO L93 Difference]: Finished difference Result 21 states and 24 transitions. [2022-04-27 12:02:55,478 INFO L276 IsEmpty]: Start isEmpty. Operand 21 states and 24 transitions. [2022-04-27 12:02:55,478 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 12:02:55,478 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 12:02:55,478 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 12:02:55,478 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 12:02:55,479 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 20 states, 13 states have (on average 1.3076923076923077) internal successors, (17), 14 states have internal predecessors, (17), 4 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-27 12:02:55,480 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 23 transitions. [2022-04-27 12:02:55,481 INFO L78 Accepts]: Start accepts. Automaton has 20 states and 23 transitions. Word has length 12 [2022-04-27 12:02:55,481 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 12:02:55,481 INFO L495 AbstractCegarLoop]: Abstraction has 20 states and 23 transitions. [2022-04-27 12:02:55,481 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 2.6666666666666665) internal successors, (8), 2 states have internal predecessors, (8), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 12:02:55,481 INFO L276 IsEmpty]: Start isEmpty. Operand 20 states and 23 transitions. [2022-04-27 12:02:55,482 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 13 [2022-04-27 12:02:55,482 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 12:02:55,482 INFO L195 NwaCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 12:02:55,482 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-27 12:02:55,482 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 12:02:55,483 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 12:02:55,483 INFO L85 PathProgramCache]: Analyzing trace with hash 1431109416, now seen corresponding path program 1 times [2022-04-27 12:02:55,483 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 12:02:55,483 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1667555364] [2022-04-27 12:02:55,483 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 12:02:55,484 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 12:02:55,575 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 12:02:55,576 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1029223962] [2022-04-27 12:02:55,576 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 12:02:55,576 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 12:02:55,576 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 12:02:55,591 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-27 12:02:55,635 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-27 12:02:55,695 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 12:02:55,697 INFO L263 TraceCheckSpWp]: Trace formula consists of 79 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-27 12:02:55,733 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 12:02:55,736 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 12:02:55,938 INFO L272 TraceCheckUtils]: 0: Hoare triple {164#true} call ULTIMATE.init(); {164#true} is VALID [2022-04-27 12:02:55,938 INFO L290 TraceCheckUtils]: 1: Hoare triple {164#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {164#true} is VALID [2022-04-27 12:02:55,938 INFO L290 TraceCheckUtils]: 2: Hoare triple {164#true} assume true; {164#true} is VALID [2022-04-27 12:02:55,938 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {164#true} {164#true} #62#return; {164#true} is VALID [2022-04-27 12:02:55,939 INFO L272 TraceCheckUtils]: 4: Hoare triple {164#true} call #t~ret9 := main(); {164#true} is VALID [2022-04-27 12:02:55,940 INFO L290 TraceCheckUtils]: 5: Hoare triple {164#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {184#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-27 12:02:55,940 INFO L290 TraceCheckUtils]: 6: Hoare triple {184#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {184#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-27 12:02:55,941 INFO L290 TraceCheckUtils]: 7: Hoare triple {184#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {191#(and (= main_~xy~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~yx~0 0))} is VALID [2022-04-27 12:02:55,943 INFO L272 TraceCheckUtils]: 8: Hoare triple {191#(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)); {195#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 12:02:55,943 INFO L290 TraceCheckUtils]: 9: Hoare triple {195#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {199#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 12:02:55,943 INFO L290 TraceCheckUtils]: 10: Hoare triple {199#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {165#false} is VALID [2022-04-27 12:02:55,944 INFO L290 TraceCheckUtils]: 11: Hoare triple {165#false} assume !false; {165#false} is VALID [2022-04-27 12:02:55,944 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-27 12:02:55,944 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-27 12:02:55,944 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 12:02:55,945 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1667555364] [2022-04-27 12:02:55,945 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 12:02:55,945 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1029223962] [2022-04-27 12:02:55,948 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1029223962] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 12:02:55,948 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 12:02:55,948 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-27 12:02:55,949 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1595650683] [2022-04-27 12:02:55,949 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 12:02:55,950 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 5 states have (on average 1.6) internal successors, (8), 5 states have internal predecessors, (8), 2 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 12 [2022-04-27 12:02:55,950 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 12:02:55,950 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 5 states have (on average 1.6) internal successors, (8), 5 states have internal predecessors, (8), 2 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 12:02:55,961 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 12:02:55,961 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-27 12:02:55,962 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 12:02:55,963 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-27 12:02:55,963 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-27 12:02:55,963 INFO L87 Difference]: Start difference. First operand 20 states and 23 transitions. Second operand has 6 states, 5 states have (on average 1.6) internal successors, (8), 5 states have internal predecessors, (8), 2 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 12:02:56,235 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:02:56,236 INFO L93 Difference]: Finished difference Result 34 states and 40 transitions. [2022-04-27 12:02:56,236 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-27 12:02:56,236 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 5 states have (on average 1.6) internal successors, (8), 5 states have internal predecessors, (8), 2 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 12 [2022-04-27 12:02:56,236 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 12:02:56,237 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 5 states have (on average 1.6) internal successors, (8), 5 states have internal predecessors, (8), 2 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 12:02:56,239 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 40 transitions. [2022-04-27 12:02:56,239 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 5 states have (on average 1.6) internal successors, (8), 5 states have internal predecessors, (8), 2 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 12:02:56,243 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 40 transitions. [2022-04-27 12:02:56,243 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 40 transitions. [2022-04-27 12:02:56,291 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 40 edges. 40 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 12:02:56,293 INFO L225 Difference]: With dead ends: 34 [2022-04-27 12:02:56,294 INFO L226 Difference]: Without dead ends: 29 [2022-04-27 12:02:56,295 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 7 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=17, Invalid=39, Unknown=0, NotChecked=0, Total=56 [2022-04-27 12:02:56,297 INFO L413 NwaCegarLoop]: 15 mSDtfsCounter, 12 mSDsluCounter, 49 mSDsCounter, 0 mSdLazyCounter, 56 mSolverCounterSat, 4 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 12 SdHoareTripleChecker+Valid, 64 SdHoareTripleChecker+Invalid, 60 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 4 IncrementalHoareTripleChecker+Valid, 56 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 12:02:56,297 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [12 Valid, 64 Invalid, 60 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [4 Valid, 56 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 12:02:56,299 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 29 states. [2022-04-27 12:02:56,308 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 29 to 28. [2022-04-27 12:02:56,309 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 12:02:56,310 INFO L82 GeneralOperation]: Start isEquivalent. First operand 29 states. Second operand has 28 states, 19 states have (on average 1.2105263157894737) internal successors, (23), 20 states have internal predecessors, (23), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-27 12:02:56,310 INFO L74 IsIncluded]: Start isIncluded. First operand 29 states. Second operand has 28 states, 19 states have (on average 1.2105263157894737) internal successors, (23), 20 states have internal predecessors, (23), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-27 12:02:56,311 INFO L87 Difference]: Start difference. First operand 29 states. Second operand has 28 states, 19 states have (on average 1.2105263157894737) internal successors, (23), 20 states have internal predecessors, (23), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-27 12:02:56,328 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:02:56,328 INFO L93 Difference]: Finished difference Result 29 states and 33 transitions. [2022-04-27 12:02:56,328 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 33 transitions. [2022-04-27 12:02:56,329 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 12:02:56,329 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 12:02:56,330 INFO L74 IsIncluded]: Start isIncluded. First operand has 28 states, 19 states have (on average 1.2105263157894737) internal successors, (23), 20 states have internal predecessors, (23), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 29 states. [2022-04-27 12:02:56,331 INFO L87 Difference]: Start difference. First operand has 28 states, 19 states have (on average 1.2105263157894737) internal successors, (23), 20 states have internal predecessors, (23), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 29 states. [2022-04-27 12:02:56,335 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:02:56,335 INFO L93 Difference]: Finished difference Result 29 states and 33 transitions. [2022-04-27 12:02:56,335 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 33 transitions. [2022-04-27 12:02:56,336 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 12:02:56,336 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 12:02:56,336 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 12:02:56,336 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 12:02:56,336 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 28 states, 19 states have (on average 1.2105263157894737) internal successors, (23), 20 states have internal predecessors, (23), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-27 12:02:56,338 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 31 transitions. [2022-04-27 12:02:56,338 INFO L78 Accepts]: Start accepts. Automaton has 28 states and 31 transitions. Word has length 12 [2022-04-27 12:02:56,339 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 12:02:56,339 INFO L495 AbstractCegarLoop]: Abstraction has 28 states and 31 transitions. [2022-04-27 12:02:56,339 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 5 states have (on average 1.6) internal successors, (8), 5 states have internal predecessors, (8), 2 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 12:02:56,340 INFO L276 IsEmpty]: Start isEmpty. Operand 28 states and 31 transitions. [2022-04-27 12:02:56,341 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2022-04-27 12:02:56,341 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 12:02:56,341 INFO L195 NwaCegarLoop]: trace histogram [2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 12:02:56,361 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Forceful destruction successful, exit code 0 [2022-04-27 12:02:56,544 WARN L477 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-27 12:02:56,545 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 12:02:56,545 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 12:02:56,546 INFO L85 PathProgramCache]: Analyzing trace with hash 1603905768, now seen corresponding path program 1 times [2022-04-27 12:02:56,546 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 12:02:56,546 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1100442043] [2022-04-27 12:02:56,546 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 12:02:56,546 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 12:02:56,560 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 12:02:56,560 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1070388020] [2022-04-27 12:02:56,560 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 12:02:56,561 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 12:02:56,561 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 12:02:56,579 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-27 12:02:56,612 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-27 12:02:56,666 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 12:02:56,673 INFO L263 TraceCheckSpWp]: Trace formula consists of 103 conjuncts, 17 conjunts are in the unsatisfiable core [2022-04-27 12:02:56,686 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 12:02:56,687 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 12:02:56,987 INFO L272 TraceCheckUtils]: 0: Hoare triple {352#true} call ULTIMATE.init(); {352#true} is VALID [2022-04-27 12:02:56,987 INFO L290 TraceCheckUtils]: 1: Hoare triple {352#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {352#true} is VALID [2022-04-27 12:02:56,987 INFO L290 TraceCheckUtils]: 2: Hoare triple {352#true} assume true; {352#true} is VALID [2022-04-27 12:02:56,987 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {352#true} {352#true} #62#return; {352#true} is VALID [2022-04-27 12:02:56,987 INFO L272 TraceCheckUtils]: 4: Hoare triple {352#true} call #t~ret9 := main(); {352#true} is VALID [2022-04-27 12:02:56,988 INFO L290 TraceCheckUtils]: 5: Hoare triple {352#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {372#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-27 12:02:56,989 INFO L290 TraceCheckUtils]: 6: Hoare triple {372#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {372#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-27 12:02:56,989 INFO L290 TraceCheckUtils]: 7: Hoare triple {372#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {372#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-27 12:02:56,989 INFO L272 TraceCheckUtils]: 8: Hoare triple {372#(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)); {352#true} is VALID [2022-04-27 12:02:56,989 INFO L290 TraceCheckUtils]: 9: Hoare triple {352#true} ~cond := #in~cond; {352#true} is VALID [2022-04-27 12:02:56,989 INFO L290 TraceCheckUtils]: 10: Hoare triple {352#true} assume !(0 == ~cond); {352#true} is VALID [2022-04-27 12:02:56,990 INFO L290 TraceCheckUtils]: 11: Hoare triple {352#true} assume true; {352#true} is VALID [2022-04-27 12:02:56,990 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {352#true} {372#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} #58#return; {372#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-27 12:02:56,991 INFO L290 TraceCheckUtils]: 13: Hoare triple {372#(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); {372#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-27 12:02:56,992 INFO L290 TraceCheckUtils]: 14: Hoare triple {372#(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; {400#(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-27 12:02:56,992 INFO L290 TraceCheckUtils]: 15: Hoare triple {400#(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~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {404#(and (= main_~x~0 1) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} is VALID [2022-04-27 12:02:56,993 INFO L290 TraceCheckUtils]: 16: Hoare triple {404#(and (= main_~x~0 1) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {404#(and (= main_~x~0 1) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} is VALID [2022-04-27 12:02:56,993 INFO L290 TraceCheckUtils]: 17: Hoare triple {404#(and (= main_~x~0 1) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {411#(and (= main_~xy~0 0) (= main_~Y~0 main_~yx~0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} is VALID [2022-04-27 12:02:57,005 INFO L272 TraceCheckUtils]: 18: Hoare triple {411#(and (= main_~xy~0 0) (= main_~Y~0 main_~yx~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)); {415#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 12:02:57,006 INFO L290 TraceCheckUtils]: 19: Hoare triple {415#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {419#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 12:02:57,006 INFO L290 TraceCheckUtils]: 20: Hoare triple {419#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {353#false} is VALID [2022-04-27 12:02:57,010 INFO L290 TraceCheckUtils]: 21: Hoare triple {353#false} assume !false; {353#false} is VALID [2022-04-27 12:02:57,010 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 2 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-27 12:02:57,010 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 12:02:57,232 INFO L290 TraceCheckUtils]: 21: Hoare triple {353#false} assume !false; {353#false} is VALID [2022-04-27 12:02:57,233 INFO L290 TraceCheckUtils]: 20: Hoare triple {419#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {353#false} is VALID [2022-04-27 12:02:57,233 INFO L290 TraceCheckUtils]: 19: Hoare triple {415#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {419#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 12:02:57,234 INFO L272 TraceCheckUtils]: 18: Hoare triple {435#(= (+ (* 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)); {415#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 12:02:57,235 INFO L290 TraceCheckUtils]: 17: Hoare triple {439#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {435#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-27 12:02:57,235 INFO L290 TraceCheckUtils]: 16: Hoare triple {439#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {439#(= (+ (* 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-27 12:02:57,237 INFO L290 TraceCheckUtils]: 15: Hoare triple {446#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {439#(= (+ (* 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-27 12:02:57,238 INFO L290 TraceCheckUtils]: 14: Hoare triple {439#(= (+ (* 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; {446#(= (+ (* (* 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-27 12:02:57,238 INFO L290 TraceCheckUtils]: 13: Hoare triple {439#(= (+ (* 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); {439#(= (+ (* 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-27 12:02:57,239 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {352#true} {439#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} #58#return; {439#(= (+ (* 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-27 12:02:57,239 INFO L290 TraceCheckUtils]: 11: Hoare triple {352#true} assume true; {352#true} is VALID [2022-04-27 12:02:57,239 INFO L290 TraceCheckUtils]: 10: Hoare triple {352#true} assume !(0 == ~cond); {352#true} is VALID [2022-04-27 12:02:57,239 INFO L290 TraceCheckUtils]: 9: Hoare triple {352#true} ~cond := #in~cond; {352#true} is VALID [2022-04-27 12:02:57,240 INFO L272 TraceCheckUtils]: 8: Hoare triple {439#(= (+ (* 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)); {352#true} is VALID [2022-04-27 12:02:57,241 INFO L290 TraceCheckUtils]: 7: Hoare triple {439#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {439#(= (+ (* 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-27 12:02:57,241 INFO L290 TraceCheckUtils]: 6: Hoare triple {439#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {439#(= (+ (* 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-27 12:02:57,242 INFO L290 TraceCheckUtils]: 5: Hoare triple {352#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {439#(= (+ (* 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-27 12:02:57,242 INFO L272 TraceCheckUtils]: 4: Hoare triple {352#true} call #t~ret9 := main(); {352#true} is VALID [2022-04-27 12:02:57,242 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {352#true} {352#true} #62#return; {352#true} is VALID [2022-04-27 12:02:57,242 INFO L290 TraceCheckUtils]: 2: Hoare triple {352#true} assume true; {352#true} is VALID [2022-04-27 12:02:57,243 INFO L290 TraceCheckUtils]: 1: Hoare triple {352#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {352#true} is VALID [2022-04-27 12:02:57,243 INFO L272 TraceCheckUtils]: 0: Hoare triple {352#true} call ULTIMATE.init(); {352#true} is VALID [2022-04-27 12:02:57,243 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 2 proven. 1 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2022-04-27 12:02:57,245 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 12:02:57,245 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1100442043] [2022-04-27 12:02:57,245 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 12:02:57,245 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1070388020] [2022-04-27 12:02:57,245 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1070388020] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 12:02:57,245 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 12:02:57,245 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 7] total 11 [2022-04-27 12:02:57,245 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [983514125] [2022-04-27 12:02:57,245 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 12:02:57,246 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 10 states have internal predecessors, (23), 5 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Word has length 22 [2022-04-27 12:02:57,246 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 12:02:57,247 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 10 states have internal predecessors, (23), 5 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-27 12:02:57,272 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-27 12:02:57,272 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-27 12:02:57,272 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 12:02:57,272 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-27 12:02:57,273 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=23, Invalid=87, Unknown=0, NotChecked=0, Total=110 [2022-04-27 12:02:57,273 INFO L87 Difference]: Start difference. First operand 28 states and 31 transitions. Second operand has 11 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 10 states have internal predecessors, (23), 5 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-27 12:02:57,981 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:02:57,982 INFO L93 Difference]: Finished difference Result 45 states and 52 transitions. [2022-04-27 12:02:57,982 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-27 12:02:57,982 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 10 states have internal predecessors, (23), 5 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Word has length 22 [2022-04-27 12:02:57,982 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 12:02:57,982 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 10 states have internal predecessors, (23), 5 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-27 12:02:57,984 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 49 transitions. [2022-04-27 12:02:57,984 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 10 states have internal predecessors, (23), 5 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-27 12:02:57,985 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 49 transitions. [2022-04-27 12:02:57,985 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 49 transitions. [2022-04-27 12:02:58,066 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 49 edges. 49 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 12:02:58,067 INFO L225 Difference]: With dead ends: 45 [2022-04-27 12:02:58,067 INFO L226 Difference]: Without dead ends: 38 [2022-04-27 12:02:58,068 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 47 GetRequests, 32 SyntacticMatches, 2 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 11 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=44, Invalid=166, Unknown=0, NotChecked=0, Total=210 [2022-04-27 12:02:58,068 INFO L413 NwaCegarLoop]: 15 mSDtfsCounter, 20 mSDsluCounter, 85 mSDsCounter, 0 mSdLazyCounter, 154 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 20 SdHoareTripleChecker+Valid, 100 SdHoareTripleChecker+Invalid, 165 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 154 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-27 12:02:58,069 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [20 Valid, 100 Invalid, 165 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 154 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-27 12:02:58,069 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 38 states. [2022-04-27 12:02:58,076 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 38 to 36. [2022-04-27 12:02:58,077 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 12:02:58,077 INFO L82 GeneralOperation]: Start isEquivalent. First operand 38 states. Second operand has 36 states, 26 states have (on average 1.1538461538461537) internal successors, (30), 26 states have internal predecessors, (30), 6 states have call successors, (6), 5 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-27 12:02:58,078 INFO L74 IsIncluded]: Start isIncluded. First operand 38 states. Second operand has 36 states, 26 states have (on average 1.1538461538461537) internal successors, (30), 26 states have internal predecessors, (30), 6 states have call successors, (6), 5 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-27 12:02:58,078 INFO L87 Difference]: Start difference. First operand 38 states. Second operand has 36 states, 26 states have (on average 1.1538461538461537) internal successors, (30), 26 states have internal predecessors, (30), 6 states have call successors, (6), 5 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-27 12:02:58,081 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:02:58,082 INFO L93 Difference]: Finished difference Result 38 states and 43 transitions. [2022-04-27 12:02:58,082 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 43 transitions. [2022-04-27 12:02:58,083 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 12:02:58,083 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 12:02:58,083 INFO L74 IsIncluded]: Start isIncluded. First operand has 36 states, 26 states have (on average 1.1538461538461537) internal successors, (30), 26 states have internal predecessors, (30), 6 states have call successors, (6), 5 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 38 states. [2022-04-27 12:02:58,083 INFO L87 Difference]: Start difference. First operand has 36 states, 26 states have (on average 1.1538461538461537) internal successors, (30), 26 states have internal predecessors, (30), 6 states have call successors, (6), 5 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 38 states. [2022-04-27 12:02:58,086 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:02:58,086 INFO L93 Difference]: Finished difference Result 38 states and 43 transitions. [2022-04-27 12:02:58,086 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 43 transitions. [2022-04-27 12:02:58,086 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 12:02:58,087 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 12:02:58,087 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 12:02:58,087 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 12:02:58,087 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 36 states, 26 states have (on average 1.1538461538461537) internal successors, (30), 26 states have internal predecessors, (30), 6 states have call successors, (6), 5 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-27 12:02:58,088 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 36 states to 36 states and 40 transitions. [2022-04-27 12:02:58,088 INFO L78 Accepts]: Start accepts. Automaton has 36 states and 40 transitions. Word has length 22 [2022-04-27 12:02:58,088 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 12:02:58,088 INFO L495 AbstractCegarLoop]: Abstraction has 36 states and 40 transitions. [2022-04-27 12:02:58,088 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 10 states have internal predecessors, (23), 5 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-27 12:02:58,088 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 40 transitions. [2022-04-27 12:02:58,089 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2022-04-27 12:02:58,089 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 12:02:58,089 INFO L195 NwaCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 12:02:58,110 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-27 12:02:58,303 WARN L477 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-27 12:02:58,304 INFO L420 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 12:02:58,304 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 12:02:58,304 INFO L85 PathProgramCache]: Analyzing trace with hash -1213814707, now seen corresponding path program 1 times [2022-04-27 12:02:58,304 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 12:02:58,304 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [819094094] [2022-04-27 12:02:58,304 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 12:02:58,304 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 12:02:58,331 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 12:02:58,331 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [349545737] [2022-04-27 12:02:58,331 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 12:02:58,331 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 12:02:58,331 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 12:02:58,352 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-27 12:02:58,387 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-27 12:02:58,416 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 12:02:58,417 INFO L263 TraceCheckSpWp]: Trace formula consists of 105 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-27 12:02:58,435 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 12:02:58,437 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 12:02:58,585 INFO L272 TraceCheckUtils]: 0: Hoare triple {688#true} call ULTIMATE.init(); {688#true} is VALID [2022-04-27 12:02:58,585 INFO L290 TraceCheckUtils]: 1: Hoare triple {688#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {696#(<= ~counter~0 0)} is VALID [2022-04-27 12:02:58,586 INFO L290 TraceCheckUtils]: 2: Hoare triple {696#(<= ~counter~0 0)} assume true; {696#(<= ~counter~0 0)} is VALID [2022-04-27 12:02:58,586 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {696#(<= ~counter~0 0)} {688#true} #62#return; {696#(<= ~counter~0 0)} is VALID [2022-04-27 12:02:58,587 INFO L272 TraceCheckUtils]: 4: Hoare triple {696#(<= ~counter~0 0)} call #t~ret9 := main(); {696#(<= ~counter~0 0)} is VALID [2022-04-27 12:02:58,588 INFO L290 TraceCheckUtils]: 5: Hoare triple {696#(<= ~counter~0 0)} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {696#(<= ~counter~0 0)} is VALID [2022-04-27 12:02:58,589 INFO L290 TraceCheckUtils]: 6: Hoare triple {696#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {712#(<= ~counter~0 1)} is VALID [2022-04-27 12:02:58,594 INFO L290 TraceCheckUtils]: 7: Hoare triple {712#(<= ~counter~0 1)} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {712#(<= ~counter~0 1)} is VALID [2022-04-27 12:02:58,595 INFO L272 TraceCheckUtils]: 8: Hoare triple {712#(<= ~counter~0 1)} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {712#(<= ~counter~0 1)} is VALID [2022-04-27 12:02:58,595 INFO L290 TraceCheckUtils]: 9: Hoare triple {712#(<= ~counter~0 1)} ~cond := #in~cond; {712#(<= ~counter~0 1)} is VALID [2022-04-27 12:02:58,595 INFO L290 TraceCheckUtils]: 10: Hoare triple {712#(<= ~counter~0 1)} assume !(0 == ~cond); {712#(<= ~counter~0 1)} is VALID [2022-04-27 12:02:58,596 INFO L290 TraceCheckUtils]: 11: Hoare triple {712#(<= ~counter~0 1)} assume true; {712#(<= ~counter~0 1)} is VALID [2022-04-27 12:02:58,597 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {712#(<= ~counter~0 1)} {712#(<= ~counter~0 1)} #58#return; {712#(<= ~counter~0 1)} is VALID [2022-04-27 12:02:58,597 INFO L290 TraceCheckUtils]: 13: Hoare triple {712#(<= ~counter~0 1)} assume !!(~x~0 <= ~X~0); {712#(<= ~counter~0 1)} is VALID [2022-04-27 12:02:58,597 INFO L290 TraceCheckUtils]: 14: Hoare triple {712#(<= ~counter~0 1)} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {712#(<= ~counter~0 1)} is VALID [2022-04-27 12:02:58,599 INFO L290 TraceCheckUtils]: 15: Hoare triple {712#(<= ~counter~0 1)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {712#(<= ~counter~0 1)} is VALID [2022-04-27 12:02:58,599 INFO L290 TraceCheckUtils]: 16: Hoare triple {712#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {743#(<= |main_#t~post6| 1)} is VALID [2022-04-27 12:02:58,599 INFO L290 TraceCheckUtils]: 17: Hoare triple {743#(<= |main_#t~post6| 1)} assume !(#t~post6 < 20);havoc #t~post6; {689#false} is VALID [2022-04-27 12:02:58,600 INFO L290 TraceCheckUtils]: 18: Hoare triple {689#false} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {689#false} is VALID [2022-04-27 12:02:58,600 INFO L272 TraceCheckUtils]: 19: Hoare triple {689#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)); {689#false} is VALID [2022-04-27 12:02:58,600 INFO L290 TraceCheckUtils]: 20: Hoare triple {689#false} ~cond := #in~cond; {689#false} is VALID [2022-04-27 12:02:58,600 INFO L290 TraceCheckUtils]: 21: Hoare triple {689#false} assume 0 == ~cond; {689#false} is VALID [2022-04-27 12:02:58,600 INFO L290 TraceCheckUtils]: 22: Hoare triple {689#false} assume !false; {689#false} is VALID [2022-04-27 12:02:58,600 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 2 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-27 12:02:58,600 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 12:02:58,738 INFO L290 TraceCheckUtils]: 22: Hoare triple {689#false} assume !false; {689#false} is VALID [2022-04-27 12:02:58,738 INFO L290 TraceCheckUtils]: 21: Hoare triple {689#false} assume 0 == ~cond; {689#false} is VALID [2022-04-27 12:02:58,739 INFO L290 TraceCheckUtils]: 20: Hoare triple {689#false} ~cond := #in~cond; {689#false} is VALID [2022-04-27 12:02:58,739 INFO L272 TraceCheckUtils]: 19: Hoare triple {689#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)); {689#false} is VALID [2022-04-27 12:02:58,739 INFO L290 TraceCheckUtils]: 18: Hoare triple {689#false} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {689#false} is VALID [2022-04-27 12:02:58,739 INFO L290 TraceCheckUtils]: 17: Hoare triple {777#(< |main_#t~post6| 20)} assume !(#t~post6 < 20);havoc #t~post6; {689#false} is VALID [2022-04-27 12:02:58,740 INFO L290 TraceCheckUtils]: 16: Hoare triple {781#(< ~counter~0 20)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {777#(< |main_#t~post6| 20)} is VALID [2022-04-27 12:02:58,740 INFO L290 TraceCheckUtils]: 15: Hoare triple {781#(< ~counter~0 20)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {781#(< ~counter~0 20)} is VALID [2022-04-27 12:02:58,740 INFO L290 TraceCheckUtils]: 14: Hoare triple {781#(< ~counter~0 20)} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {781#(< ~counter~0 20)} is VALID [2022-04-27 12:02:58,741 INFO L290 TraceCheckUtils]: 13: Hoare triple {781#(< ~counter~0 20)} assume !!(~x~0 <= ~X~0); {781#(< ~counter~0 20)} is VALID [2022-04-27 12:02:58,741 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {688#true} {781#(< ~counter~0 20)} #58#return; {781#(< ~counter~0 20)} is VALID [2022-04-27 12:02:58,741 INFO L290 TraceCheckUtils]: 11: Hoare triple {688#true} assume true; {688#true} is VALID [2022-04-27 12:02:58,742 INFO L290 TraceCheckUtils]: 10: Hoare triple {688#true} assume !(0 == ~cond); {688#true} is VALID [2022-04-27 12:02:58,742 INFO L290 TraceCheckUtils]: 9: Hoare triple {688#true} ~cond := #in~cond; {688#true} is VALID [2022-04-27 12:02:58,742 INFO L272 TraceCheckUtils]: 8: Hoare triple {781#(< ~counter~0 20)} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {688#true} is VALID [2022-04-27 12:02:58,742 INFO L290 TraceCheckUtils]: 7: Hoare triple {781#(< ~counter~0 20)} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {781#(< ~counter~0 20)} is VALID [2022-04-27 12:02:58,743 INFO L290 TraceCheckUtils]: 6: Hoare triple {812#(< ~counter~0 19)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {781#(< ~counter~0 20)} is VALID [2022-04-27 12:02:58,743 INFO L290 TraceCheckUtils]: 5: Hoare triple {812#(< ~counter~0 19)} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {812#(< ~counter~0 19)} is VALID [2022-04-27 12:02:58,743 INFO L272 TraceCheckUtils]: 4: Hoare triple {812#(< ~counter~0 19)} call #t~ret9 := main(); {812#(< ~counter~0 19)} is VALID [2022-04-27 12:02:58,744 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {812#(< ~counter~0 19)} {688#true} #62#return; {812#(< ~counter~0 19)} is VALID [2022-04-27 12:02:58,744 INFO L290 TraceCheckUtils]: 2: Hoare triple {812#(< ~counter~0 19)} assume true; {812#(< ~counter~0 19)} is VALID [2022-04-27 12:02:58,745 INFO L290 TraceCheckUtils]: 1: Hoare triple {688#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {812#(< ~counter~0 19)} is VALID [2022-04-27 12:02:58,745 INFO L272 TraceCheckUtils]: 0: Hoare triple {688#true} call ULTIMATE.init(); {688#true} is VALID [2022-04-27 12:02:58,745 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 2 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-27 12:02:58,745 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 12:02:58,745 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [819094094] [2022-04-27 12:02:58,745 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 12:02:58,745 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [349545737] [2022-04-27 12:02:58,745 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [349545737] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 12:02:58,745 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 12:02:58,745 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5] total 8 [2022-04-27 12:02:58,745 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1408236968] [2022-04-27 12:02:58,746 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 12:02:58,746 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.75) internal successors, (30), 8 states have internal predecessors, (30), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) Word has length 23 [2022-04-27 12:02:58,746 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 12:02:58,746 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 3.75) internal successors, (30), 8 states have internal predecessors, (30), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-27 12:02:58,773 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 40 edges. 40 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 12:02:58,773 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-27 12:02:58,773 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 12:02:58,774 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-27 12:02:58,774 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=20, Invalid=36, Unknown=0, NotChecked=0, Total=56 [2022-04-27 12:02:58,774 INFO L87 Difference]: Start difference. First operand 36 states and 40 transitions. Second operand has 8 states, 8 states have (on average 3.75) internal successors, (30), 8 states have internal predecessors, (30), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-27 12:02:59,055 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:02:59,056 INFO L93 Difference]: Finished difference Result 77 states and 85 transitions. [2022-04-27 12:02:59,056 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-27 12:02:59,056 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.75) internal successors, (30), 8 states have internal predecessors, (30), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) Word has length 23 [2022-04-27 12:02:59,056 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 12:02:59,056 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.75) internal successors, (30), 8 states have internal predecessors, (30), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-27 12:02:59,058 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 76 transitions. [2022-04-27 12:02:59,058 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.75) internal successors, (30), 8 states have internal predecessors, (30), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-27 12:02:59,060 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 76 transitions. [2022-04-27 12:02:59,060 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 76 transitions. [2022-04-27 12:02:59,115 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 76 edges. 76 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 12:02:59,116 INFO L225 Difference]: With dead ends: 77 [2022-04-27 12:02:59,117 INFO L226 Difference]: Without dead ends: 71 [2022-04-27 12:02:59,117 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 48 GetRequests, 39 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 7 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=40, Invalid=70, Unknown=0, NotChecked=0, Total=110 [2022-04-27 12:02:59,117 INFO L413 NwaCegarLoop]: 24 mSDtfsCounter, 47 mSDsluCounter, 91 mSDsCounter, 0 mSdLazyCounter, 25 mSolverCounterSat, 15 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 47 SdHoareTripleChecker+Valid, 115 SdHoareTripleChecker+Invalid, 40 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 15 IncrementalHoareTripleChecker+Valid, 25 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 12:02:59,118 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [47 Valid, 115 Invalid, 40 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [15 Valid, 25 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 12:02:59,118 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 71 states. [2022-04-27 12:02:59,146 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 71 to 59. [2022-04-27 12:02:59,147 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 12:02:59,147 INFO L82 GeneralOperation]: Start isEquivalent. First operand 71 states. Second operand has 59 states, 45 states have (on average 1.1777777777777778) internal successors, (53), 45 states have internal predecessors, (53), 8 states have call successors, (8), 7 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-27 12:02:59,147 INFO L74 IsIncluded]: Start isIncluded. First operand 71 states. Second operand has 59 states, 45 states have (on average 1.1777777777777778) internal successors, (53), 45 states have internal predecessors, (53), 8 states have call successors, (8), 7 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-27 12:02:59,147 INFO L87 Difference]: Start difference. First operand 71 states. Second operand has 59 states, 45 states have (on average 1.1777777777777778) internal successors, (53), 45 states have internal predecessors, (53), 8 states have call successors, (8), 7 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-27 12:02:59,149 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:02:59,150 INFO L93 Difference]: Finished difference Result 71 states and 77 transitions. [2022-04-27 12:02:59,150 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 77 transitions. [2022-04-27 12:02:59,150 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 12:02:59,150 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 12:02:59,150 INFO L74 IsIncluded]: Start isIncluded. First operand has 59 states, 45 states have (on average 1.1777777777777778) internal successors, (53), 45 states have internal predecessors, (53), 8 states have call successors, (8), 7 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 71 states. [2022-04-27 12:02:59,151 INFO L87 Difference]: Start difference. First operand has 59 states, 45 states have (on average 1.1777777777777778) internal successors, (53), 45 states have internal predecessors, (53), 8 states have call successors, (8), 7 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 71 states. [2022-04-27 12:02:59,153 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:02:59,153 INFO L93 Difference]: Finished difference Result 71 states and 77 transitions. [2022-04-27 12:02:59,153 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 77 transitions. [2022-04-27 12:02:59,153 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 12:02:59,153 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 12:02:59,153 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 12:02:59,153 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 12:02:59,154 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 59 states, 45 states have (on average 1.1777777777777778) internal successors, (53), 45 states have internal predecessors, (53), 8 states have call successors, (8), 7 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-27 12:02:59,155 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 59 states to 59 states and 67 transitions. [2022-04-27 12:02:59,155 INFO L78 Accepts]: Start accepts. Automaton has 59 states and 67 transitions. Word has length 23 [2022-04-27 12:02:59,155 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 12:02:59,158 INFO L495 AbstractCegarLoop]: Abstraction has 59 states and 67 transitions. [2022-04-27 12:02:59,159 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 3.75) internal successors, (30), 8 states have internal predecessors, (30), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-27 12:02:59,159 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 67 transitions. [2022-04-27 12:02:59,159 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 30 [2022-04-27 12:02:59,160 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 12:02:59,160 INFO L195 NwaCegarLoop]: trace histogram [3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 12:02:59,181 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Forceful destruction successful, exit code 0 [2022-04-27 12:02:59,379 WARN L477 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-27 12:02:59,379 INFO L420 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 12:02:59,380 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 12:02:59,380 INFO L85 PathProgramCache]: Analyzing trace with hash 1132431350, now seen corresponding path program 1 times [2022-04-27 12:02:59,380 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 12:02:59,380 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2106042024] [2022-04-27 12:02:59,380 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 12:02:59,380 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 12:02:59,395 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 12:02:59,395 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [450494989] [2022-04-27 12:02:59,395 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 12:02:59,395 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 12:02:59,395 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 12:02:59,409 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-27 12:02:59,443 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-27 12:02:59,499 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 12:02:59,500 INFO L263 TraceCheckSpWp]: Trace formula consists of 119 conjuncts, 26 conjunts are in the unsatisfiable core [2022-04-27 12:02:59,516 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 12:02:59,519 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 12:03:00,162 INFO L272 TraceCheckUtils]: 0: Hoare triple {1165#true} call ULTIMATE.init(); {1165#true} is VALID [2022-04-27 12:03:00,163 INFO L290 TraceCheckUtils]: 1: Hoare triple {1165#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {1165#true} is VALID [2022-04-27 12:03:00,170 INFO L290 TraceCheckUtils]: 2: Hoare triple {1165#true} assume true; {1165#true} is VALID [2022-04-27 12:03:00,170 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1165#true} {1165#true} #62#return; {1165#true} is VALID [2022-04-27 12:03:00,171 INFO L272 TraceCheckUtils]: 4: Hoare triple {1165#true} call #t~ret9 := main(); {1165#true} is VALID [2022-04-27 12:03:00,172 INFO L290 TraceCheckUtils]: 5: Hoare triple {1165#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {1185#(and (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-27 12:03:00,172 INFO L290 TraceCheckUtils]: 6: Hoare triple {1185#(and (= main_~x~0 0) (= main_~y~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1185#(and (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-27 12:03:00,173 INFO L290 TraceCheckUtils]: 7: Hoare triple {1185#(and (= main_~x~0 0) (= main_~y~0 0))} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1185#(and (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-27 12:03:00,173 INFO L272 TraceCheckUtils]: 8: Hoare triple {1185#(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)); {1165#true} is VALID [2022-04-27 12:03:00,173 INFO L290 TraceCheckUtils]: 9: Hoare triple {1165#true} ~cond := #in~cond; {1165#true} is VALID [2022-04-27 12:03:00,173 INFO L290 TraceCheckUtils]: 10: Hoare triple {1165#true} assume !(0 == ~cond); {1165#true} is VALID [2022-04-27 12:03:00,173 INFO L290 TraceCheckUtils]: 11: Hoare triple {1165#true} assume true; {1165#true} is VALID [2022-04-27 12:03:00,174 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {1165#true} {1185#(and (= main_~x~0 0) (= main_~y~0 0))} #58#return; {1185#(and (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-27 12:03:00,174 INFO L290 TraceCheckUtils]: 13: Hoare triple {1185#(and (= main_~x~0 0) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {1210#(and (<= main_~x~0 main_~X~0) (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-27 12:03:00,174 INFO L290 TraceCheckUtils]: 14: Hoare triple {1210#(and (<= main_~x~0 main_~X~0) (= main_~x~0 0) (= main_~y~0 0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {1214#(and (<= main_~x~0 main_~X~0) (= main_~x~0 0) (= (+ (- 1) main_~y~0) 0))} is VALID [2022-04-27 12:03:00,175 INFO L290 TraceCheckUtils]: 15: Hoare triple {1214#(and (<= main_~x~0 main_~X~0) (= main_~x~0 0) (= (+ (- 1) main_~y~0) 0))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {1218#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (<= 0 main_~X~0))} is VALID [2022-04-27 12:03:00,175 INFO L290 TraceCheckUtils]: 16: Hoare triple {1218#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (<= 0 main_~X~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1218#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (<= 0 main_~X~0))} is VALID [2022-04-27 12:03:00,176 INFO L290 TraceCheckUtils]: 17: Hoare triple {1218#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (<= 0 main_~X~0))} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1225#(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-27 12:03:00,176 INFO L272 TraceCheckUtils]: 18: Hoare triple {1225#(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)); {1165#true} is VALID [2022-04-27 12:03:00,176 INFO L290 TraceCheckUtils]: 19: Hoare triple {1165#true} ~cond := #in~cond; {1232#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 12:03:00,176 INFO L290 TraceCheckUtils]: 20: Hoare triple {1232#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {1236#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 12:03:00,177 INFO L290 TraceCheckUtils]: 21: Hoare triple {1236#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1236#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 12:03:00,178 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {1236#(not (= |__VERIFIER_assert_#in~cond| 0))} {1225#(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)))} #58#return; {1243#(and (= (+ (- 1) main_~y~0) 0) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~x~0 1) (<= 0 main_~X~0))} is VALID [2022-04-27 12:03:00,178 INFO L290 TraceCheckUtils]: 23: Hoare triple {1243#(and (= (+ (- 1) main_~y~0) 0) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~x~0 1) (<= 0 main_~X~0))} assume !(~x~0 <= ~X~0); {1247#(and (= (+ (- 1) main_~y~0) 0) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~x~0 1) (<= 0 main_~X~0) (not (<= main_~x~0 main_~X~0)))} is VALID [2022-04-27 12:03:00,179 INFO L290 TraceCheckUtils]: 24: Hoare triple {1247#(and (= (+ (- 1) main_~y~0) 0) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~x~0 1) (<= 0 main_~X~0) (not (<= main_~x~0 main_~X~0)))} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {1251#(and (not (<= 1 main_~X~0)) (= (+ (- 1) main_~y~0) 0) (= main_~y~0 main_~xy~0) (<= 0 main_~X~0) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (* main_~Y~0 4)) (= main_~Y~0 main_~yx~0))} is VALID [2022-04-27 12:03:00,180 INFO L272 TraceCheckUtils]: 25: Hoare triple {1251#(and (not (<= 1 main_~X~0)) (= (+ (- 1) main_~y~0) 0) (= main_~y~0 main_~xy~0) (<= 0 main_~X~0) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (* main_~Y~0 4)) (= main_~Y~0 main_~yx~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 + 2 * ~y~0 then 1 else 0)); {1255#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 12:03:00,180 INFO L290 TraceCheckUtils]: 26: Hoare triple {1255#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1259#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 12:03:00,181 INFO L290 TraceCheckUtils]: 27: Hoare triple {1259#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1166#false} is VALID [2022-04-27 12:03:00,181 INFO L290 TraceCheckUtils]: 28: Hoare triple {1166#false} assume !false; {1166#false} is VALID [2022-04-27 12:03:00,181 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 6 proven. 5 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-27 12:03:00,181 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 12:03:01,164 INFO L290 TraceCheckUtils]: 28: Hoare triple {1166#false} assume !false; {1166#false} is VALID [2022-04-27 12:03:01,164 INFO L290 TraceCheckUtils]: 27: Hoare triple {1259#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1166#false} is VALID [2022-04-27 12:03:01,165 INFO L290 TraceCheckUtils]: 26: Hoare triple {1255#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1259#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 12:03:01,165 INFO L272 TraceCheckUtils]: 25: Hoare triple {1275#(= (+ (* 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)); {1255#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 12:03:01,166 INFO L290 TraceCheckUtils]: 24: Hoare triple {1279#(= (+ (* 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; {1275#(= (+ (* 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-27 12:03:01,166 INFO L290 TraceCheckUtils]: 23: Hoare triple {1283#(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); {1279#(= (+ (* 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-27 12:03:01,168 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {1236#(not (= |__VERIFIER_assert_#in~cond| 0))} {1287#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* (- 2) main_~xy~0) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} #58#return; {1283#(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-27 12:03:01,168 INFO L290 TraceCheckUtils]: 21: Hoare triple {1236#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1236#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 12:03:01,168 INFO L290 TraceCheckUtils]: 20: Hoare triple {1297#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {1236#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 12:03:01,169 INFO L290 TraceCheckUtils]: 19: Hoare triple {1165#true} ~cond := #in~cond; {1297#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 12:03:01,169 INFO L272 TraceCheckUtils]: 18: Hoare triple {1287#(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)); {1165#true} is VALID [2022-04-27 12:03:01,170 INFO L290 TraceCheckUtils]: 17: Hoare triple {1304#(or (<= main_~x~0 main_~X~0) (forall ((main_~Y~0 Int)) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* 2 (* main_~Y~0 main_~x~0))) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))))} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1287#(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-27 12:03:01,170 INFO L290 TraceCheckUtils]: 16: Hoare triple {1304#(or (<= main_~x~0 main_~X~0) (forall ((main_~Y~0 Int)) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* 2 (* main_~Y~0 main_~x~0))) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1304#(or (<= main_~x~0 main_~X~0) (forall ((main_~Y~0 Int)) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* 2 (* main_~Y~0 main_~x~0))) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))))} is VALID [2022-04-27 12:03:01,172 INFO L290 TraceCheckUtils]: 15: Hoare triple {1311#(or (<= (+ main_~x~0 1) main_~X~0) (forall ((main_~Y~0 Int)) (= (+ (* (* (+ main_~x~0 1) main_~y~0) 2) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* 2 (* (+ main_~x~0 1) main_~Y~0))) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {1304#(or (<= main_~x~0 main_~X~0) (forall ((main_~Y~0 Int)) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* 2 (* main_~Y~0 main_~x~0))) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))))} is VALID [2022-04-27 12:03:01,173 INFO L290 TraceCheckUtils]: 14: Hoare triple {1315#(or (forall ((main_~Y~0 Int)) (= (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)) (* 2 (* (+ main_~x~0 1) (+ main_~y~0 1))) (* (* main_~X~0 (+ main_~y~0 1)) (- 2))) (+ 2 (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))) (<= (+ main_~x~0 1) main_~X~0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {1311#(or (<= (+ main_~x~0 1) main_~X~0) (forall ((main_~Y~0 Int)) (= (+ (* (* (+ main_~x~0 1) main_~y~0) 2) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* 2 (* (+ main_~x~0 1) main_~Y~0))) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))))} is VALID [2022-04-27 12:03:01,175 INFO L290 TraceCheckUtils]: 13: Hoare triple {1165#true} assume !!(~x~0 <= ~X~0); {1315#(or (forall ((main_~Y~0 Int)) (= (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)) (* 2 (* (+ main_~x~0 1) (+ main_~y~0 1))) (* (* main_~X~0 (+ main_~y~0 1)) (- 2))) (+ 2 (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-27 12:03:01,175 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {1165#true} {1165#true} #58#return; {1165#true} is VALID [2022-04-27 12:03:01,175 INFO L290 TraceCheckUtils]: 11: Hoare triple {1165#true} assume true; {1165#true} is VALID [2022-04-27 12:03:01,175 INFO L290 TraceCheckUtils]: 10: Hoare triple {1165#true} assume !(0 == ~cond); {1165#true} is VALID [2022-04-27 12:03:01,175 INFO L290 TraceCheckUtils]: 9: Hoare triple {1165#true} ~cond := #in~cond; {1165#true} is VALID [2022-04-27 12:03:01,176 INFO L272 TraceCheckUtils]: 8: Hoare triple {1165#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {1165#true} is VALID [2022-04-27 12:03:01,176 INFO L290 TraceCheckUtils]: 7: Hoare triple {1165#true} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1165#true} is VALID [2022-04-27 12:03:01,176 INFO L290 TraceCheckUtils]: 6: Hoare triple {1165#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1165#true} is VALID [2022-04-27 12:03:01,176 INFO L290 TraceCheckUtils]: 5: Hoare triple {1165#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {1165#true} is VALID [2022-04-27 12:03:01,176 INFO L272 TraceCheckUtils]: 4: Hoare triple {1165#true} call #t~ret9 := main(); {1165#true} is VALID [2022-04-27 12:03:01,176 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1165#true} {1165#true} #62#return; {1165#true} is VALID [2022-04-27 12:03:01,176 INFO L290 TraceCheckUtils]: 2: Hoare triple {1165#true} assume true; {1165#true} is VALID [2022-04-27 12:03:01,176 INFO L290 TraceCheckUtils]: 1: Hoare triple {1165#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {1165#true} is VALID [2022-04-27 12:03:01,176 INFO L272 TraceCheckUtils]: 0: Hoare triple {1165#true} call ULTIMATE.init(); {1165#true} is VALID [2022-04-27 12:03:01,176 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 10 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-27 12:03:01,177 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 12:03:01,177 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2106042024] [2022-04-27 12:03:01,177 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 12:03:01,177 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [450494989] [2022-04-27 12:03:01,177 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [450494989] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 12:03:01,177 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 12:03:01,177 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 13] total 22 [2022-04-27 12:03:01,177 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1719091570] [2022-04-27 12:03:01,177 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 12:03:01,178 INFO L78 Accepts]: Start accepts. Automaton has has 22 states, 18 states have (on average 1.8333333333333333) internal successors, (33), 19 states have internal predecessors, (33), 6 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Word has length 29 [2022-04-27 12:03:01,178 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 12:03:01,178 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 22 states, 18 states have (on average 1.8333333333333333) internal successors, (33), 19 states have internal predecessors, (33), 6 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-27 12:03:01,215 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 46 edges. 46 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 12:03:01,215 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 22 states [2022-04-27 12:03:01,215 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 12:03:01,216 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 22 interpolants. [2022-04-27 12:03:01,216 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=73, Invalid=389, Unknown=0, NotChecked=0, Total=462 [2022-04-27 12:03:01,216 INFO L87 Difference]: Start difference. First operand 59 states and 67 transitions. Second operand has 22 states, 18 states have (on average 1.8333333333333333) internal successors, (33), 19 states have internal predecessors, (33), 6 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-27 12:03:03,581 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:03:03,581 INFO L93 Difference]: Finished difference Result 85 states and 98 transitions. [2022-04-27 12:03:03,581 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 26 states. [2022-04-27 12:03:03,581 INFO L78 Accepts]: Start accepts. Automaton has has 22 states, 18 states have (on average 1.8333333333333333) internal successors, (33), 19 states have internal predecessors, (33), 6 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Word has length 29 [2022-04-27 12:03:03,582 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 12:03:03,582 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 22 states, 18 states have (on average 1.8333333333333333) internal successors, (33), 19 states have internal predecessors, (33), 6 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-27 12:03:03,583 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 61 transitions. [2022-04-27 12:03:03,584 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 22 states, 18 states have (on average 1.8333333333333333) internal successors, (33), 19 states have internal predecessors, (33), 6 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-27 12:03:03,585 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 61 transitions. [2022-04-27 12:03:03,585 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 26 states and 61 transitions. [2022-04-27 12:03:03,648 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-27 12:03:03,650 INFO L225 Difference]: With dead ends: 85 [2022-04-27 12:03:03,650 INFO L226 Difference]: Without dead ends: 77 [2022-04-27 12:03:03,650 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 74 GetRequests, 38 SyntacticMatches, 1 SemanticMatches, 35 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 265 ImplicationChecksByTransitivity, 1.4s TimeCoverageRelationStatistics Valid=222, Invalid=1110, Unknown=0, NotChecked=0, Total=1332 [2022-04-27 12:03:03,651 INFO L413 NwaCegarLoop]: 15 mSDtfsCounter, 40 mSDsluCounter, 123 mSDsCounter, 0 mSdLazyCounter, 193 mSolverCounterSat, 27 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 41 SdHoareTripleChecker+Valid, 138 SdHoareTripleChecker+Invalid, 310 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 27 IncrementalHoareTripleChecker+Valid, 193 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 90 IncrementalHoareTripleChecker+Unchecked, 0.6s IncrementalHoareTripleChecker+Time [2022-04-27 12:03:03,651 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [41 Valid, 138 Invalid, 310 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [27 Valid, 193 Invalid, 0 Unknown, 90 Unchecked, 0.6s Time] [2022-04-27 12:03:03,652 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 77 states. [2022-04-27 12:03:03,672 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 77 to 67. [2022-04-27 12:03:03,672 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 12:03:03,673 INFO L82 GeneralOperation]: Start isEquivalent. First operand 77 states. Second operand has 67 states, 52 states have (on average 1.1538461538461537) internal successors, (60), 52 states have internal predecessors, (60), 9 states have call successors, (9), 7 states have call predecessors, (9), 5 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-27 12:03:03,673 INFO L74 IsIncluded]: Start isIncluded. First operand 77 states. Second operand has 67 states, 52 states have (on average 1.1538461538461537) internal successors, (60), 52 states have internal predecessors, (60), 9 states have call successors, (9), 7 states have call predecessors, (9), 5 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-27 12:03:03,673 INFO L87 Difference]: Start difference. First operand 77 states. Second operand has 67 states, 52 states have (on average 1.1538461538461537) internal successors, (60), 52 states have internal predecessors, (60), 9 states have call successors, (9), 7 states have call predecessors, (9), 5 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-27 12:03:03,676 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:03:03,676 INFO L93 Difference]: Finished difference Result 77 states and 88 transitions. [2022-04-27 12:03:03,676 INFO L276 IsEmpty]: Start isEmpty. Operand 77 states and 88 transitions. [2022-04-27 12:03:03,676 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 12:03:03,676 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 12:03:03,677 INFO L74 IsIncluded]: Start isIncluded. First operand has 67 states, 52 states have (on average 1.1538461538461537) internal successors, (60), 52 states have internal predecessors, (60), 9 states have call successors, (9), 7 states have call predecessors, (9), 5 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 77 states. [2022-04-27 12:03:03,677 INFO L87 Difference]: Start difference. First operand has 67 states, 52 states have (on average 1.1538461538461537) internal successors, (60), 52 states have internal predecessors, (60), 9 states have call successors, (9), 7 states have call predecessors, (9), 5 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 77 states. [2022-04-27 12:03:03,679 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:03:03,679 INFO L93 Difference]: Finished difference Result 77 states and 88 transitions. [2022-04-27 12:03:03,679 INFO L276 IsEmpty]: Start isEmpty. Operand 77 states and 88 transitions. [2022-04-27 12:03:03,680 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 12:03:03,680 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 12:03:03,680 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 12:03:03,680 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 12:03:03,680 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 67 states, 52 states have (on average 1.1538461538461537) internal successors, (60), 52 states have internal predecessors, (60), 9 states have call successors, (9), 7 states have call predecessors, (9), 5 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-27 12:03:03,682 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 67 states to 67 states and 76 transitions. [2022-04-27 12:03:03,682 INFO L78 Accepts]: Start accepts. Automaton has 67 states and 76 transitions. Word has length 29 [2022-04-27 12:03:03,682 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 12:03:03,682 INFO L495 AbstractCegarLoop]: Abstraction has 67 states and 76 transitions. [2022-04-27 12:03:03,682 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 22 states, 18 states have (on average 1.8333333333333333) internal successors, (33), 19 states have internal predecessors, (33), 6 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-27 12:03:03,682 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 76 transitions. [2022-04-27 12:03:03,683 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2022-04-27 12:03:03,683 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 12:03:03,683 INFO L195 NwaCegarLoop]: trace histogram [4, 3, 3, 3, 3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 12:03:03,705 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-27 12:03:03,905 WARN L477 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-27 12:03:03,906 INFO L420 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 12:03:03,906 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 12:03:03,906 INFO L85 PathProgramCache]: Analyzing trace with hash -1565736524, now seen corresponding path program 1 times [2022-04-27 12:03:03,906 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 12:03:03,906 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [36103586] [2022-04-27 12:03:03,906 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 12:03:03,906 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 12:03:03,923 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 12:03:03,923 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [855366675] [2022-04-27 12:03:03,923 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 12:03:03,923 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 12:03:03,923 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 12:03:03,924 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-27 12:03:03,947 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-27 12:03:03,973 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 12:03:03,975 INFO L263 TraceCheckSpWp]: Trace formula consists of 141 conjuncts, 28 conjunts are in the unsatisfiable core [2022-04-27 12:03:03,986 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 12:03:03,987 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 12:03:19,437 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-27 12:03:25,849 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-27 12:03:33,790 INFO L272 TraceCheckUtils]: 0: Hoare triple {1752#true} call ULTIMATE.init(); {1752#true} is VALID [2022-04-27 12:03:33,791 INFO L290 TraceCheckUtils]: 1: Hoare triple {1752#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {1752#true} is VALID [2022-04-27 12:03:33,791 INFO L290 TraceCheckUtils]: 2: Hoare triple {1752#true} assume true; {1752#true} is VALID [2022-04-27 12:03:33,791 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1752#true} {1752#true} #62#return; {1752#true} is VALID [2022-04-27 12:03:33,791 INFO L272 TraceCheckUtils]: 4: Hoare triple {1752#true} call #t~ret9 := main(); {1752#true} is VALID [2022-04-27 12:03:33,795 INFO L290 TraceCheckUtils]: 5: Hoare triple {1752#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {1772#(and (= main_~x~0 0) (<= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-27 12:03:33,796 INFO L290 TraceCheckUtils]: 6: Hoare triple {1772#(and (= main_~x~0 0) (<= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1772#(and (= main_~x~0 0) (<= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-27 12:03:33,796 INFO L290 TraceCheckUtils]: 7: Hoare triple {1772#(and (= main_~x~0 0) (<= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1779#(and (<= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (<= 0 main_~yx~0) (= main_~y~0 0) (<= main_~xy~0 (* main_~X~0 main_~y~0)))} is VALID [2022-04-27 12:03:33,797 INFO L272 TraceCheckUtils]: 8: Hoare triple {1779#(and (<= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (<= 0 main_~yx~0) (= main_~y~0 0) (<= main_~xy~0 (* main_~X~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)); {1752#true} is VALID [2022-04-27 12:03:33,797 INFO L290 TraceCheckUtils]: 9: Hoare triple {1752#true} ~cond := #in~cond; {1786#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 12:03:33,797 INFO L290 TraceCheckUtils]: 10: Hoare triple {1786#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {1790#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 12:03:33,797 INFO L290 TraceCheckUtils]: 11: Hoare triple {1790#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1790#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 12:03:33,798 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {1790#(not (= |__VERIFIER_assert_#in~cond| 0))} {1779#(and (<= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (<= 0 main_~yx~0) (= main_~y~0 0) (<= main_~xy~0 (* main_~X~0 main_~y~0)))} #58#return; {1797#(= main_~y~0 0)} is VALID [2022-04-27 12:03:33,799 INFO L290 TraceCheckUtils]: 13: Hoare triple {1797#(= main_~y~0 0)} assume !!(~x~0 <= ~X~0); {1797#(= main_~y~0 0)} is VALID [2022-04-27 12:03:33,799 INFO L290 TraceCheckUtils]: 14: Hoare triple {1797#(= main_~y~0 0)} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {1797#(= main_~y~0 0)} is VALID [2022-04-27 12:03:33,799 INFO L290 TraceCheckUtils]: 15: Hoare triple {1797#(= main_~y~0 0)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {1797#(= main_~y~0 0)} is VALID [2022-04-27 12:03:33,799 INFO L290 TraceCheckUtils]: 16: Hoare triple {1797#(= main_~y~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1797#(= main_~y~0 0)} is VALID [2022-04-27 12:03:33,800 INFO L290 TraceCheckUtils]: 17: Hoare triple {1797#(= main_~y~0 0)} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1797#(= main_~y~0 0)} is VALID [2022-04-27 12:03:33,800 INFO L272 TraceCheckUtils]: 18: Hoare triple {1797#(= 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)); {1752#true} is VALID [2022-04-27 12:03:33,800 INFO L290 TraceCheckUtils]: 19: Hoare triple {1752#true} ~cond := #in~cond; {1752#true} is VALID [2022-04-27 12:03:33,800 INFO L290 TraceCheckUtils]: 20: Hoare triple {1752#true} assume !(0 == ~cond); {1752#true} is VALID [2022-04-27 12:03:33,800 INFO L290 TraceCheckUtils]: 21: Hoare triple {1752#true} assume true; {1752#true} is VALID [2022-04-27 12:03:33,801 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {1752#true} {1797#(= main_~y~0 0)} #58#return; {1797#(= main_~y~0 0)} is VALID [2022-04-27 12:03:33,801 INFO L290 TraceCheckUtils]: 23: Hoare triple {1797#(= main_~y~0 0)} assume !!(~x~0 <= ~X~0); {1797#(= main_~y~0 0)} is VALID [2022-04-27 12:03:33,805 INFO L290 TraceCheckUtils]: 24: Hoare triple {1797#(= main_~y~0 0)} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {1797#(= main_~y~0 0)} is VALID [2022-04-27 12:03:33,805 INFO L290 TraceCheckUtils]: 25: Hoare triple {1797#(= main_~y~0 0)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {1797#(= main_~y~0 0)} is VALID [2022-04-27 12:03:33,805 INFO L290 TraceCheckUtils]: 26: Hoare triple {1797#(= main_~y~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1797#(= main_~y~0 0)} is VALID [2022-04-27 12:03:33,806 INFO L290 TraceCheckUtils]: 27: Hoare triple {1797#(= main_~y~0 0)} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1843#(and (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} is VALID [2022-04-27 12:03:33,806 INFO L272 TraceCheckUtils]: 28: Hoare triple {1843#(and (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {1752#true} is VALID [2022-04-27 12:03:33,806 INFO L290 TraceCheckUtils]: 29: Hoare triple {1752#true} ~cond := #in~cond; {1786#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 12:03:33,807 INFO L290 TraceCheckUtils]: 30: Hoare triple {1786#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {1790#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 12:03:33,807 INFO L290 TraceCheckUtils]: 31: Hoare triple {1790#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1790#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 12:03:33,808 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {1790#(not (= |__VERIFIER_assert_#in~cond| 0))} {1843#(and (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} #58#return; {1859#(and (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~y~0 0))} is VALID [2022-04-27 12:03:33,808 INFO L290 TraceCheckUtils]: 33: Hoare triple {1859#(and (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~y~0 0))} assume !(~x~0 <= ~X~0); {1859#(and (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~y~0 0))} is VALID [2022-04-27 12:03:35,810 WARN L290 TraceCheckUtils]: 34: Hoare triple {1859#(and (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~y~0 0))} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {1866#(and (= main_~y~0 0) (or (and (= (mod (+ (* main_~X~0 main_~y~0 2) main_~X~0 main_~v~0) 2) 0) (= main_~xy~0 0) (= main_~yx~0 0) (= 0 (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~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) (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-27 12:03:35,812 INFO L272 TraceCheckUtils]: 35: Hoare triple {1866#(and (= main_~y~0 0) (or (and (= (mod (+ (* main_~X~0 main_~y~0 2) main_~X~0 main_~v~0) 2) 0) (= main_~xy~0 0) (= main_~yx~0 0) (= 0 (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~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) (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)); {1870#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 12:03:35,813 INFO L290 TraceCheckUtils]: 36: Hoare triple {1870#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1874#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 12:03:35,813 INFO L290 TraceCheckUtils]: 37: Hoare triple {1874#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1753#false} is VALID [2022-04-27 12:03:35,813 INFO L290 TraceCheckUtils]: 38: Hoare triple {1753#false} assume !false; {1753#false} is VALID [2022-04-27 12:03:35,813 INFO L134 CoverageAnalysis]: Checked inductivity of 32 backedges. 10 proven. 11 refuted. 0 times theorem prover too weak. 11 trivial. 0 not checked. [2022-04-27 12:03:35,813 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 12:03:43,422 INFO L290 TraceCheckUtils]: 38: Hoare triple {1753#false} assume !false; {1753#false} is VALID [2022-04-27 12:03:43,423 INFO L290 TraceCheckUtils]: 37: Hoare triple {1874#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1753#false} is VALID [2022-04-27 12:03:43,423 INFO L290 TraceCheckUtils]: 36: Hoare triple {1870#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1874#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 12:03:43,424 INFO L272 TraceCheckUtils]: 35: Hoare triple {1890#(= (+ (* 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)); {1870#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 12:03:43,425 INFO L290 TraceCheckUtils]: 34: Hoare triple {1894#(= (+ (* 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; {1890#(= (+ (* 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-27 12:03:43,425 INFO L290 TraceCheckUtils]: 33: Hoare triple {1894#(= (+ (* 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); {1894#(= (+ (* 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-27 12:03:43,427 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {1790#(not (= |__VERIFIER_assert_#in~cond| 0))} {1901#(= (+ (* 2 (* main_~y~0 main_~x~0)) (* (- 2) main_~xy~0) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))} #58#return; {1894#(= (+ (* 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-27 12:03:43,427 INFO L290 TraceCheckUtils]: 31: Hoare triple {1790#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1790#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 12:03:43,427 INFO L290 TraceCheckUtils]: 30: Hoare triple {1911#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {1790#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 12:03:43,428 INFO L290 TraceCheckUtils]: 29: Hoare triple {1752#true} ~cond := #in~cond; {1911#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 12:03:43,428 INFO L272 TraceCheckUtils]: 28: Hoare triple {1901#(= (+ (* 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)); {1752#true} is VALID [2022-04-27 12:03:43,428 INFO L290 TraceCheckUtils]: 27: Hoare triple {1797#(= main_~y~0 0)} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1901#(= (+ (* 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-27 12:03:43,429 INFO L290 TraceCheckUtils]: 26: Hoare triple {1797#(= main_~y~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1797#(= main_~y~0 0)} is VALID [2022-04-27 12:03:43,429 INFO L290 TraceCheckUtils]: 25: Hoare triple {1797#(= main_~y~0 0)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {1797#(= main_~y~0 0)} is VALID [2022-04-27 12:03:43,429 INFO L290 TraceCheckUtils]: 24: Hoare triple {1797#(= main_~y~0 0)} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {1797#(= main_~y~0 0)} is VALID [2022-04-27 12:03:43,430 INFO L290 TraceCheckUtils]: 23: Hoare triple {1797#(= main_~y~0 0)} assume !!(~x~0 <= ~X~0); {1797#(= main_~y~0 0)} is VALID [2022-04-27 12:03:43,430 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {1752#true} {1797#(= main_~y~0 0)} #58#return; {1797#(= main_~y~0 0)} is VALID [2022-04-27 12:03:43,431 INFO L290 TraceCheckUtils]: 21: Hoare triple {1752#true} assume true; {1752#true} is VALID [2022-04-27 12:03:43,431 INFO L290 TraceCheckUtils]: 20: Hoare triple {1752#true} assume !(0 == ~cond); {1752#true} is VALID [2022-04-27 12:03:43,431 INFO L290 TraceCheckUtils]: 19: Hoare triple {1752#true} ~cond := #in~cond; {1752#true} is VALID [2022-04-27 12:03:43,431 INFO L272 TraceCheckUtils]: 18: Hoare triple {1797#(= 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)); {1752#true} is VALID [2022-04-27 12:03:43,431 INFO L290 TraceCheckUtils]: 17: Hoare triple {1797#(= main_~y~0 0)} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1797#(= main_~y~0 0)} is VALID [2022-04-27 12:03:43,436 INFO L290 TraceCheckUtils]: 16: Hoare triple {1797#(= main_~y~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1797#(= main_~y~0 0)} is VALID [2022-04-27 12:03:43,437 INFO L290 TraceCheckUtils]: 15: Hoare triple {1797#(= main_~y~0 0)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {1797#(= main_~y~0 0)} is VALID [2022-04-27 12:03:43,437 INFO L290 TraceCheckUtils]: 14: Hoare triple {1797#(= main_~y~0 0)} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {1797#(= main_~y~0 0)} is VALID [2022-04-27 12:03:43,438 INFO L290 TraceCheckUtils]: 13: Hoare triple {1797#(= main_~y~0 0)} assume !!(~x~0 <= ~X~0); {1797#(= main_~y~0 0)} is VALID [2022-04-27 12:03:43,442 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {1790#(not (= |__VERIFIER_assert_#in~cond| 0))} {1963#(or (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))) (= main_~y~0 0))} #58#return; {1797#(= main_~y~0 0)} is VALID [2022-04-27 12:03:43,443 INFO L290 TraceCheckUtils]: 11: Hoare triple {1790#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1790#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 12:03:43,444 INFO L290 TraceCheckUtils]: 10: Hoare triple {1911#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {1790#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 12:03:43,444 INFO L290 TraceCheckUtils]: 9: Hoare triple {1752#true} ~cond := #in~cond; {1911#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 12:03:43,444 INFO L272 TraceCheckUtils]: 8: Hoare triple {1963#(or (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~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)); {1752#true} is VALID [2022-04-27 12:03:43,445 INFO L290 TraceCheckUtils]: 7: Hoare triple {1979#(or (not (= (mod (+ main_~X~0 main_~v~0) 2) 0)) (= main_~y~0 0) (< (* main_~X~0 main_~y~0) (+ main_~Y~0 (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) 2) (* main_~Y~0 main_~x~0))))} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1963#(or (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))) (= main_~y~0 0))} is VALID [2022-04-27 12:03:43,452 INFO L290 TraceCheckUtils]: 6: Hoare triple {1979#(or (not (= (mod (+ main_~X~0 main_~v~0) 2) 0)) (= main_~y~0 0) (< (* main_~X~0 main_~y~0) (+ main_~Y~0 (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) 2) (* main_~Y~0 main_~x~0))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1979#(or (not (= (mod (+ main_~X~0 main_~v~0) 2) 0)) (= main_~y~0 0) (< (* main_~X~0 main_~y~0) (+ main_~Y~0 (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) 2) (* main_~Y~0 main_~x~0))))} is VALID [2022-04-27 12:03:43,453 INFO L290 TraceCheckUtils]: 5: Hoare triple {1752#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {1979#(or (not (= (mod (+ main_~X~0 main_~v~0) 2) 0)) (= main_~y~0 0) (< (* main_~X~0 main_~y~0) (+ main_~Y~0 (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) 2) (* main_~Y~0 main_~x~0))))} is VALID [2022-04-27 12:03:43,454 INFO L272 TraceCheckUtils]: 4: Hoare triple {1752#true} call #t~ret9 := main(); {1752#true} is VALID [2022-04-27 12:03:43,454 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1752#true} {1752#true} #62#return; {1752#true} is VALID [2022-04-27 12:03:43,454 INFO L290 TraceCheckUtils]: 2: Hoare triple {1752#true} assume true; {1752#true} is VALID [2022-04-27 12:03:43,454 INFO L290 TraceCheckUtils]: 1: Hoare triple {1752#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {1752#true} is VALID [2022-04-27 12:03:43,454 INFO L272 TraceCheckUtils]: 0: Hoare triple {1752#true} call ULTIMATE.init(); {1752#true} is VALID [2022-04-27 12:03:43,454 INFO L134 CoverageAnalysis]: Checked inductivity of 32 backedges. 12 proven. 9 refuted. 0 times theorem prover too weak. 11 trivial. 0 not checked. [2022-04-27 12:03:43,454 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 12:03:43,454 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [36103586] [2022-04-27 12:03:43,454 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 12:03:43,455 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [855366675] [2022-04-27 12:03:43,455 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [855366675] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 12:03:43,455 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 12:03:43,455 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 12] total 18 [2022-04-27 12:03:43,455 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [229356488] [2022-04-27 12:03:43,455 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 12:03:43,456 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 12 states have (on average 2.5) internal successors, (30), 17 states have internal predecessors, (30), 8 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (6), 4 states have call predecessors, (6), 6 states have call successors, (6) Word has length 39 [2022-04-27 12:03:43,456 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 12:03:43,456 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 18 states, 12 states have (on average 2.5) internal successors, (30), 17 states have internal predecessors, (30), 8 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (6), 4 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-27 12:03:45,499 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-27 12:03:45,499 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 18 states [2022-04-27 12:03:45,499 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 12:03:45,500 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2022-04-27 12:03:45,500 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=58, Invalid=248, Unknown=0, NotChecked=0, Total=306 [2022-04-27 12:03:45,500 INFO L87 Difference]: Start difference. First operand 67 states and 76 transitions. Second operand has 18 states, 12 states have (on average 2.5) internal successors, (30), 17 states have internal predecessors, (30), 8 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (6), 4 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-27 12:03:47,972 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-27 12:03:52,021 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-27 12:03:54,270 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.01s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 12:03:56,702 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:03:56,702 INFO L93 Difference]: Finished difference Result 96 states and 113 transitions. [2022-04-27 12:03:56,702 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-27 12:03:56,703 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 12 states have (on average 2.5) internal successors, (30), 17 states have internal predecessors, (30), 8 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (6), 4 states have call predecessors, (6), 6 states have call successors, (6) Word has length 39 [2022-04-27 12:03:56,703 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 12:03:56,703 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 12 states have (on average 2.5) internal successors, (30), 17 states have internal predecessors, (30), 8 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (6), 4 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-27 12:03:56,704 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 49 transitions. [2022-04-27 12:03:56,704 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 12 states have (on average 2.5) internal successors, (30), 17 states have internal predecessors, (30), 8 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (6), 4 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-27 12:03:56,705 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 49 transitions. [2022-04-27 12:03:56,705 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 49 transitions. [2022-04-27 12:03:58,752 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 49 edges. 48 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-27 12:03:58,753 INFO L225 Difference]: With dead ends: 96 [2022-04-27 12:03:58,753 INFO L226 Difference]: Without dead ends: 90 [2022-04-27 12:03:58,754 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 83 GetRequests, 59 SyntacticMatches, 2 SemanticMatches, 22 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 89 ImplicationChecksByTransitivity, 4.6s TimeCoverageRelationStatistics Valid=117, Invalid=433, Unknown=2, NotChecked=0, Total=552 [2022-04-27 12:03:58,754 INFO L413 NwaCegarLoop]: 12 mSDtfsCounter, 34 mSDsluCounter, 111 mSDsCounter, 0 mSdLazyCounter, 182 mSolverCounterSat, 18 mSolverCounterUnsat, 3 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 6.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 35 SdHoareTripleChecker+Valid, 123 SdHoareTripleChecker+Invalid, 203 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 18 IncrementalHoareTripleChecker+Valid, 182 IncrementalHoareTripleChecker+Invalid, 3 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 6.3s IncrementalHoareTripleChecker+Time [2022-04-27 12:03:58,754 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [35 Valid, 123 Invalid, 203 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [18 Valid, 182 Invalid, 3 Unknown, 0 Unchecked, 6.3s Time] [2022-04-27 12:03:58,755 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 90 states. [2022-04-27 12:03:58,781 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 90 to 88. [2022-04-27 12:03:58,781 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 12:03:58,781 INFO L82 GeneralOperation]: Start isEquivalent. First operand 90 states. Second operand has 88 states, 70 states have (on average 1.1714285714285715) internal successors, (82), 70 states have internal predecessors, (82), 12 states have call successors, (12), 7 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-27 12:03:58,782 INFO L74 IsIncluded]: Start isIncluded. First operand 90 states. Second operand has 88 states, 70 states have (on average 1.1714285714285715) internal successors, (82), 70 states have internal predecessors, (82), 12 states have call successors, (12), 7 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-27 12:03:58,782 INFO L87 Difference]: Start difference. First operand 90 states. Second operand has 88 states, 70 states have (on average 1.1714285714285715) internal successors, (82), 70 states have internal predecessors, (82), 12 states have call successors, (12), 7 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-27 12:03:58,784 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:03:58,785 INFO L93 Difference]: Finished difference Result 90 states and 106 transitions. [2022-04-27 12:03:58,785 INFO L276 IsEmpty]: Start isEmpty. Operand 90 states and 106 transitions. [2022-04-27 12:03:58,785 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 12:03:58,785 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 12:03:58,785 INFO L74 IsIncluded]: Start isIncluded. First operand has 88 states, 70 states have (on average 1.1714285714285715) internal successors, (82), 70 states have internal predecessors, (82), 12 states have call successors, (12), 7 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 90 states. [2022-04-27 12:03:58,786 INFO L87 Difference]: Start difference. First operand has 88 states, 70 states have (on average 1.1714285714285715) internal successors, (82), 70 states have internal predecessors, (82), 12 states have call successors, (12), 7 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 90 states. [2022-04-27 12:03:58,788 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:03:58,788 INFO L93 Difference]: Finished difference Result 90 states and 106 transitions. [2022-04-27 12:03:58,788 INFO L276 IsEmpty]: Start isEmpty. Operand 90 states and 106 transitions. [2022-04-27 12:03:58,789 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 12:03:58,789 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 12:03:58,789 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 12:03:58,789 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 12:03:58,789 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 88 states, 70 states have (on average 1.1714285714285715) internal successors, (82), 70 states have internal predecessors, (82), 12 states have call successors, (12), 7 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-27 12:03:58,791 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 88 states to 88 states and 104 transitions. [2022-04-27 12:03:58,791 INFO L78 Accepts]: Start accepts. Automaton has 88 states and 104 transitions. Word has length 39 [2022-04-27 12:03:58,791 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 12:03:58,791 INFO L495 AbstractCegarLoop]: Abstraction has 88 states and 104 transitions. [2022-04-27 12:03:58,792 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 18 states, 12 states have (on average 2.5) internal successors, (30), 17 states have internal predecessors, (30), 8 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (6), 4 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-27 12:03:58,792 INFO L276 IsEmpty]: Start isEmpty. Operand 88 states and 104 transitions. [2022-04-27 12:03:58,792 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2022-04-27 12:03:58,792 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 12:03:58,792 INFO L195 NwaCegarLoop]: trace histogram [4, 3, 3, 3, 3, 3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 12:03:58,811 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-27 12:03:58,999 WARN L477 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-27 12:03:58,999 INFO L420 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 12:03:59,000 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 12:03:59,000 INFO L85 PathProgramCache]: Analyzing trace with hash -1425187914, now seen corresponding path program 1 times [2022-04-27 12:03:59,000 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 12:03:59,000 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1639666366] [2022-04-27 12:03:59,000 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 12:03:59,000 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 12:03:59,017 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 12:03:59,017 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [225611325] [2022-04-27 12:03:59,017 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 12:03:59,017 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 12:03:59,017 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 12:03:59,018 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-27 12:03:59,019 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-27 12:03:59,058 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 12:03:59,059 INFO L263 TraceCheckSpWp]: Trace formula consists of 143 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-27 12:03:59,067 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 12:03:59,069 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 12:04:01,062 INFO L272 TraceCheckUtils]: 0: Hoare triple {2444#true} call ULTIMATE.init(); {2444#true} is VALID [2022-04-27 12:04:01,063 INFO L290 TraceCheckUtils]: 1: Hoare triple {2444#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {2444#true} is VALID [2022-04-27 12:04:01,065 INFO L290 TraceCheckUtils]: 2: Hoare triple {2444#true} assume true; {2444#true} is VALID [2022-04-27 12:04:01,065 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2444#true} {2444#true} #62#return; {2444#true} is VALID [2022-04-27 12:04:01,065 INFO L272 TraceCheckUtils]: 4: Hoare triple {2444#true} call #t~ret9 := main(); {2444#true} is VALID [2022-04-27 12:04:01,066 INFO L290 TraceCheckUtils]: 5: Hoare triple {2444#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {2464#(and (<= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} is VALID [2022-04-27 12:04:01,067 INFO L290 TraceCheckUtils]: 6: Hoare triple {2464#(and (<= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2464#(and (<= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} is VALID [2022-04-27 12:04:01,067 INFO L290 TraceCheckUtils]: 7: Hoare triple {2464#(and (<= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2464#(and (<= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} is VALID [2022-04-27 12:04:01,067 INFO L272 TraceCheckUtils]: 8: Hoare triple {2464#(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)); {2444#true} is VALID [2022-04-27 12:04:01,067 INFO L290 TraceCheckUtils]: 9: Hoare triple {2444#true} ~cond := #in~cond; {2444#true} is VALID [2022-04-27 12:04:01,067 INFO L290 TraceCheckUtils]: 10: Hoare triple {2444#true} assume !(0 == ~cond); {2444#true} is VALID [2022-04-27 12:04:01,067 INFO L290 TraceCheckUtils]: 11: Hoare triple {2444#true} assume true; {2444#true} is VALID [2022-04-27 12:04:01,068 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {2444#true} {2464#(and (<= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} #58#return; {2464#(and (<= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} is VALID [2022-04-27 12:04:01,069 INFO L290 TraceCheckUtils]: 13: Hoare triple {2464#(and (<= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} assume !!(~x~0 <= ~X~0); {2464#(and (<= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} is VALID [2022-04-27 12:04:01,070 INFO L290 TraceCheckUtils]: 14: Hoare triple {2464#(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~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {2492#(and (<= main_~x~0 0) (<= (+ (div (+ (- 1) main_~X~0) 2) 1) (div (+ main_~v~0 (* main_~X~0 3)) 4)))} is VALID [2022-04-27 12:04:01,071 INFO L290 TraceCheckUtils]: 15: Hoare triple {2492#(and (<= main_~x~0 0) (<= (+ (div (+ (- 1) main_~X~0) 2) 1) (div (+ main_~v~0 (* main_~X~0 3)) 4)))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {2496#(and (<= main_~x~0 1) (<= (+ (div (+ (- 1) main_~X~0) 2) 1) (div (+ main_~v~0 (* main_~X~0 3)) 4)))} is VALID [2022-04-27 12:04:01,072 INFO L290 TraceCheckUtils]: 16: Hoare triple {2496#(and (<= main_~x~0 1) (<= (+ (div (+ (- 1) main_~X~0) 2) 1) (div (+ main_~v~0 (* main_~X~0 3)) 4)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2496#(and (<= main_~x~0 1) (<= (+ (div (+ (- 1) main_~X~0) 2) 1) (div (+ main_~v~0 (* main_~X~0 3)) 4)))} is VALID [2022-04-27 12:04:01,074 INFO L290 TraceCheckUtils]: 17: Hoare triple {2496#(and (<= main_~x~0 1) (<= (+ (div (+ (- 1) main_~X~0) 2) 1) (div (+ main_~v~0 (* main_~X~0 3)) 4)))} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2496#(and (<= main_~x~0 1) (<= (+ (div (+ (- 1) main_~X~0) 2) 1) (div (+ main_~v~0 (* main_~X~0 3)) 4)))} is VALID [2022-04-27 12:04:01,074 INFO L272 TraceCheckUtils]: 18: Hoare triple {2496#(and (<= main_~x~0 1) (<= (+ (div (+ (- 1) main_~X~0) 2) 1) (div (+ main_~v~0 (* main_~X~0 3)) 4)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2444#true} is VALID [2022-04-27 12:04:01,074 INFO L290 TraceCheckUtils]: 19: Hoare triple {2444#true} ~cond := #in~cond; {2444#true} is VALID [2022-04-27 12:04:01,074 INFO L290 TraceCheckUtils]: 20: Hoare triple {2444#true} assume !(0 == ~cond); {2444#true} is VALID [2022-04-27 12:04:01,074 INFO L290 TraceCheckUtils]: 21: Hoare triple {2444#true} assume true; {2444#true} is VALID [2022-04-27 12:04:01,076 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {2444#true} {2496#(and (<= main_~x~0 1) (<= (+ (div (+ (- 1) main_~X~0) 2) 1) (div (+ main_~v~0 (* main_~X~0 3)) 4)))} #58#return; {2496#(and (<= main_~x~0 1) (<= (+ (div (+ (- 1) main_~X~0) 2) 1) (div (+ main_~v~0 (* main_~X~0 3)) 4)))} is VALID [2022-04-27 12:04:01,077 INFO L290 TraceCheckUtils]: 23: Hoare triple {2496#(and (<= main_~x~0 1) (<= (+ (div (+ (- 1) main_~X~0) 2) 1) (div (+ main_~v~0 (* main_~X~0 3)) 4)))} assume !!(~x~0 <= ~X~0); {2496#(and (<= main_~x~0 1) (<= (+ (div (+ (- 1) main_~X~0) 2) 1) (div (+ main_~v~0 (* main_~X~0 3)) 4)))} is VALID [2022-04-27 12:04:01,078 INFO L290 TraceCheckUtils]: 24: Hoare triple {2496#(and (<= main_~x~0 1) (<= (+ (div (+ (- 1) main_~X~0) 2) 1) (div (+ main_~v~0 (* main_~X~0 3)) 4)))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {2524#(and (< (div (+ (- 1) main_~X~0) 2) (div (+ (- 1) (* main_~X~0 3)) 4)) (<= main_~x~0 1))} is VALID [2022-04-27 12:04:01,079 INFO L290 TraceCheckUtils]: 25: Hoare triple {2524#(and (< (div (+ (- 1) main_~X~0) 2) (div (+ (- 1) (* main_~X~0 3)) 4)) (<= main_~x~0 1))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {2528#(and (< (div (+ (- 1) main_~X~0) 2) (div (+ (- 1) (* main_~X~0 3)) 4)) (<= main_~x~0 2))} is VALID [2022-04-27 12:04:01,079 INFO L290 TraceCheckUtils]: 26: Hoare triple {2528#(and (< (div (+ (- 1) main_~X~0) 2) (div (+ (- 1) (* main_~X~0 3)) 4)) (<= main_~x~0 2))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2528#(and (< (div (+ (- 1) main_~X~0) 2) (div (+ (- 1) (* main_~X~0 3)) 4)) (<= main_~x~0 2))} is VALID [2022-04-27 12:04:01,079 INFO L290 TraceCheckUtils]: 27: Hoare triple {2528#(and (< (div (+ (- 1) main_~X~0) 2) (div (+ (- 1) (* main_~X~0 3)) 4)) (<= main_~x~0 2))} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2528#(and (< (div (+ (- 1) main_~X~0) 2) (div (+ (- 1) (* main_~X~0 3)) 4)) (<= main_~x~0 2))} is VALID [2022-04-27 12:04:01,079 INFO L272 TraceCheckUtils]: 28: Hoare triple {2528#(and (< (div (+ (- 1) main_~X~0) 2) (div (+ (- 1) (* main_~X~0 3)) 4)) (<= main_~x~0 2))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2444#true} is VALID [2022-04-27 12:04:01,080 INFO L290 TraceCheckUtils]: 29: Hoare triple {2444#true} ~cond := #in~cond; {2444#true} is VALID [2022-04-27 12:04:01,080 INFO L290 TraceCheckUtils]: 30: Hoare triple {2444#true} assume !(0 == ~cond); {2444#true} is VALID [2022-04-27 12:04:01,080 INFO L290 TraceCheckUtils]: 31: Hoare triple {2444#true} assume true; {2444#true} is VALID [2022-04-27 12:04:01,081 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {2444#true} {2528#(and (< (div (+ (- 1) main_~X~0) 2) (div (+ (- 1) (* main_~X~0 3)) 4)) (<= main_~x~0 2))} #58#return; {2528#(and (< (div (+ (- 1) main_~X~0) 2) (div (+ (- 1) (* main_~X~0 3)) 4)) (<= main_~x~0 2))} is VALID [2022-04-27 12:04:01,082 INFO L290 TraceCheckUtils]: 33: Hoare triple {2528#(and (< (div (+ (- 1) main_~X~0) 2) (div (+ (- 1) (* main_~X~0 3)) 4)) (<= main_~x~0 2))} assume !(~x~0 <= ~X~0); {2445#false} is VALID [2022-04-27 12:04:01,082 INFO L290 TraceCheckUtils]: 34: Hoare triple {2445#false} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {2445#false} is VALID [2022-04-27 12:04:01,082 INFO L272 TraceCheckUtils]: 35: Hoare triple {2445#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)); {2445#false} is VALID [2022-04-27 12:04:01,082 INFO L290 TraceCheckUtils]: 36: Hoare triple {2445#false} ~cond := #in~cond; {2445#false} is VALID [2022-04-27 12:04:01,082 INFO L290 TraceCheckUtils]: 37: Hoare triple {2445#false} assume 0 == ~cond; {2445#false} is VALID [2022-04-27 12:04:01,082 INFO L290 TraceCheckUtils]: 38: Hoare triple {2445#false} assume !false; {2445#false} is VALID [2022-04-27 12:04:01,084 INFO L134 CoverageAnalysis]: Checked inductivity of 32 backedges. 6 proven. 14 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-27 12:04:01,084 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 12:04:01,444 INFO L290 TraceCheckUtils]: 38: Hoare triple {2445#false} assume !false; {2445#false} is VALID [2022-04-27 12:04:01,444 INFO L290 TraceCheckUtils]: 37: Hoare triple {2445#false} assume 0 == ~cond; {2445#false} is VALID [2022-04-27 12:04:01,444 INFO L290 TraceCheckUtils]: 36: Hoare triple {2445#false} ~cond := #in~cond; {2445#false} is VALID [2022-04-27 12:04:01,444 INFO L272 TraceCheckUtils]: 35: Hoare triple {2445#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)); {2445#false} is VALID [2022-04-27 12:04:01,444 INFO L290 TraceCheckUtils]: 34: Hoare triple {2445#false} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {2445#false} is VALID [2022-04-27 12:04:01,445 INFO L290 TraceCheckUtils]: 33: Hoare triple {2583#(<= main_~x~0 main_~X~0)} assume !(~x~0 <= ~X~0); {2445#false} is VALID [2022-04-27 12:04:01,445 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {2444#true} {2583#(<= main_~x~0 main_~X~0)} #58#return; {2583#(<= main_~x~0 main_~X~0)} is VALID [2022-04-27 12:04:01,445 INFO L290 TraceCheckUtils]: 31: Hoare triple {2444#true} assume true; {2444#true} is VALID [2022-04-27 12:04:01,445 INFO L290 TraceCheckUtils]: 30: Hoare triple {2444#true} assume !(0 == ~cond); {2444#true} is VALID [2022-04-27 12:04:01,445 INFO L290 TraceCheckUtils]: 29: Hoare triple {2444#true} ~cond := #in~cond; {2444#true} is VALID [2022-04-27 12:04:01,446 INFO L272 TraceCheckUtils]: 28: Hoare triple {2583#(<= 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)); {2444#true} is VALID [2022-04-27 12:04:01,446 INFO L290 TraceCheckUtils]: 27: Hoare triple {2583#(<= main_~x~0 main_~X~0)} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2583#(<= main_~x~0 main_~X~0)} is VALID [2022-04-27 12:04:01,446 INFO L290 TraceCheckUtils]: 26: Hoare triple {2583#(<= main_~x~0 main_~X~0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2583#(<= main_~x~0 main_~X~0)} is VALID [2022-04-27 12:04:01,447 INFO L290 TraceCheckUtils]: 25: Hoare triple {2608#(<= (+ main_~x~0 1) main_~X~0)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {2583#(<= main_~x~0 main_~X~0)} is VALID [2022-04-27 12:04:01,447 INFO L290 TraceCheckUtils]: 24: Hoare triple {2612#(or (not (< main_~v~0 0)) (<= (+ main_~x~0 1) main_~X~0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {2608#(<= (+ main_~x~0 1) main_~X~0)} is VALID [2022-04-27 12:04:01,448 INFO L290 TraceCheckUtils]: 23: Hoare triple {2612#(or (not (< main_~v~0 0)) (<= (+ main_~x~0 1) main_~X~0))} assume !!(~x~0 <= ~X~0); {2612#(or (not (< main_~v~0 0)) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-27 12:04:01,448 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {2444#true} {2612#(or (not (< main_~v~0 0)) (<= (+ main_~x~0 1) main_~X~0))} #58#return; {2612#(or (not (< main_~v~0 0)) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-27 12:04:01,448 INFO L290 TraceCheckUtils]: 21: Hoare triple {2444#true} assume true; {2444#true} is VALID [2022-04-27 12:04:01,448 INFO L290 TraceCheckUtils]: 20: Hoare triple {2444#true} assume !(0 == ~cond); {2444#true} is VALID [2022-04-27 12:04:01,448 INFO L290 TraceCheckUtils]: 19: Hoare triple {2444#true} ~cond := #in~cond; {2444#true} is VALID [2022-04-27 12:04:01,448 INFO L272 TraceCheckUtils]: 18: Hoare triple {2612#(or (not (< main_~v~0 0)) (<= (+ main_~x~0 1) main_~X~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2444#true} is VALID [2022-04-27 12:04:01,449 INFO L290 TraceCheckUtils]: 17: Hoare triple {2612#(or (not (< main_~v~0 0)) (<= (+ main_~x~0 1) main_~X~0))} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2612#(or (not (< main_~v~0 0)) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-27 12:04:01,449 INFO L290 TraceCheckUtils]: 16: Hoare triple {2612#(or (not (< main_~v~0 0)) (<= (+ main_~x~0 1) main_~X~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2612#(or (not (< main_~v~0 0)) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-27 12:04:01,450 INFO L290 TraceCheckUtils]: 15: Hoare triple {2640#(or (<= (+ main_~x~0 2) main_~X~0) (not (< main_~v~0 0)))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {2612#(or (not (< main_~v~0 0)) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-27 12:04:01,450 INFO L290 TraceCheckUtils]: 14: Hoare triple {2644#(or (<= (+ main_~x~0 2) main_~X~0) (<= (* main_~X~0 2) (+ main_~v~0 (* main_~Y~0 2))) (< main_~v~0 0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {2640#(or (<= (+ main_~x~0 2) main_~X~0) (not (< main_~v~0 0)))} is VALID [2022-04-27 12:04:01,451 INFO L290 TraceCheckUtils]: 13: Hoare triple {2644#(or (<= (+ main_~x~0 2) main_~X~0) (<= (* main_~X~0 2) (+ main_~v~0 (* main_~Y~0 2))) (< main_~v~0 0))} assume !!(~x~0 <= ~X~0); {2644#(or (<= (+ main_~x~0 2) main_~X~0) (<= (* main_~X~0 2) (+ main_~v~0 (* main_~Y~0 2))) (< main_~v~0 0))} is VALID [2022-04-27 12:04:01,451 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {2444#true} {2644#(or (<= (+ main_~x~0 2) main_~X~0) (<= (* main_~X~0 2) (+ main_~v~0 (* main_~Y~0 2))) (< main_~v~0 0))} #58#return; {2644#(or (<= (+ main_~x~0 2) main_~X~0) (<= (* main_~X~0 2) (+ main_~v~0 (* main_~Y~0 2))) (< main_~v~0 0))} is VALID [2022-04-27 12:04:01,451 INFO L290 TraceCheckUtils]: 11: Hoare triple {2444#true} assume true; {2444#true} is VALID [2022-04-27 12:04:01,451 INFO L290 TraceCheckUtils]: 10: Hoare triple {2444#true} assume !(0 == ~cond); {2444#true} is VALID [2022-04-27 12:04:01,451 INFO L290 TraceCheckUtils]: 9: Hoare triple {2444#true} ~cond := #in~cond; {2444#true} is VALID [2022-04-27 12:04:01,452 INFO L272 TraceCheckUtils]: 8: Hoare triple {2644#(or (<= (+ main_~x~0 2) main_~X~0) (<= (* main_~X~0 2) (+ main_~v~0 (* main_~Y~0 2))) (< main_~v~0 0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2444#true} is VALID [2022-04-27 12:04:01,452 INFO L290 TraceCheckUtils]: 7: Hoare triple {2644#(or (<= (+ main_~x~0 2) main_~X~0) (<= (* main_~X~0 2) (+ main_~v~0 (* main_~Y~0 2))) (< main_~v~0 0))} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2644#(or (<= (+ main_~x~0 2) main_~X~0) (<= (* main_~X~0 2) (+ main_~v~0 (* main_~Y~0 2))) (< main_~v~0 0))} is VALID [2022-04-27 12:04:01,452 INFO L290 TraceCheckUtils]: 6: Hoare triple {2644#(or (<= (+ main_~x~0 2) main_~X~0) (<= (* main_~X~0 2) (+ main_~v~0 (* main_~Y~0 2))) (< main_~v~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2644#(or (<= (+ main_~x~0 2) main_~X~0) (<= (* main_~X~0 2) (+ main_~v~0 (* main_~Y~0 2))) (< main_~v~0 0))} is VALID [2022-04-27 12:04:01,453 INFO L290 TraceCheckUtils]: 5: Hoare triple {2444#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {2644#(or (<= (+ main_~x~0 2) main_~X~0) (<= (* main_~X~0 2) (+ main_~v~0 (* main_~Y~0 2))) (< main_~v~0 0))} is VALID [2022-04-27 12:04:01,453 INFO L272 TraceCheckUtils]: 4: Hoare triple {2444#true} call #t~ret9 := main(); {2444#true} is VALID [2022-04-27 12:04:01,453 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2444#true} {2444#true} #62#return; {2444#true} is VALID [2022-04-27 12:04:01,453 INFO L290 TraceCheckUtils]: 2: Hoare triple {2444#true} assume true; {2444#true} is VALID [2022-04-27 12:04:01,453 INFO L290 TraceCheckUtils]: 1: Hoare triple {2444#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {2444#true} is VALID [2022-04-27 12:04:01,453 INFO L272 TraceCheckUtils]: 0: Hoare triple {2444#true} call ULTIMATE.init(); {2444#true} is VALID [2022-04-27 12:04:01,454 INFO L134 CoverageAnalysis]: Checked inductivity of 32 backedges. 6 proven. 14 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-27 12:04:01,454 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 12:04:01,454 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1639666366] [2022-04-27 12:04:01,454 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 12:04:01,454 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [225611325] [2022-04-27 12:04:01,454 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [225611325] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 12:04:01,454 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 12:04:01,454 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 12 [2022-04-27 12:04:01,454 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1804622316] [2022-04-27 12:04:01,454 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 12:04:01,455 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 3.0833333333333335) internal successors, (37), 12 states have internal predecessors, (37), 8 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Word has length 39 [2022-04-27 12:04:01,455 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 12:04:01,455 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 12 states have (on average 3.0833333333333335) internal successors, (37), 12 states have internal predecessors, (37), 8 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-27 12:04:01,498 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-27 12:04:01,498 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-27 12:04:01,498 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 12:04:01,499 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-27 12:04:01,499 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=34, Invalid=98, Unknown=0, NotChecked=0, Total=132 [2022-04-27 12:04:01,499 INFO L87 Difference]: Start difference. First operand 88 states and 104 transitions. Second operand has 12 states, 12 states have (on average 3.0833333333333335) internal successors, (37), 12 states have internal predecessors, (37), 8 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-27 12:04:01,822 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:04:01,822 INFO L93 Difference]: Finished difference Result 97 states and 113 transitions. [2022-04-27 12:04:01,822 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-27 12:04:01,822 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 3.0833333333333335) internal successors, (37), 12 states have internal predecessors, (37), 8 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Word has length 39 [2022-04-27 12:04:01,823 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 12:04:01,823 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 3.0833333333333335) internal successors, (37), 12 states have internal predecessors, (37), 8 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-27 12:04:01,824 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 54 transitions. [2022-04-27 12:04:01,824 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 3.0833333333333335) internal successors, (37), 12 states have internal predecessors, (37), 8 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-27 12:04:01,825 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 54 transitions. [2022-04-27 12:04:01,825 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 54 transitions. [2022-04-27 12:04:01,883 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-27 12:04:01,884 INFO L225 Difference]: With dead ends: 97 [2022-04-27 12:04:01,884 INFO L226 Difference]: Without dead ends: 91 [2022-04-27 12:04:01,885 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 81 GetRequests, 67 SyntacticMatches, 0 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 27 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=59, Invalid=181, Unknown=0, NotChecked=0, Total=240 [2022-04-27 12:04:01,885 INFO L413 NwaCegarLoop]: 26 mSDtfsCounter, 5 mSDsluCounter, 45 mSDsCounter, 0 mSdLazyCounter, 89 mSolverCounterSat, 13 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 5 SdHoareTripleChecker+Valid, 71 SdHoareTripleChecker+Invalid, 102 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 13 IncrementalHoareTripleChecker+Valid, 89 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 12:04:01,885 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [5 Valid, 71 Invalid, 102 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [13 Valid, 89 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 12:04:01,886 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 91 states. [2022-04-27 12:04:01,918 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 91 to 83. [2022-04-27 12:04:01,918 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 12:04:01,919 INFO L82 GeneralOperation]: Start isEquivalent. First operand 91 states. Second operand has 83 states, 66 states have (on average 1.1666666666666667) internal successors, (77), 66 states have internal predecessors, (77), 11 states have call successors, (11), 7 states have call predecessors, (11), 5 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-27 12:04:01,919 INFO L74 IsIncluded]: Start isIncluded. First operand 91 states. Second operand has 83 states, 66 states have (on average 1.1666666666666667) internal successors, (77), 66 states have internal predecessors, (77), 11 states have call successors, (11), 7 states have call predecessors, (11), 5 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-27 12:04:01,921 INFO L87 Difference]: Start difference. First operand 91 states. Second operand has 83 states, 66 states have (on average 1.1666666666666667) internal successors, (77), 66 states have internal predecessors, (77), 11 states have call successors, (11), 7 states have call predecessors, (11), 5 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-27 12:04:01,923 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:04:01,924 INFO L93 Difference]: Finished difference Result 91 states and 107 transitions. [2022-04-27 12:04:01,924 INFO L276 IsEmpty]: Start isEmpty. Operand 91 states and 107 transitions. [2022-04-27 12:04:01,924 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 12:04:01,924 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 12:04:01,924 INFO L74 IsIncluded]: Start isIncluded. First operand has 83 states, 66 states have (on average 1.1666666666666667) internal successors, (77), 66 states have internal predecessors, (77), 11 states have call successors, (11), 7 states have call predecessors, (11), 5 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 91 states. [2022-04-27 12:04:01,925 INFO L87 Difference]: Start difference. First operand has 83 states, 66 states have (on average 1.1666666666666667) internal successors, (77), 66 states have internal predecessors, (77), 11 states have call successors, (11), 7 states have call predecessors, (11), 5 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 91 states. [2022-04-27 12:04:01,927 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:04:01,927 INFO L93 Difference]: Finished difference Result 91 states and 107 transitions. [2022-04-27 12:04:01,927 INFO L276 IsEmpty]: Start isEmpty. Operand 91 states and 107 transitions. [2022-04-27 12:04:01,927 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 12:04:01,927 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 12:04:01,927 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 12:04:01,927 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 12:04:01,928 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 83 states, 66 states have (on average 1.1666666666666667) internal successors, (77), 66 states have internal predecessors, (77), 11 states have call successors, (11), 7 states have call predecessors, (11), 5 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-27 12:04:01,930 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 83 states to 83 states and 97 transitions. [2022-04-27 12:04:01,930 INFO L78 Accepts]: Start accepts. Automaton has 83 states and 97 transitions. Word has length 39 [2022-04-27 12:04:01,930 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 12:04:01,931 INFO L495 AbstractCegarLoop]: Abstraction has 83 states and 97 transitions. [2022-04-27 12:04:01,931 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 12 states have (on average 3.0833333333333335) internal successors, (37), 12 states have internal predecessors, (37), 8 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-27 12:04:01,931 INFO L276 IsEmpty]: Start isEmpty. Operand 83 states and 97 transitions. [2022-04-27 12:04:01,933 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 50 [2022-04-27 12:04:01,933 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 12:04:01,933 INFO L195 NwaCegarLoop]: trace histogram [5, 4, 4, 4, 4, 4, 4, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 12:04:01,951 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-27 12:04:02,150 WARN L477 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-27 12:04:02,151 INFO L420 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 12:04:02,151 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 12:04:02,151 INFO L85 PathProgramCache]: Analyzing trace with hash 736401910, now seen corresponding path program 2 times [2022-04-27 12:04:02,151 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 12:04:02,151 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [177256476] [2022-04-27 12:04:02,151 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 12:04:02,151 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 12:04:02,165 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 12:04:02,165 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [534688788] [2022-04-27 12:04:02,165 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-27 12:04:02,165 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 12:04:02,165 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 12:04:02,167 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-27 12:04:02,168 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-27 12:04:02,208 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-27 12:04:02,208 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 12:04:02,209 INFO L263 TraceCheckSpWp]: Trace formula consists of 167 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-27 12:04:02,225 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 12:04:02,227 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 12:04:03,099 INFO L272 TraceCheckUtils]: 0: Hoare triple {3121#true} call ULTIMATE.init(); {3121#true} is VALID [2022-04-27 12:04:03,100 INFO L290 TraceCheckUtils]: 1: Hoare triple {3121#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {3121#true} is VALID [2022-04-27 12:04:03,100 INFO L290 TraceCheckUtils]: 2: Hoare triple {3121#true} assume true; {3121#true} is VALID [2022-04-27 12:04:03,100 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3121#true} {3121#true} #62#return; {3121#true} is VALID [2022-04-27 12:04:03,100 INFO L272 TraceCheckUtils]: 4: Hoare triple {3121#true} call #t~ret9 := main(); {3121#true} is VALID [2022-04-27 12:04:03,100 INFO L290 TraceCheckUtils]: 5: Hoare triple {3121#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {3141#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} is VALID [2022-04-27 12:04:03,101 INFO L290 TraceCheckUtils]: 6: Hoare triple {3141#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3141#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} is VALID [2022-04-27 12:04:03,101 INFO L290 TraceCheckUtils]: 7: Hoare triple {3141#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3141#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} is VALID [2022-04-27 12:04:03,101 INFO L272 TraceCheckUtils]: 8: Hoare triple {3141#(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)); {3121#true} is VALID [2022-04-27 12:04:03,101 INFO L290 TraceCheckUtils]: 9: Hoare triple {3121#true} ~cond := #in~cond; {3121#true} is VALID [2022-04-27 12:04:03,101 INFO L290 TraceCheckUtils]: 10: Hoare triple {3121#true} assume !(0 == ~cond); {3121#true} is VALID [2022-04-27 12:04:03,101 INFO L290 TraceCheckUtils]: 11: Hoare triple {3121#true} assume true; {3121#true} is VALID [2022-04-27 12:04:03,111 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {3121#true} {3141#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} #58#return; {3141#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} is VALID [2022-04-27 12:04:03,111 INFO L290 TraceCheckUtils]: 13: Hoare triple {3141#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} assume !!(~x~0 <= ~X~0); {3141#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} is VALID [2022-04-27 12:04:03,112 INFO L290 TraceCheckUtils]: 14: Hoare triple {3141#(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; {3169#(and (<= main_~x~0 0) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} is VALID [2022-04-27 12:04:03,113 INFO L290 TraceCheckUtils]: 15: Hoare triple {3169#(and (<= main_~x~0 0) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {3173#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} is VALID [2022-04-27 12:04:03,113 INFO L290 TraceCheckUtils]: 16: Hoare triple {3173#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3173#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} is VALID [2022-04-27 12:04:03,114 INFO L290 TraceCheckUtils]: 17: Hoare triple {3173#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3173#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} is VALID [2022-04-27 12:04:03,114 INFO L272 TraceCheckUtils]: 18: Hoare triple {3173#(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)); {3121#true} is VALID [2022-04-27 12:04:03,114 INFO L290 TraceCheckUtils]: 19: Hoare triple {3121#true} ~cond := #in~cond; {3121#true} is VALID [2022-04-27 12:04:03,114 INFO L290 TraceCheckUtils]: 20: Hoare triple {3121#true} assume !(0 == ~cond); {3121#true} is VALID [2022-04-27 12:04:03,114 INFO L290 TraceCheckUtils]: 21: Hoare triple {3121#true} assume true; {3121#true} is VALID [2022-04-27 12:04:03,116 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {3121#true} {3173#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} #58#return; {3173#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} is VALID [2022-04-27 12:04:03,116 INFO L290 TraceCheckUtils]: 23: Hoare triple {3173#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} assume !!(~x~0 <= ~X~0); {3173#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} is VALID [2022-04-27 12:04:03,117 INFO L290 TraceCheckUtils]: 24: Hoare triple {3173#(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~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {3201#(and (<= main_~x~0 1) (< 0 (div (+ (- 1) main_~X~0) 2)))} is VALID [2022-04-27 12:04:03,118 INFO L290 TraceCheckUtils]: 25: Hoare triple {3201#(and (<= main_~x~0 1) (< 0 (div (+ (- 1) main_~X~0) 2)))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {3205#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} is VALID [2022-04-27 12:04:03,118 INFO L290 TraceCheckUtils]: 26: Hoare triple {3205#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3205#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} is VALID [2022-04-27 12:04:03,118 INFO L290 TraceCheckUtils]: 27: Hoare triple {3205#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3205#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} is VALID [2022-04-27 12:04:03,118 INFO L272 TraceCheckUtils]: 28: Hoare triple {3205#(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)); {3121#true} is VALID [2022-04-27 12:04:03,119 INFO L290 TraceCheckUtils]: 29: Hoare triple {3121#true} ~cond := #in~cond; {3121#true} is VALID [2022-04-27 12:04:03,119 INFO L290 TraceCheckUtils]: 30: Hoare triple {3121#true} assume !(0 == ~cond); {3121#true} is VALID [2022-04-27 12:04:03,119 INFO L290 TraceCheckUtils]: 31: Hoare triple {3121#true} assume true; {3121#true} is VALID [2022-04-27 12:04:03,120 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {3121#true} {3205#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} #58#return; {3205#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} is VALID [2022-04-27 12:04:03,121 INFO L290 TraceCheckUtils]: 33: Hoare triple {3205#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} assume !!(~x~0 <= ~X~0); {3205#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} is VALID [2022-04-27 12:04:03,121 INFO L290 TraceCheckUtils]: 34: Hoare triple {3205#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {3205#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} is VALID [2022-04-27 12:04:03,123 INFO L290 TraceCheckUtils]: 35: Hoare triple {3205#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {3236#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 2)))} is VALID [2022-04-27 12:04:03,123 INFO L290 TraceCheckUtils]: 36: Hoare triple {3236#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 2)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3236#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 2)))} is VALID [2022-04-27 12:04:03,125 INFO L290 TraceCheckUtils]: 37: Hoare triple {3236#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 2)))} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3236#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 2)))} is VALID [2022-04-27 12:04:03,126 INFO L272 TraceCheckUtils]: 38: Hoare triple {3236#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 2)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {3121#true} is VALID [2022-04-27 12:04:03,126 INFO L290 TraceCheckUtils]: 39: Hoare triple {3121#true} ~cond := #in~cond; {3121#true} is VALID [2022-04-27 12:04:03,126 INFO L290 TraceCheckUtils]: 40: Hoare triple {3121#true} assume !(0 == ~cond); {3121#true} is VALID [2022-04-27 12:04:03,126 INFO L290 TraceCheckUtils]: 41: Hoare triple {3121#true} assume true; {3121#true} is VALID [2022-04-27 12:04:03,127 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {3121#true} {3236#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 2)))} #58#return; {3236#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 2)))} is VALID [2022-04-27 12:04:03,127 INFO L290 TraceCheckUtils]: 43: Hoare triple {3236#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 2)))} assume !(~x~0 <= ~X~0); {3122#false} is VALID [2022-04-27 12:04:03,127 INFO L290 TraceCheckUtils]: 44: Hoare triple {3122#false} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {3122#false} is VALID [2022-04-27 12:04:03,127 INFO L272 TraceCheckUtils]: 45: Hoare triple {3122#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)); {3122#false} is VALID [2022-04-27 12:04:03,128 INFO L290 TraceCheckUtils]: 46: Hoare triple {3122#false} ~cond := #in~cond; {3122#false} is VALID [2022-04-27 12:04:03,128 INFO L290 TraceCheckUtils]: 47: Hoare triple {3122#false} assume 0 == ~cond; {3122#false} is VALID [2022-04-27 12:04:03,128 INFO L290 TraceCheckUtils]: 48: Hoare triple {3122#false} assume !false; {3122#false} is VALID [2022-04-27 12:04:03,128 INFO L134 CoverageAnalysis]: Checked inductivity of 62 backedges. 8 proven. 30 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-27 12:04:03,128 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 12:04:03,467 INFO L290 TraceCheckUtils]: 48: Hoare triple {3122#false} assume !false; {3122#false} is VALID [2022-04-27 12:04:03,467 INFO L290 TraceCheckUtils]: 47: Hoare triple {3122#false} assume 0 == ~cond; {3122#false} is VALID [2022-04-27 12:04:03,468 INFO L290 TraceCheckUtils]: 46: Hoare triple {3122#false} ~cond := #in~cond; {3122#false} is VALID [2022-04-27 12:04:03,468 INFO L272 TraceCheckUtils]: 45: Hoare triple {3122#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)); {3122#false} is VALID [2022-04-27 12:04:03,468 INFO L290 TraceCheckUtils]: 44: Hoare triple {3122#false} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {3122#false} is VALID [2022-04-27 12:04:03,468 INFO L290 TraceCheckUtils]: 43: Hoare triple {3291#(<= main_~x~0 main_~X~0)} assume !(~x~0 <= ~X~0); {3122#false} is VALID [2022-04-27 12:04:03,468 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {3121#true} {3291#(<= main_~x~0 main_~X~0)} #58#return; {3291#(<= main_~x~0 main_~X~0)} is VALID [2022-04-27 12:04:03,468 INFO L290 TraceCheckUtils]: 41: Hoare triple {3121#true} assume true; {3121#true} is VALID [2022-04-27 12:04:03,469 INFO L290 TraceCheckUtils]: 40: Hoare triple {3121#true} assume !(0 == ~cond); {3121#true} is VALID [2022-04-27 12:04:03,469 INFO L290 TraceCheckUtils]: 39: Hoare triple {3121#true} ~cond := #in~cond; {3121#true} is VALID [2022-04-27 12:04:03,469 INFO L272 TraceCheckUtils]: 38: Hoare triple {3291#(<= 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)); {3121#true} is VALID [2022-04-27 12:04:03,469 INFO L290 TraceCheckUtils]: 37: Hoare triple {3291#(<= main_~x~0 main_~X~0)} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3291#(<= main_~x~0 main_~X~0)} is VALID [2022-04-27 12:04:03,469 INFO L290 TraceCheckUtils]: 36: Hoare triple {3291#(<= main_~x~0 main_~X~0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3291#(<= main_~x~0 main_~X~0)} is VALID [2022-04-27 12:04:03,470 INFO L290 TraceCheckUtils]: 35: Hoare triple {3316#(<= (+ main_~x~0 1) main_~X~0)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {3291#(<= main_~x~0 main_~X~0)} is VALID [2022-04-27 12:04:03,470 INFO L290 TraceCheckUtils]: 34: Hoare triple {3316#(<= (+ main_~x~0 1) main_~X~0)} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {3316#(<= (+ main_~x~0 1) main_~X~0)} is VALID [2022-04-27 12:04:03,470 INFO L290 TraceCheckUtils]: 33: Hoare triple {3316#(<= (+ main_~x~0 1) main_~X~0)} assume !!(~x~0 <= ~X~0); {3316#(<= (+ main_~x~0 1) main_~X~0)} is VALID [2022-04-27 12:04:03,471 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {3121#true} {3316#(<= (+ main_~x~0 1) main_~X~0)} #58#return; {3316#(<= (+ main_~x~0 1) main_~X~0)} is VALID [2022-04-27 12:04:03,471 INFO L290 TraceCheckUtils]: 31: Hoare triple {3121#true} assume true; {3121#true} is VALID [2022-04-27 12:04:03,471 INFO L290 TraceCheckUtils]: 30: Hoare triple {3121#true} assume !(0 == ~cond); {3121#true} is VALID [2022-04-27 12:04:03,471 INFO L290 TraceCheckUtils]: 29: Hoare triple {3121#true} ~cond := #in~cond; {3121#true} is VALID [2022-04-27 12:04:03,471 INFO L272 TraceCheckUtils]: 28: Hoare triple {3316#(<= (+ 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)); {3121#true} is VALID [2022-04-27 12:04:03,471 INFO L290 TraceCheckUtils]: 27: Hoare triple {3316#(<= (+ main_~x~0 1) main_~X~0)} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3316#(<= (+ main_~x~0 1) main_~X~0)} is VALID [2022-04-27 12:04:03,472 INFO L290 TraceCheckUtils]: 26: Hoare triple {3316#(<= (+ main_~x~0 1) main_~X~0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3316#(<= (+ main_~x~0 1) main_~X~0)} is VALID [2022-04-27 12:04:03,472 INFO L290 TraceCheckUtils]: 25: Hoare triple {3347#(<= (+ main_~x~0 2) main_~X~0)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {3316#(<= (+ main_~x~0 1) main_~X~0)} is VALID [2022-04-27 12:04:03,472 INFO L290 TraceCheckUtils]: 24: Hoare triple {3351#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {3347#(<= (+ main_~x~0 2) main_~X~0)} is VALID [2022-04-27 12:04:03,473 INFO L290 TraceCheckUtils]: 23: Hoare triple {3351#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} assume !!(~x~0 <= ~X~0); {3351#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} is VALID [2022-04-27 12:04:03,473 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {3121#true} {3351#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} #58#return; {3351#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} is VALID [2022-04-27 12:04:03,473 INFO L290 TraceCheckUtils]: 21: Hoare triple {3121#true} assume true; {3121#true} is VALID [2022-04-27 12:04:03,473 INFO L290 TraceCheckUtils]: 20: Hoare triple {3121#true} assume !(0 == ~cond); {3121#true} is VALID [2022-04-27 12:04:03,474 INFO L290 TraceCheckUtils]: 19: Hoare triple {3121#true} ~cond := #in~cond; {3121#true} is VALID [2022-04-27 12:04:03,474 INFO L272 TraceCheckUtils]: 18: Hoare triple {3351#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {3121#true} is VALID [2022-04-27 12:04:03,474 INFO L290 TraceCheckUtils]: 17: Hoare triple {3351#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3351#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} is VALID [2022-04-27 12:04:03,475 INFO L290 TraceCheckUtils]: 16: Hoare triple {3351#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3351#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} is VALID [2022-04-27 12:04:03,475 INFO L290 TraceCheckUtils]: 15: Hoare triple {3379#(or (< main_~v~0 0) (<= (+ main_~x~0 3) main_~X~0))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {3351#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} is VALID [2022-04-27 12:04:03,476 INFO L290 TraceCheckUtils]: 14: Hoare triple {3383#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {3379#(or (< main_~v~0 0) (<= (+ main_~x~0 3) main_~X~0))} is VALID [2022-04-27 12:04:03,476 INFO L290 TraceCheckUtils]: 13: Hoare triple {3383#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} assume !!(~x~0 <= ~X~0); {3383#(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-27 12:04:03,477 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {3121#true} {3383#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} #58#return; {3383#(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-27 12:04:03,477 INFO L290 TraceCheckUtils]: 11: Hoare triple {3121#true} assume true; {3121#true} is VALID [2022-04-27 12:04:03,477 INFO L290 TraceCheckUtils]: 10: Hoare triple {3121#true} assume !(0 == ~cond); {3121#true} is VALID [2022-04-27 12:04:03,477 INFO L290 TraceCheckUtils]: 9: Hoare triple {3121#true} ~cond := #in~cond; {3121#true} is VALID [2022-04-27 12:04:03,477 INFO L272 TraceCheckUtils]: 8: Hoare triple {3383#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {3121#true} is VALID [2022-04-27 12:04:03,477 INFO L290 TraceCheckUtils]: 7: Hoare triple {3383#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} assume !!(#t~post6 < 20);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3383#(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-27 12:04:03,478 INFO L290 TraceCheckUtils]: 6: Hoare triple {3383#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3383#(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-27 12:04:03,478 INFO L290 TraceCheckUtils]: 5: Hoare triple {3121#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {3383#(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-27 12:04:03,478 INFO L272 TraceCheckUtils]: 4: Hoare triple {3121#true} call #t~ret9 := main(); {3121#true} is VALID [2022-04-27 12:04:03,478 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3121#true} {3121#true} #62#return; {3121#true} is VALID [2022-04-27 12:04:03,478 INFO L290 TraceCheckUtils]: 2: Hoare triple {3121#true} assume true; {3121#true} is VALID [2022-04-27 12:04:03,479 INFO L290 TraceCheckUtils]: 1: Hoare triple {3121#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(15, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {3121#true} is VALID [2022-04-27 12:04:03,479 INFO L272 TraceCheckUtils]: 0: Hoare triple {3121#true} call ULTIMATE.init(); {3121#true} is VALID [2022-04-27 12:04:03,479 INFO L134 CoverageAnalysis]: Checked inductivity of 62 backedges. 8 proven. 30 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-27 12:04:03,479 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 12:04:03,479 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [177256476] [2022-04-27 12:04:03,479 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 12:04:03,479 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [534688788] [2022-04-27 12:04:03,479 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [534688788] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 12:04:03,479 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 12:04:03,479 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 14 [2022-04-27 12:04:03,479 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [234482716] [2022-04-27 12:04:03,479 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 12:04:03,480 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 3.357142857142857) internal successors, (47), 14 states have internal predecessors, (47), 10 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Word has length 49 [2022-04-27 12:04:03,480 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 12:04:03,480 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 14 states, 14 states have (on average 3.357142857142857) internal successors, (47), 14 states have internal predecessors, (47), 10 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-27 12:04:03,528 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 67 edges. 67 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 12:04:03,528 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-27 12:04:03,528 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 12:04:03,528 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-27 12:04:03,528 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=45, Invalid=137, Unknown=0, NotChecked=0, Total=182 [2022-04-27 12:04:03,529 INFO L87 Difference]: Start difference. First operand 83 states and 97 transitions. Second operand has 14 states, 14 states have (on average 3.357142857142857) internal successors, (47), 14 states have internal predecessors, (47), 10 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-27 12:04:04,087 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:04:04,087 INFO L93 Difference]: Finished difference Result 108 states and 127 transitions. [2022-04-27 12:04:04,087 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-27 12:04:04,087 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 3.357142857142857) internal successors, (47), 14 states have internal predecessors, (47), 10 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Word has length 49 [2022-04-27 12:04:04,087 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 12:04:04,088 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 3.357142857142857) internal successors, (47), 14 states have internal predecessors, (47), 10 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-27 12:04:04,089 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 61 transitions. [2022-04-27 12:04:04,089 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 3.357142857142857) internal successors, (47), 14 states have internal predecessors, (47), 10 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-27 12:04:04,090 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 61 transitions. [2022-04-27 12:04:04,090 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 61 transitions. [2022-04-27 12:04:04,141 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-27 12:04:04,143 INFO L225 Difference]: With dead ends: 108 [2022-04-27 12:04:04,143 INFO L226 Difference]: Without dead ends: 102 [2022-04-27 12:04:04,143 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 100 GetRequests, 85 SyntacticMatches, 0 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 41 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=64, Invalid=208, Unknown=0, NotChecked=0, Total=272 [2022-04-27 12:04:04,144 INFO L413 NwaCegarLoop]: 27 mSDtfsCounter, 10 mSDsluCounter, 117 mSDsCounter, 0 mSdLazyCounter, 180 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 10 SdHoareTripleChecker+Valid, 144 SdHoareTripleChecker+Invalid, 191 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 180 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-27 12:04:04,144 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [10 Valid, 144 Invalid, 191 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 180 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-27 12:04:04,144 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 102 states. [2022-04-27 12:04:04,181 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 102 to 89. [2022-04-27 12:04:04,181 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 12:04:04,181 INFO L82 GeneralOperation]: Start isEquivalent. First operand 102 states. Second operand has 89 states, 71 states have (on average 1.1690140845070423) internal successors, (83), 71 states have internal predecessors, (83), 12 states have call successors, (12), 7 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-27 12:04:04,182 INFO L74 IsIncluded]: Start isIncluded. First operand 102 states. Second operand has 89 states, 71 states have (on average 1.1690140845070423) internal successors, (83), 71 states have internal predecessors, (83), 12 states have call successors, (12), 7 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-27 12:04:04,182 INFO L87 Difference]: Start difference. First operand 102 states. Second operand has 89 states, 71 states have (on average 1.1690140845070423) internal successors, (83), 71 states have internal predecessors, (83), 12 states have call successors, (12), 7 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-27 12:04:04,185 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:04:04,185 INFO L93 Difference]: Finished difference Result 102 states and 121 transitions. [2022-04-27 12:04:04,185 INFO L276 IsEmpty]: Start isEmpty. Operand 102 states and 121 transitions. [2022-04-27 12:04:04,185 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 12:04:04,185 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 12:04:04,186 INFO L74 IsIncluded]: Start isIncluded. First operand has 89 states, 71 states have (on average 1.1690140845070423) internal successors, (83), 71 states have internal predecessors, (83), 12 states have call successors, (12), 7 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 102 states. [2022-04-27 12:04:04,186 INFO L87 Difference]: Start difference. First operand has 89 states, 71 states have (on average 1.1690140845070423) internal successors, (83), 71 states have internal predecessors, (83), 12 states have call successors, (12), 7 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 102 states. [2022-04-27 12:04:04,188 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:04:04,188 INFO L93 Difference]: Finished difference Result 102 states and 121 transitions. [2022-04-27 12:04:04,188 INFO L276 IsEmpty]: Start isEmpty. Operand 102 states and 121 transitions. [2022-04-27 12:04:04,188 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 12:04:04,188 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 12:04:04,188 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 12:04:04,188 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 12:04:04,189 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 89 states, 71 states have (on average 1.1690140845070423) internal successors, (83), 71 states have internal predecessors, (83), 12 states have call successors, (12), 7 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-27 12:04:04,190 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 89 states to 89 states and 105 transitions. [2022-04-27 12:04:04,191 INFO L78 Accepts]: Start accepts. Automaton has 89 states and 105 transitions. Word has length 49 [2022-04-27 12:04:04,191 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 12:04:04,191 INFO L495 AbstractCegarLoop]: Abstraction has 89 states and 105 transitions. [2022-04-27 12:04:04,191 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 14 states have (on average 3.357142857142857) internal successors, (47), 14 states have internal predecessors, (47), 10 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-27 12:04:04,191 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 105 transitions. [2022-04-27 12:04:04,192 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 50 [2022-04-27 12:04:04,192 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 12:04:04,192 INFO L195 NwaCegarLoop]: trace histogram [5, 4, 4, 4, 4, 4, 4, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 12:04:04,209 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-27 12:04:04,399 WARN L477 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-27 12:04:04,399 INFO L420 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 12:04:04,400 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 12:04:04,400 INFO L85 PathProgramCache]: Analyzing trace with hash -248152202, now seen corresponding path program 3 times [2022-04-27 12:04:04,400 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 12:04:04,400 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1793136518] [2022-04-27 12:04:04,400 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 12:04:04,400 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 12:04:04,419 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 12:04:04,420 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1583294357] [2022-04-27 12:04:04,420 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-04-27 12:04:04,420 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 12:04:04,420 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 12:04:04,422 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-27 12:04:04,423 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-27 12:04:05,007 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 2 check-sat command(s) [2022-04-27 12:04:05,007 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 12:04:05,009 INFO L263 TraceCheckSpWp]: Trace formula consists of 117 conjuncts, 19 conjunts are in the unsatisfiable core [2022-04-27 12:04:05,025 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 12:04:05,026 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 12:04:20,054 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-27 12:04:26,688 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-27 12:04:29,795 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-27 12:04:35,896 WARN L833 $PredicateComparison]: unable to prove that (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))) is different from false [2022-04-27 12:12:42,939 WARN L833 $PredicateComparison]: unable to prove that (or (and (<= 0 |c___VERIFIER_assert_#in~cond|) (exists ((v_main_~v~0_BEFORE_CALL_22 Int) (aux_div_aux_mod_aux_mod_v_main_~X~0_BEFORE_CALL_31_65_93_115 Int) (aux_mod_aux_mod_aux_mod_aux_mod_v_main_~X~0_BEFORE_CALL_31_65_93_115_139 Int) (aux_div_aux_mod_aux_mod_aux_mod_v_main_~X~0_BEFORE_CALL_31_65_93_115_139 Int) (aux_div_v_main_~X~0_BEFORE_CALL_31_65 Int) (v_main_~y~0_BEFORE_CALL_15 Int) (v_main_~Y~0_BEFORE_CALL_21 Int) (aux_div_aux_mod_v_main_~X~0_BEFORE_CALL_31_65_93 Int)) (let ((.cse8 (* 2 aux_div_aux_mod_aux_mod_aux_mod_v_main_~X~0_BEFORE_CALL_31_65_93_115_139))) (let ((.cse0 (* 2 aux_div_aux_mod_aux_mod_v_main_~X~0_BEFORE_CALL_31_65_93_115)) (.cse3 (+ .cse8 (* (- 1) v_main_~v~0_BEFORE_CALL_22) aux_mod_aux_mod_aux_mod_aux_mod_v_main_~X~0_BEFORE_CALL_31_65_93_115_139)) (.cse4 (* (- 1) v_main_~Y~0_BEFORE_CALL_21)) (.cse5 (* 2 v_main_~y~0_BEFORE_CALL_15 aux_div_aux_mod_aux_mod_aux_mod_v_main_~X~0_BEFORE_CALL_31_65_93_115_139)) (.cse6 (* v_main_~y~0_BEFORE_CALL_15 aux_mod_aux_mod_aux_mod_aux_mod_v_main_~X~0_BEFORE_CALL_31_65_93_115_139)) (.cse7 (* (- 1) v_main_~v~0_BEFORE_CALL_22 v_main_~y~0_BEFORE_CALL_15)) (.cse2 (* 2 aux_div_aux_mod_v_main_~X~0_BEFORE_CALL_31_65_93)) (.cse1 (+ .cse8 aux_mod_aux_mod_aux_mod_aux_mod_v_main_~X~0_BEFORE_CALL_31_65_93_115_139)) (.cse10 (* 2 aux_div_v_main_~X~0_BEFORE_CALL_31_65))) (and (<= .cse0 .cse1) (<= .cse2 .cse1) (< aux_mod_aux_mod_aux_mod_aux_mod_v_main_~X~0_BEFORE_CALL_31_65_93_115_139 2) (= (mod (+ aux_mod_aux_mod_aux_mod_aux_mod_v_main_~X~0_BEFORE_CALL_31_65_93_115_139 (* .cse3 2 v_main_~y~0_BEFORE_CALL_15)) 2) 0) (< .cse1 (+ 2 .cse0)) (< .cse1 (+ v_main_~v~0_BEFORE_CALL_22 (div (+ .cse4 .cse5 .cse6 .cse7 aux_div_aux_mod_v_main_~X~0_BEFORE_CALL_31_65_93) v_main_~Y~0_BEFORE_CALL_21))) (not (let ((.cse9 (div (+ .cse4 (* 2 aux_div_aux_mod_aux_mod_v_main_~X~0_BEFORE_CALL_31_65_93_115 v_main_~y~0_BEFORE_CALL_15) (* v_main_~y~0_BEFORE_CALL_15 (+ .cse8 (* (- 2) aux_div_aux_mod_aux_mod_v_main_~X~0_BEFORE_CALL_31_65_93_115) aux_mod_aux_mod_aux_mod_aux_mod_v_main_~X~0_BEFORE_CALL_31_65_93_115_139)) aux_div_aux_mod_aux_mod_aux_mod_v_main_~X~0_BEFORE_CALL_31_65_93_115_139 .cse7) v_main_~Y~0_BEFORE_CALL_21))) (= (+ .cse8 (* (* .cse9 v_main_~y~0_BEFORE_CALL_15) 2) aux_mod_aux_mod_aux_mod_aux_mod_v_main_~X~0_BEFORE_CALL_31_65_93_115_139) (+ (* 2 v_main_~y~0_BEFORE_CALL_15) (* 2 v_main_~Y~0_BEFORE_CALL_21) (* 2 (* .cse9 v_main_~Y~0_BEFORE_CALL_21)))))) (not (= v_main_~Y~0_BEFORE_CALL_21 0)) (<= .cse10 .cse1) (<= 0 aux_mod_aux_mod_aux_mod_aux_mod_v_main_~X~0_BEFORE_CALL_31_65_93_115_139) (= (mod (+ .cse4 (* .cse3 v_main_~y~0_BEFORE_CALL_15) aux_div_v_main_~X~0_BEFORE_CALL_31_65) v_main_~Y~0_BEFORE_CALL_21) 0) (<= (+ v_main_~v~0_BEFORE_CALL_22 (div (+ .cse4 .cse5 .cse6 aux_div_aux_mod_aux_mod_v_main_~X~0_BEFORE_CALL_31_65_93_115 .cse7) v_main_~Y~0_BEFORE_CALL_21)) (+ .cse8 aux_mod_aux_mod_aux_mod_aux_mod_v_main_~X~0_BEFORE_CALL_31_65_93_115_139 1)) (< .cse1 (+ 2 .cse2)) (< .cse1 (+ 2 .cse10))))))) (<= 1 |c___VERIFIER_assert_#in~cond|)) is different from false