/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/egcd3-ll_valuebound2.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-fb4f59a-m [2022-04-27 13:08:59,938 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-27 13:08:59,940 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-27 13:08:59,964 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-27 13:08:59,964 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-27 13:08:59,965 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-27 13:08:59,969 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-27 13:08:59,974 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-27 13:08:59,974 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-27 13:08:59,975 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-27 13:08:59,975 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-27 13:08:59,976 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-27 13:08:59,976 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-27 13:08:59,977 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-27 13:08:59,977 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-27 13:08:59,978 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-27 13:08:59,978 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-27 13:08:59,979 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-27 13:08:59,980 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-27 13:08:59,981 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-27 13:08:59,982 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-27 13:08:59,993 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-27 13:08:59,994 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-27 13:08:59,994 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-27 13:08:59,995 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-27 13:08:59,998 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-27 13:08:59,998 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-27 13:08:59,998 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-27 13:08:59,999 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-27 13:08:59,999 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-27 13:09:00,000 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-27 13:09:00,000 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-27 13:09:00,000 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-27 13:09:00,001 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-27 13:09:00,001 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-27 13:09:00,002 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-27 13:09:00,002 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-27 13:09:00,002 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-27 13:09:00,002 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-27 13:09:00,003 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-27 13:09:00,003 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-27 13:09:00,008 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-27 13:09:00,009 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 13:09:00,037 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-27 13:09:00,037 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-27 13:09:00,037 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-04-27 13:09:00,037 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-04-27 13:09:00,038 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-04-27 13:09:00,038 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-04-27 13:09:00,038 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-04-27 13:09:00,038 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-04-27 13:09:00,039 INFO L138 SettingsManager]: * Use SBE=true [2022-04-27 13:09:00,039 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-27 13:09:00,039 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-27 13:09:00,039 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-27 13:09:00,039 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-27 13:09:00,039 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-27 13:09:00,039 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-27 13:09:00,039 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-27 13:09:00,040 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-27 13:09:00,040 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-27 13:09:00,040 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-27 13:09:00,040 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-27 13:09:00,040 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-27 13:09:00,040 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-27 13:09:00,040 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-27 13:09:00,040 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-27 13:09:00,040 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-27 13:09:00,041 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-27 13:09:00,041 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-04-27 13:09:00,041 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-04-27 13:09:00,041 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-04-27 13:09:00,041 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-04-27 13:09:00,041 INFO L138 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2022-04-27 13:09:00,041 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2022-04-27 13:09:00,041 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-27 13:09:00,041 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 13:09:00,183 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-27 13:09:00,196 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-27 13:09:00,198 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-27 13:09:00,198 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-27 13:09:00,199 INFO L275 PluginConnector]: CDTParser initialized [2022-04-27 13:09:00,200 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/egcd3-ll_valuebound2.c [2022-04-27 13:09:00,234 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/439f76e26/f9a08fc15e2a4e3cb0780f647698f955/FLAG5ff2e60e7 [2022-04-27 13:09:00,594 INFO L306 CDTParser]: Found 1 translation units. [2022-04-27 13:09:00,595 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/egcd3-ll_valuebound2.c [2022-04-27 13:09:00,599 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/439f76e26/f9a08fc15e2a4e3cb0780f647698f955/FLAG5ff2e60e7 [2022-04-27 13:09:01,032 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/439f76e26/f9a08fc15e2a4e3cb0780f647698f955 [2022-04-27 13:09:01,036 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-27 13:09:01,037 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-27 13:09:01,037 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-27 13:09:01,037 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-27 13:09:01,043 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-27 13:09:01,043 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 27.04 01:09:01" (1/1) ... [2022-04-27 13:09:01,044 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@7513e85 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:09:01, skipping insertion in model container [2022-04-27 13:09:01,044 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 27.04 01:09:01" (1/1) ... [2022-04-27 13:09:01,048 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-27 13:09:01,057 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-27 13:09:01,159 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/egcd3-ll_valuebound2.c[490,503] [2022-04-27 13:09:01,172 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-27 13:09:01,177 INFO L203 MainTranslator]: Completed pre-run [2022-04-27 13:09:01,185 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/egcd3-ll_valuebound2.c[490,503] [2022-04-27 13:09:01,192 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-27 13:09:01,200 INFO L208 MainTranslator]: Completed translation [2022-04-27 13:09:01,200 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:09:01 WrapperNode [2022-04-27 13:09:01,200 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-27 13:09:01,201 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-27 13:09:01,201 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-27 13:09:01,201 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-27 13:09:01,208 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:09:01" (1/1) ... [2022-04-27 13:09:01,208 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:09:01" (1/1) ... [2022-04-27 13:09:01,212 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:09:01" (1/1) ... [2022-04-27 13:09:01,212 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:09:01" (1/1) ... [2022-04-27 13:09:01,216 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:09:01" (1/1) ... [2022-04-27 13:09:01,219 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:09:01" (1/1) ... [2022-04-27 13:09:01,220 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:09:01" (1/1) ... [2022-04-27 13:09:01,221 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-27 13:09:01,222 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-27 13:09:01,222 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-27 13:09:01,222 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-27 13:09:01,222 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:09:01" (1/1) ... [2022-04-27 13:09:01,227 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-27 13:09:01,237 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:09:01,246 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 13:09:01,251 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 13:09:01,277 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-27 13:09:01,277 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-27 13:09:01,277 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-27 13:09:01,278 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-27 13:09:01,280 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-27 13:09:01,280 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-27 13:09:01,280 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-27 13:09:01,280 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-27 13:09:01,280 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-27 13:09:01,280 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-27 13:09:01,280 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-27 13:09:01,280 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-27 13:09:01,280 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-27 13:09:01,281 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-27 13:09:01,281 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-27 13:09:01,281 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-27 13:09:01,281 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-27 13:09:01,281 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-27 13:09:01,281 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-27 13:09:01,281 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-27 13:09:01,324 INFO L234 CfgBuilder]: Building ICFG [2022-04-27 13:09:01,325 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-27 13:09:01,498 INFO L275 CfgBuilder]: Performing block encoding [2022-04-27 13:09:01,503 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-27 13:09:01,503 INFO L299 CfgBuilder]: Removed 3 assume(true) statements. [2022-04-27 13:09:01,504 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 27.04 01:09:01 BoogieIcfgContainer [2022-04-27 13:09:01,504 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-27 13:09:01,505 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-27 13:09:01,505 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-27 13:09:01,507 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-27 13:09:01,507 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 27.04 01:09:01" (1/3) ... [2022-04-27 13:09:01,508 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@3397a87a and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 27.04 01:09:01, skipping insertion in model container [2022-04-27 13:09:01,508 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:09:01" (2/3) ... [2022-04-27 13:09:01,508 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@3397a87a and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 27.04 01:09:01, skipping insertion in model container [2022-04-27 13:09:01,508 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 27.04 01:09:01" (3/3) ... [2022-04-27 13:09:01,509 INFO L111 eAbstractionObserver]: Analyzing ICFG egcd3-ll_valuebound2.c [2022-04-27 13:09:01,517 INFO L201 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-04-27 13:09:01,517 INFO L160 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-27 13:09:01,545 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-27 13:09:01,549 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@1337fbc7, mLbeIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@4aff635e [2022-04-27 13:09:01,549 INFO L358 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-27 13:09:01,555 INFO L276 IsEmpty]: Start isEmpty. Operand has 40 states, 23 states have (on average 1.5217391304347827) internal successors, (35), 24 states have internal predecessors, (35), 11 states have call successors, (11), 4 states have call predecessors, (11), 4 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-27 13:09:01,562 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2022-04-27 13:09:01,562 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:09:01,562 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:09:01,562 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:09:01,565 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:09:01,566 INFO L85 PathProgramCache]: Analyzing trace with hash 1237885594, now seen corresponding path program 1 times [2022-04-27 13:09:01,571 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:09:01,572 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1273009565] [2022-04-27 13:09:01,572 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:09:01,572 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:09:01,674 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:09:01,726 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 13:09:01,739 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:09:01,752 INFO L290 TraceCheckUtils]: 0: Hoare triple {64#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {43#true} is VALID [2022-04-27 13:09:01,753 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume true; {43#true} is VALID [2022-04-27 13:09:01,753 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {43#true} {43#true} #112#return; {43#true} is VALID [2022-04-27 13:09:01,753 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-27 13:09:01,758 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:09:01,778 INFO L290 TraceCheckUtils]: 0: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-27 13:09:01,781 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-27 13:09:01,782 INFO L290 TraceCheckUtils]: 2: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-27 13:09:01,782 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44#false} {43#true} #94#return; {44#false} is VALID [2022-04-27 13:09:01,782 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-27 13:09:01,784 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:09:01,788 INFO L290 TraceCheckUtils]: 0: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-27 13:09:01,788 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-27 13:09:01,788 INFO L290 TraceCheckUtils]: 2: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-27 13:09:01,788 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44#false} {44#false} #96#return; {44#false} is VALID [2022-04-27 13:09:01,789 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-27 13:09:01,790 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:09:01,794 INFO L290 TraceCheckUtils]: 0: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-27 13:09:01,794 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-27 13:09:01,794 INFO L290 TraceCheckUtils]: 2: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-27 13:09:01,795 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44#false} {44#false} #98#return; {44#false} is VALID [2022-04-27 13:09:01,795 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 22 [2022-04-27 13:09:01,796 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:09:01,799 INFO L290 TraceCheckUtils]: 0: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-27 13:09:01,800 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-27 13:09:01,800 INFO L290 TraceCheckUtils]: 2: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-27 13:09:01,800 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44#false} {44#false} #100#return; {44#false} is VALID [2022-04-27 13:09:01,801 INFO L272 TraceCheckUtils]: 0: Hoare triple {43#true} call ULTIMATE.init(); {64#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 13:09:01,801 INFO L290 TraceCheckUtils]: 1: Hoare triple {64#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {43#true} is VALID [2022-04-27 13:09:01,801 INFO L290 TraceCheckUtils]: 2: Hoare triple {43#true} assume true; {43#true} is VALID [2022-04-27 13:09:01,801 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {43#true} {43#true} #112#return; {43#true} is VALID [2022-04-27 13:09:01,801 INFO L272 TraceCheckUtils]: 4: Hoare triple {43#true} call #t~ret6 := main(); {43#true} is VALID [2022-04-27 13:09:01,802 INFO L290 TraceCheckUtils]: 5: Hoare triple {43#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {43#true} is VALID [2022-04-27 13:09:01,802 INFO L272 TraceCheckUtils]: 6: Hoare triple {43#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {43#true} is VALID [2022-04-27 13:09:01,802 INFO L290 TraceCheckUtils]: 7: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-27 13:09:01,802 INFO L290 TraceCheckUtils]: 8: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-27 13:09:01,802 INFO L290 TraceCheckUtils]: 9: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-27 13:09:01,802 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {44#false} {43#true} #94#return; {44#false} is VALID [2022-04-27 13:09:01,803 INFO L290 TraceCheckUtils]: 11: Hoare triple {44#false} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {44#false} is VALID [2022-04-27 13:09:01,803 INFO L272 TraceCheckUtils]: 12: Hoare triple {44#false} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {43#true} is VALID [2022-04-27 13:09:01,803 INFO L290 TraceCheckUtils]: 13: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-27 13:09:01,803 INFO L290 TraceCheckUtils]: 14: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-27 13:09:01,803 INFO L290 TraceCheckUtils]: 15: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-27 13:09:01,804 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {44#false} {44#false} #96#return; {44#false} is VALID [2022-04-27 13:09:01,804 INFO L272 TraceCheckUtils]: 17: Hoare triple {44#false} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {43#true} is VALID [2022-04-27 13:09:01,804 INFO L290 TraceCheckUtils]: 18: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-27 13:09:01,804 INFO L290 TraceCheckUtils]: 19: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-27 13:09:01,804 INFO L290 TraceCheckUtils]: 20: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-27 13:09:01,805 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {44#false} {44#false} #98#return; {44#false} is VALID [2022-04-27 13:09:01,805 INFO L272 TraceCheckUtils]: 22: Hoare triple {44#false} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {43#true} is VALID [2022-04-27 13:09:01,805 INFO L290 TraceCheckUtils]: 23: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-27 13:09:01,805 INFO L290 TraceCheckUtils]: 24: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-27 13:09:01,805 INFO L290 TraceCheckUtils]: 25: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-27 13:09:01,805 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {44#false} {44#false} #100#return; {44#false} is VALID [2022-04-27 13:09:01,806 INFO L290 TraceCheckUtils]: 27: Hoare triple {44#false} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {44#false} is VALID [2022-04-27 13:09:01,806 INFO L290 TraceCheckUtils]: 28: Hoare triple {44#false} assume false; {44#false} is VALID [2022-04-27 13:09:01,806 INFO L272 TraceCheckUtils]: 29: Hoare triple {44#false} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {44#false} is VALID [2022-04-27 13:09:01,806 INFO L290 TraceCheckUtils]: 30: Hoare triple {44#false} ~cond := #in~cond; {44#false} is VALID [2022-04-27 13:09:01,806 INFO L290 TraceCheckUtils]: 31: Hoare triple {44#false} assume 0 == ~cond; {44#false} is VALID [2022-04-27 13:09:01,806 INFO L290 TraceCheckUtils]: 32: Hoare triple {44#false} assume !false; {44#false} is VALID [2022-04-27 13:09:01,807 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-27 13:09:01,807 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:09:01,807 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1273009565] [2022-04-27 13:09:01,808 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1273009565] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 13:09:01,808 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 13:09:01,808 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-27 13:09:01,809 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2063668877] [2022-04-27 13:09:01,810 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 13:09:01,813 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 33 [2022-04-27 13:09:01,814 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:09:01,816 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-27 13:09:01,838 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 24 edges. 24 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:09:01,839 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-27 13:09:01,839 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:09:01,852 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-27 13:09:01,853 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-27 13:09:01,855 INFO L87 Difference]: Start difference. First operand has 40 states, 23 states have (on average 1.5217391304347827) internal successors, (35), 24 states have internal predecessors, (35), 11 states have call successors, (11), 4 states have call predecessors, (11), 4 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) Second operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-27 13:09:01,974 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:09:01,974 INFO L93 Difference]: Finished difference Result 73 states and 115 transitions. [2022-04-27 13:09:01,974 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-27 13:09:01,975 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 33 [2022-04-27 13:09:01,976 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:09:01,977 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-27 13:09:01,993 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 115 transitions. [2022-04-27 13:09:01,994 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-27 13:09:02,000 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 115 transitions. [2022-04-27 13:09:02,000 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 115 transitions. [2022-04-27 13:09:02,107 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 115 edges. 115 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:09:02,115 INFO L225 Difference]: With dead ends: 73 [2022-04-27 13:09:02,115 INFO L226 Difference]: Without dead ends: 35 [2022-04-27 13:09:02,118 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 16 GetRequests, 15 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 13:09:02,123 INFO L413 NwaCegarLoop]: 40 mSDtfsCounter, 24 mSDsluCounter, 3 mSDsCounter, 0 mSdLazyCounter, 11 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 33 SdHoareTripleChecker+Valid, 43 SdHoareTripleChecker+Invalid, 21 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 11 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-27 13:09:02,124 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [33 Valid, 43 Invalid, 21 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 11 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-27 13:09:02,134 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 35 states. [2022-04-27 13:09:02,146 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 35 to 35. [2022-04-27 13:09:02,147 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:09:02,147 INFO L82 GeneralOperation]: Start isEquivalent. First operand 35 states. Second operand has 35 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-27 13:09:02,148 INFO L74 IsIncluded]: Start isIncluded. First operand 35 states. Second operand has 35 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-27 13:09:02,149 INFO L87 Difference]: Start difference. First operand 35 states. Second operand has 35 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-27 13:09:02,163 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:09:02,163 INFO L93 Difference]: Finished difference Result 35 states and 44 transitions. [2022-04-27 13:09:02,164 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 44 transitions. [2022-04-27 13:09:02,165 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:09:02,165 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:09:02,166 INFO L74 IsIncluded]: Start isIncluded. First operand has 35 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 35 states. [2022-04-27 13:09:02,167 INFO L87 Difference]: Start difference. First operand has 35 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 35 states. [2022-04-27 13:09:02,174 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:09:02,174 INFO L93 Difference]: Finished difference Result 35 states and 44 transitions. [2022-04-27 13:09:02,174 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 44 transitions. [2022-04-27 13:09:02,175 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:09:02,175 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:09:02,175 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:09:02,175 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:09:02,175 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 35 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-27 13:09:02,177 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 35 states to 35 states and 44 transitions. [2022-04-27 13:09:02,178 INFO L78 Accepts]: Start accepts. Automaton has 35 states and 44 transitions. Word has length 33 [2022-04-27 13:09:02,178 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:09:02,178 INFO L495 AbstractCegarLoop]: Abstraction has 35 states and 44 transitions. [2022-04-27 13:09:02,179 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-27 13:09:02,179 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 44 transitions. [2022-04-27 13:09:02,179 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2022-04-27 13:09:02,179 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:09:02,180 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:09:02,180 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-27 13:09:02,180 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:09:02,181 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:09:02,181 INFO L85 PathProgramCache]: Analyzing trace with hash 1569470122, now seen corresponding path program 1 times [2022-04-27 13:09:02,181 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:09:02,181 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [726001717] [2022-04-27 13:09:02,181 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:09:02,181 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:09:02,216 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:09:02,217 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [351432046] [2022-04-27 13:09:02,217 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:09:02,217 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:09:02,217 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:09:02,240 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 13:09:02,241 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 13:09:02,283 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:09:02,284 INFO L263 TraceCheckSpWp]: Trace formula consists of 107 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-27 13:09:02,294 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:09:02,298 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:09:02,421 INFO L272 TraceCheckUtils]: 0: Hoare triple {294#true} call ULTIMATE.init(); {294#true} is VALID [2022-04-27 13:09:02,421 INFO L290 TraceCheckUtils]: 1: Hoare triple {294#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(11, 2);call #Ultimate.allocInit(12, 3); {294#true} is VALID [2022-04-27 13:09:02,421 INFO L290 TraceCheckUtils]: 2: Hoare triple {294#true} assume true; {294#true} is VALID [2022-04-27 13:09:02,421 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {294#true} {294#true} #112#return; {294#true} is VALID [2022-04-27 13:09:02,422 INFO L272 TraceCheckUtils]: 4: Hoare triple {294#true} call #t~ret6 := main(); {294#true} is VALID [2022-04-27 13:09:02,422 INFO L290 TraceCheckUtils]: 5: Hoare triple {294#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {294#true} is VALID [2022-04-27 13:09:02,422 INFO L272 TraceCheckUtils]: 6: Hoare triple {294#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {294#true} is VALID [2022-04-27 13:09:02,422 INFO L290 TraceCheckUtils]: 7: Hoare triple {294#true} ~cond := #in~cond; {294#true} is VALID [2022-04-27 13:09:02,422 INFO L290 TraceCheckUtils]: 8: Hoare triple {294#true} assume !(0 == ~cond); {294#true} is VALID [2022-04-27 13:09:02,422 INFO L290 TraceCheckUtils]: 9: Hoare triple {294#true} assume true; {294#true} is VALID [2022-04-27 13:09:02,422 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {294#true} {294#true} #94#return; {294#true} is VALID [2022-04-27 13:09:02,423 INFO L290 TraceCheckUtils]: 11: Hoare triple {294#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {294#true} is VALID [2022-04-27 13:09:02,423 INFO L272 TraceCheckUtils]: 12: Hoare triple {294#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {294#true} is VALID [2022-04-27 13:09:02,423 INFO L290 TraceCheckUtils]: 13: Hoare triple {294#true} ~cond := #in~cond; {294#true} is VALID [2022-04-27 13:09:02,423 INFO L290 TraceCheckUtils]: 14: Hoare triple {294#true} assume !(0 == ~cond); {294#true} is VALID [2022-04-27 13:09:02,423 INFO L290 TraceCheckUtils]: 15: Hoare triple {294#true} assume true; {294#true} is VALID [2022-04-27 13:09:02,423 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {294#true} {294#true} #96#return; {294#true} is VALID [2022-04-27 13:09:02,423 INFO L272 TraceCheckUtils]: 17: Hoare triple {294#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {294#true} is VALID [2022-04-27 13:09:02,424 INFO L290 TraceCheckUtils]: 18: Hoare triple {294#true} ~cond := #in~cond; {294#true} is VALID [2022-04-27 13:09:02,424 INFO L290 TraceCheckUtils]: 19: Hoare triple {294#true} assume !(0 == ~cond); {294#true} is VALID [2022-04-27 13:09:02,424 INFO L290 TraceCheckUtils]: 20: Hoare triple {294#true} assume true; {294#true} is VALID [2022-04-27 13:09:02,424 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {294#true} {294#true} #98#return; {294#true} is VALID [2022-04-27 13:09:02,424 INFO L272 TraceCheckUtils]: 22: Hoare triple {294#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {294#true} is VALID [2022-04-27 13:09:02,425 INFO L290 TraceCheckUtils]: 23: Hoare triple {294#true} ~cond := #in~cond; {368#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 13:09:02,425 INFO L290 TraceCheckUtils]: 24: Hoare triple {368#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {372#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:09:02,425 INFO L290 TraceCheckUtils]: 25: Hoare triple {372#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {372#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:09:02,426 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {372#(not (= |assume_abort_if_not_#in~cond| 0))} {294#true} #100#return; {379#(<= 1 main_~y~0)} is VALID [2022-04-27 13:09:02,426 INFO L290 TraceCheckUtils]: 27: Hoare triple {379#(<= 1 main_~y~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {383#(<= 1 main_~b~0)} is VALID [2022-04-27 13:09:02,427 INFO L290 TraceCheckUtils]: 28: Hoare triple {383#(<= 1 main_~b~0)} assume !false; {383#(<= 1 main_~b~0)} is VALID [2022-04-27 13:09:02,427 INFO L290 TraceCheckUtils]: 29: Hoare triple {383#(<= 1 main_~b~0)} assume !(0 != ~b~0); {295#false} is VALID [2022-04-27 13:09:02,427 INFO L272 TraceCheckUtils]: 30: Hoare triple {295#false} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {295#false} is VALID [2022-04-27 13:09:02,427 INFO L290 TraceCheckUtils]: 31: Hoare triple {295#false} ~cond := #in~cond; {295#false} is VALID [2022-04-27 13:09:02,428 INFO L290 TraceCheckUtils]: 32: Hoare triple {295#false} assume 0 == ~cond; {295#false} is VALID [2022-04-27 13:09:02,428 INFO L290 TraceCheckUtils]: 33: Hoare triple {295#false} assume !false; {295#false} is VALID [2022-04-27 13:09:02,428 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 9 proven. 0 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-04-27 13:09:02,428 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-27 13:09:02,428 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:09:02,428 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [726001717] [2022-04-27 13:09:02,429 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:09:02,429 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [351432046] [2022-04-27 13:09:02,429 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [351432046] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 13:09:02,429 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 13:09:02,429 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-27 13:09:02,430 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1050739833] [2022-04-27 13:09:02,430 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 13:09:02,430 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 1 states have call successors, (5) Word has length 34 [2022-04-27 13:09:02,431 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:09:02,431 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-27 13:09:02,449 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 28 edges. 28 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:09:02,449 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-27 13:09:02,450 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:09:02,450 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-27 13:09:02,450 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-27 13:09:02,451 INFO L87 Difference]: Start difference. First operand 35 states and 44 transitions. Second operand has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-27 13:09:02,667 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:09:02,667 INFO L93 Difference]: Finished difference Result 54 states and 69 transitions. [2022-04-27 13:09:02,667 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-27 13:09:02,668 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 1 states have call successors, (5) Word has length 34 [2022-04-27 13:09:02,668 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:09:02,668 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-27 13:09:02,670 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 69 transitions. [2022-04-27 13:09:02,670 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-27 13:09:02,672 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 69 transitions. [2022-04-27 13:09:02,672 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 69 transitions. [2022-04-27 13:09:02,720 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 69 edges. 69 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:09:02,721 INFO L225 Difference]: With dead ends: 54 [2022-04-27 13:09:02,721 INFO L226 Difference]: Without dead ends: 47 [2022-04-27 13:09:02,721 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 35 GetRequests, 29 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 13:09:02,722 INFO L413 NwaCegarLoop]: 38 mSDtfsCounter, 31 mSDsluCounter, 95 mSDsCounter, 0 mSdLazyCounter, 76 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 35 SdHoareTripleChecker+Valid, 133 SdHoareTripleChecker+Invalid, 85 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 76 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 13:09:02,722 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [35 Valid, 133 Invalid, 85 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 76 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 13:09:02,723 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 47 states. [2022-04-27 13:09:02,734 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 47 to 37. [2022-04-27 13:09:02,734 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:09:02,734 INFO L82 GeneralOperation]: Start isEquivalent. First operand 47 states. Second operand has 37 states, 22 states have (on average 1.1818181818181819) internal successors, (26), 23 states have internal predecessors, (26), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-27 13:09:02,734 INFO L74 IsIncluded]: Start isIncluded. First operand 47 states. Second operand has 37 states, 22 states have (on average 1.1818181818181819) internal successors, (26), 23 states have internal predecessors, (26), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-27 13:09:02,735 INFO L87 Difference]: Start difference. First operand 47 states. Second operand has 37 states, 22 states have (on average 1.1818181818181819) internal successors, (26), 23 states have internal predecessors, (26), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-27 13:09:02,737 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:09:02,737 INFO L93 Difference]: Finished difference Result 47 states and 62 transitions. [2022-04-27 13:09:02,737 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 62 transitions. [2022-04-27 13:09:02,738 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:09:02,738 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:09:02,738 INFO L74 IsIncluded]: Start isIncluded. First operand has 37 states, 22 states have (on average 1.1818181818181819) internal successors, (26), 23 states have internal predecessors, (26), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 47 states. [2022-04-27 13:09:02,738 INFO L87 Difference]: Start difference. First operand has 37 states, 22 states have (on average 1.1818181818181819) internal successors, (26), 23 states have internal predecessors, (26), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 47 states. [2022-04-27 13:09:02,741 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:09:02,741 INFO L93 Difference]: Finished difference Result 47 states and 62 transitions. [2022-04-27 13:09:02,741 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 62 transitions. [2022-04-27 13:09:02,741 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:09:02,742 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:09:02,742 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:09:02,742 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:09:02,742 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 37 states, 22 states have (on average 1.1818181818181819) internal successors, (26), 23 states have internal predecessors, (26), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-27 13:09:02,743 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 37 states to 37 states and 46 transitions. [2022-04-27 13:09:02,743 INFO L78 Accepts]: Start accepts. Automaton has 37 states and 46 transitions. Word has length 34 [2022-04-27 13:09:02,744 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:09:02,744 INFO L495 AbstractCegarLoop]: Abstraction has 37 states and 46 transitions. [2022-04-27 13:09:02,744 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-27 13:09:02,744 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 46 transitions. [2022-04-27 13:09:02,744 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 38 [2022-04-27 13:09:02,745 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:09:02,745 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:09:02,778 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 13:09:02,978 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 13:09:02,978 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:09:02,979 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:09:02,979 INFO L85 PathProgramCache]: Analyzing trace with hash 1443363578, now seen corresponding path program 1 times [2022-04-27 13:09:02,979 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:09:02,979 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [314865393] [2022-04-27 13:09:02,979 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:09:02,979 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:09:02,992 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:09:02,992 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [483350751] [2022-04-27 13:09:02,992 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:09:02,992 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:09:02,993 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:09:02,993 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 13:09:03,000 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 13:09:03,030 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:09:03,031 INFO L263 TraceCheckSpWp]: Trace formula consists of 117 conjuncts, 23 conjunts are in the unsatisfiable core [2022-04-27 13:09:03,040 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:09:03,041 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:09:03,412 INFO L272 TraceCheckUtils]: 0: Hoare triple {636#true} call ULTIMATE.init(); {636#true} is VALID [2022-04-27 13:09:03,412 INFO L290 TraceCheckUtils]: 1: Hoare triple {636#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(11, 2);call #Ultimate.allocInit(12, 3); {636#true} is VALID [2022-04-27 13:09:03,413 INFO L290 TraceCheckUtils]: 2: Hoare triple {636#true} assume true; {636#true} is VALID [2022-04-27 13:09:03,413 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {636#true} {636#true} #112#return; {636#true} is VALID [2022-04-27 13:09:03,413 INFO L272 TraceCheckUtils]: 4: Hoare triple {636#true} call #t~ret6 := main(); {636#true} is VALID [2022-04-27 13:09:03,413 INFO L290 TraceCheckUtils]: 5: Hoare triple {636#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {636#true} is VALID [2022-04-27 13:09:03,413 INFO L272 TraceCheckUtils]: 6: Hoare triple {636#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {636#true} is VALID [2022-04-27 13:09:03,413 INFO L290 TraceCheckUtils]: 7: Hoare triple {636#true} ~cond := #in~cond; {662#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 13:09:03,414 INFO L290 TraceCheckUtils]: 8: Hoare triple {662#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {666#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:09:03,414 INFO L290 TraceCheckUtils]: 9: Hoare triple {666#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {666#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:09:03,415 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {666#(not (= |assume_abort_if_not_#in~cond| 0))} {636#true} #94#return; {673#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-27 13:09:03,415 INFO L290 TraceCheckUtils]: 11: Hoare triple {673#(and (<= 0 main_~x~0) (<= main_~x~0 2))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {673#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-27 13:09:03,415 INFO L272 TraceCheckUtils]: 12: Hoare triple {673#(and (<= 0 main_~x~0) (<= main_~x~0 2))} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {636#true} is VALID [2022-04-27 13:09:03,415 INFO L290 TraceCheckUtils]: 13: Hoare triple {636#true} ~cond := #in~cond; {636#true} is VALID [2022-04-27 13:09:03,415 INFO L290 TraceCheckUtils]: 14: Hoare triple {636#true} assume !(0 == ~cond); {636#true} is VALID [2022-04-27 13:09:03,416 INFO L290 TraceCheckUtils]: 15: Hoare triple {636#true} assume true; {636#true} is VALID [2022-04-27 13:09:03,416 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {636#true} {673#(and (<= 0 main_~x~0) (<= main_~x~0 2))} #96#return; {673#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-27 13:09:03,416 INFO L272 TraceCheckUtils]: 17: Hoare triple {673#(and (<= 0 main_~x~0) (<= main_~x~0 2))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {636#true} is VALID [2022-04-27 13:09:03,416 INFO L290 TraceCheckUtils]: 18: Hoare triple {636#true} ~cond := #in~cond; {636#true} is VALID [2022-04-27 13:09:03,416 INFO L290 TraceCheckUtils]: 19: Hoare triple {636#true} assume !(0 == ~cond); {636#true} is VALID [2022-04-27 13:09:03,416 INFO L290 TraceCheckUtils]: 20: Hoare triple {636#true} assume true; {636#true} is VALID [2022-04-27 13:09:03,417 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {636#true} {673#(and (<= 0 main_~x~0) (<= main_~x~0 2))} #98#return; {673#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-27 13:09:03,417 INFO L272 TraceCheckUtils]: 22: Hoare triple {673#(and (<= 0 main_~x~0) (<= main_~x~0 2))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {636#true} is VALID [2022-04-27 13:09:03,417 INFO L290 TraceCheckUtils]: 23: Hoare triple {636#true} ~cond := #in~cond; {662#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 13:09:03,418 INFO L290 TraceCheckUtils]: 24: Hoare triple {662#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {666#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:09:03,418 INFO L290 TraceCheckUtils]: 25: Hoare triple {666#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {666#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:09:03,418 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {666#(not (= |assume_abort_if_not_#in~cond| 0))} {673#(and (<= 0 main_~x~0) (<= main_~x~0 2))} #100#return; {722#(and (<= 0 main_~x~0) (<= 1 main_~y~0) (<= main_~x~0 2))} is VALID [2022-04-27 13:09:03,419 INFO L290 TraceCheckUtils]: 27: Hoare triple {722#(and (<= 0 main_~x~0) (<= 1 main_~y~0) (<= main_~x~0 2))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {726#(and (= main_~r~0 0) (<= 0 main_~x~0) (<= main_~y~0 main_~b~0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-27 13:09:03,419 INFO L290 TraceCheckUtils]: 28: Hoare triple {726#(and (= main_~r~0 0) (<= 0 main_~x~0) (<= main_~y~0 main_~b~0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} assume !false; {726#(and (= main_~r~0 0) (<= 0 main_~x~0) (<= main_~y~0 main_~b~0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-27 13:09:03,420 INFO L290 TraceCheckUtils]: 29: Hoare triple {726#(and (= main_~r~0 0) (<= 0 main_~x~0) (<= main_~y~0 main_~b~0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {733#(and (= main_~r~0 0) (<= 0 main_~x~0) (<= main_~y~0 main_~b~0) (<= main_~c~0 main_~a~0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-27 13:09:03,420 INFO L290 TraceCheckUtils]: 30: Hoare triple {733#(and (= main_~r~0 0) (<= 0 main_~x~0) (<= main_~y~0 main_~b~0) (<= main_~c~0 main_~a~0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} assume !false; {733#(and (= main_~r~0 0) (<= 0 main_~x~0) (<= main_~y~0 main_~b~0) (<= main_~c~0 main_~a~0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-27 13:09:03,421 INFO L290 TraceCheckUtils]: 31: Hoare triple {733#(and (= main_~r~0 0) (<= 0 main_~x~0) (<= main_~y~0 main_~b~0) (<= main_~c~0 main_~a~0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {740#(and (= main_~r~0 0) (<= 1 main_~y~0) (<= main_~y~0 main_~a~0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-27 13:09:03,421 INFO L290 TraceCheckUtils]: 32: Hoare triple {740#(and (= main_~r~0 0) (<= 1 main_~y~0) (<= main_~y~0 main_~a~0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} assume !false; {740#(and (= main_~r~0 0) (<= 1 main_~y~0) (<= main_~y~0 main_~a~0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-27 13:09:03,422 INFO L272 TraceCheckUtils]: 33: Hoare triple {740#(and (= main_~r~0 0) (<= 1 main_~y~0) (<= main_~y~0 main_~a~0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {747#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:09:03,423 INFO L290 TraceCheckUtils]: 34: Hoare triple {747#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {751#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:09:03,423 INFO L290 TraceCheckUtils]: 35: Hoare triple {751#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {637#false} is VALID [2022-04-27 13:09:03,423 INFO L290 TraceCheckUtils]: 36: Hoare triple {637#false} assume !false; {637#false} is VALID [2022-04-27 13:09:03,423 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 6 proven. 6 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-27 13:09:03,423 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:09:03,702 INFO L290 TraceCheckUtils]: 36: Hoare triple {637#false} assume !false; {637#false} is VALID [2022-04-27 13:09:03,703 INFO L290 TraceCheckUtils]: 35: Hoare triple {751#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {637#false} is VALID [2022-04-27 13:09:03,703 INFO L290 TraceCheckUtils]: 34: Hoare triple {747#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {751#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:09:03,704 INFO L272 TraceCheckUtils]: 33: Hoare triple {767#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {747#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:09:03,704 INFO L290 TraceCheckUtils]: 32: Hoare triple {767#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {767#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-27 13:09:03,704 INFO L290 TraceCheckUtils]: 31: Hoare triple {774#(or (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (<= main_~b~0 main_~c~0)))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {767#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-27 13:09:03,705 INFO L290 TraceCheckUtils]: 30: Hoare triple {774#(or (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (<= main_~b~0 main_~c~0)))} assume !false; {774#(or (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (<= main_~b~0 main_~c~0)))} is VALID [2022-04-27 13:09:03,705 INFO L290 TraceCheckUtils]: 29: Hoare triple {781#(or (= main_~b~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (< main_~a~0 main_~b~0))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {774#(or (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (<= main_~b~0 main_~c~0)))} is VALID [2022-04-27 13:09:03,706 INFO L290 TraceCheckUtils]: 28: Hoare triple {781#(or (= main_~b~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (< main_~a~0 main_~b~0))} assume !false; {781#(or (= main_~b~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (< main_~a~0 main_~b~0))} is VALID [2022-04-27 13:09:03,706 INFO L290 TraceCheckUtils]: 27: Hoare triple {636#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {781#(or (= main_~b~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (< main_~a~0 main_~b~0))} is VALID [2022-04-27 13:09:03,706 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {636#true} {636#true} #100#return; {636#true} is VALID [2022-04-27 13:09:03,707 INFO L290 TraceCheckUtils]: 25: Hoare triple {636#true} assume true; {636#true} is VALID [2022-04-27 13:09:03,707 INFO L290 TraceCheckUtils]: 24: Hoare triple {636#true} assume !(0 == ~cond); {636#true} is VALID [2022-04-27 13:09:03,707 INFO L290 TraceCheckUtils]: 23: Hoare triple {636#true} ~cond := #in~cond; {636#true} is VALID [2022-04-27 13:09:03,707 INFO L272 TraceCheckUtils]: 22: Hoare triple {636#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {636#true} is VALID [2022-04-27 13:09:03,707 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {636#true} {636#true} #98#return; {636#true} is VALID [2022-04-27 13:09:03,707 INFO L290 TraceCheckUtils]: 20: Hoare triple {636#true} assume true; {636#true} is VALID [2022-04-27 13:09:03,707 INFO L290 TraceCheckUtils]: 19: Hoare triple {636#true} assume !(0 == ~cond); {636#true} is VALID [2022-04-27 13:09:03,707 INFO L290 TraceCheckUtils]: 18: Hoare triple {636#true} ~cond := #in~cond; {636#true} is VALID [2022-04-27 13:09:03,707 INFO L272 TraceCheckUtils]: 17: Hoare triple {636#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {636#true} is VALID [2022-04-27 13:09:03,707 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {636#true} {636#true} #96#return; {636#true} is VALID [2022-04-27 13:09:03,707 INFO L290 TraceCheckUtils]: 15: Hoare triple {636#true} assume true; {636#true} is VALID [2022-04-27 13:09:03,708 INFO L290 TraceCheckUtils]: 14: Hoare triple {636#true} assume !(0 == ~cond); {636#true} is VALID [2022-04-27 13:09:03,708 INFO L290 TraceCheckUtils]: 13: Hoare triple {636#true} ~cond := #in~cond; {636#true} is VALID [2022-04-27 13:09:03,708 INFO L272 TraceCheckUtils]: 12: Hoare triple {636#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {636#true} is VALID [2022-04-27 13:09:03,708 INFO L290 TraceCheckUtils]: 11: Hoare triple {636#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {636#true} is VALID [2022-04-27 13:09:03,708 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {636#true} {636#true} #94#return; {636#true} is VALID [2022-04-27 13:09:03,708 INFO L290 TraceCheckUtils]: 9: Hoare triple {636#true} assume true; {636#true} is VALID [2022-04-27 13:09:03,708 INFO L290 TraceCheckUtils]: 8: Hoare triple {636#true} assume !(0 == ~cond); {636#true} is VALID [2022-04-27 13:09:03,708 INFO L290 TraceCheckUtils]: 7: Hoare triple {636#true} ~cond := #in~cond; {636#true} is VALID [2022-04-27 13:09:03,708 INFO L272 TraceCheckUtils]: 6: Hoare triple {636#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {636#true} is VALID [2022-04-27 13:09:03,708 INFO L290 TraceCheckUtils]: 5: Hoare triple {636#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {636#true} is VALID [2022-04-27 13:09:03,709 INFO L272 TraceCheckUtils]: 4: Hoare triple {636#true} call #t~ret6 := main(); {636#true} is VALID [2022-04-27 13:09:03,709 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {636#true} {636#true} #112#return; {636#true} is VALID [2022-04-27 13:09:03,709 INFO L290 TraceCheckUtils]: 2: Hoare triple {636#true} assume true; {636#true} is VALID [2022-04-27 13:09:03,709 INFO L290 TraceCheckUtils]: 1: Hoare triple {636#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(11, 2);call #Ultimate.allocInit(12, 3); {636#true} is VALID [2022-04-27 13:09:03,709 INFO L272 TraceCheckUtils]: 0: Hoare triple {636#true} call ULTIMATE.init(); {636#true} is VALID [2022-04-27 13:09:03,709 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-27 13:09:03,709 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:09:03,710 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [314865393] [2022-04-27 13:09:03,710 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:09:03,710 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [483350751] [2022-04-27 13:09:03,710 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [483350751] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-27 13:09:03,710 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-27 13:09:03,710 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [11] total 14 [2022-04-27 13:09:03,710 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [45625283] [2022-04-27 13:09:03,710 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 13:09:03,711 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 2.2857142857142856) internal successors, (16), 6 states have internal predecessors, (16), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) Word has length 37 [2022-04-27 13:09:03,711 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:09:03,711 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 2.2857142857142856) internal successors, (16), 6 states have internal predecessors, (16), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-27 13:09:03,728 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 28 edges. 28 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:09:03,728 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-27 13:09:03,728 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:09:03,729 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-27 13:09:03,729 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=44, Invalid=138, Unknown=0, NotChecked=0, Total=182 [2022-04-27 13:09:03,729 INFO L87 Difference]: Start difference. First operand 37 states and 46 transitions. Second operand has 7 states, 7 states have (on average 2.2857142857142856) internal successors, (16), 6 states have internal predecessors, (16), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-27 13:09:03,968 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:09:03,968 INFO L93 Difference]: Finished difference Result 53 states and 67 transitions. [2022-04-27 13:09:03,969 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-27 13:09:03,969 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 2.2857142857142856) internal successors, (16), 6 states have internal predecessors, (16), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) Word has length 37 [2022-04-27 13:09:03,969 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:09:03,969 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 2.2857142857142856) internal successors, (16), 6 states have internal predecessors, (16), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-27 13:09:03,971 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 67 transitions. [2022-04-27 13:09:03,971 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 2.2857142857142856) internal successors, (16), 6 states have internal predecessors, (16), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-27 13:09:03,973 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 67 transitions. [2022-04-27 13:09:03,973 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 67 transitions. [2022-04-27 13:09:04,018 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 13:09:04,019 INFO L225 Difference]: With dead ends: 53 [2022-04-27 13:09:04,019 INFO L226 Difference]: Without dead ends: 51 [2022-04-27 13:09:04,020 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 74 GetRequests, 60 SyntacticMatches, 1 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 32 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=48, Invalid=162, Unknown=0, NotChecked=0, Total=210 [2022-04-27 13:09:04,020 INFO L413 NwaCegarLoop]: 43 mSDtfsCounter, 27 mSDsluCounter, 124 mSDsCounter, 0 mSdLazyCounter, 61 mSolverCounterSat, 12 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 31 SdHoareTripleChecker+Valid, 167 SdHoareTripleChecker+Invalid, 73 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 12 IncrementalHoareTripleChecker+Valid, 61 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 13:09:04,021 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [31 Valid, 167 Invalid, 73 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [12 Valid, 61 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 13:09:04,021 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 51 states. [2022-04-27 13:09:04,057 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 51 to 50. [2022-04-27 13:09:04,057 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:09:04,058 INFO L82 GeneralOperation]: Start isEquivalent. First operand 51 states. Second operand has 50 states, 30 states have (on average 1.2) internal successors, (36), 31 states have internal predecessors, (36), 15 states have call successors, (15), 5 states have call predecessors, (15), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-27 13:09:04,060 INFO L74 IsIncluded]: Start isIncluded. First operand 51 states. Second operand has 50 states, 30 states have (on average 1.2) internal successors, (36), 31 states have internal predecessors, (36), 15 states have call successors, (15), 5 states have call predecessors, (15), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-27 13:09:04,060 INFO L87 Difference]: Start difference. First operand 51 states. Second operand has 50 states, 30 states have (on average 1.2) internal successors, (36), 31 states have internal predecessors, (36), 15 states have call successors, (15), 5 states have call predecessors, (15), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-27 13:09:04,066 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:09:04,066 INFO L93 Difference]: Finished difference Result 51 states and 65 transitions. [2022-04-27 13:09:04,066 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 65 transitions. [2022-04-27 13:09:04,072 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:09:04,072 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:09:04,072 INFO L74 IsIncluded]: Start isIncluded. First operand has 50 states, 30 states have (on average 1.2) internal successors, (36), 31 states have internal predecessors, (36), 15 states have call successors, (15), 5 states have call predecessors, (15), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) Second operand 51 states. [2022-04-27 13:09:04,073 INFO L87 Difference]: Start difference. First operand has 50 states, 30 states have (on average 1.2) internal successors, (36), 31 states have internal predecessors, (36), 15 states have call successors, (15), 5 states have call predecessors, (15), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) Second operand 51 states. [2022-04-27 13:09:04,076 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:09:04,077 INFO L93 Difference]: Finished difference Result 51 states and 65 transitions. [2022-04-27 13:09:04,077 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 65 transitions. [2022-04-27 13:09:04,078 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:09:04,078 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:09:04,078 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:09:04,078 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:09:04,079 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 50 states, 30 states have (on average 1.2) internal successors, (36), 31 states have internal predecessors, (36), 15 states have call successors, (15), 5 states have call predecessors, (15), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-27 13:09:04,084 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 64 transitions. [2022-04-27 13:09:04,084 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 64 transitions. Word has length 37 [2022-04-27 13:09:04,084 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:09:04,084 INFO L495 AbstractCegarLoop]: Abstraction has 50 states and 64 transitions. [2022-04-27 13:09:04,085 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 2.2857142857142856) internal successors, (16), 6 states have internal predecessors, (16), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-27 13:09:04,085 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 64 transitions. [2022-04-27 13:09:04,099 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2022-04-27 13:09:04,099 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:09:04,100 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:09:04,115 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 13:09:04,315 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 13:09:04,316 INFO L420 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:09:04,316 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:09:04,316 INFO L85 PathProgramCache]: Analyzing trace with hash 584996456, now seen corresponding path program 1 times [2022-04-27 13:09:04,316 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:09:04,318 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1822941120] [2022-04-27 13:09:04,318 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:09:04,318 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:09:04,331 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:09:04,331 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [798711466] [2022-04-27 13:09:04,331 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:09:04,331 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:09:04,331 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:09:04,349 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 13:09:04,350 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 13:09:04,399 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:09:04,399 INFO L263 TraceCheckSpWp]: Trace formula consists of 129 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-27 13:09:04,406 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:09:04,407 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:09:04,531 INFO L272 TraceCheckUtils]: 0: Hoare triple {1130#true} call ULTIMATE.init(); {1130#true} is VALID [2022-04-27 13:09:04,531 INFO L290 TraceCheckUtils]: 1: Hoare triple {1130#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(11, 2);call #Ultimate.allocInit(12, 3); {1130#true} is VALID [2022-04-27 13:09:04,531 INFO L290 TraceCheckUtils]: 2: Hoare triple {1130#true} assume true; {1130#true} is VALID [2022-04-27 13:09:04,531 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1130#true} {1130#true} #112#return; {1130#true} is VALID [2022-04-27 13:09:04,531 INFO L272 TraceCheckUtils]: 4: Hoare triple {1130#true} call #t~ret6 := main(); {1130#true} is VALID [2022-04-27 13:09:04,532 INFO L290 TraceCheckUtils]: 5: Hoare triple {1130#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {1130#true} is VALID [2022-04-27 13:09:04,532 INFO L272 TraceCheckUtils]: 6: Hoare triple {1130#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {1130#true} is VALID [2022-04-27 13:09:04,532 INFO L290 TraceCheckUtils]: 7: Hoare triple {1130#true} ~cond := #in~cond; {1130#true} is VALID [2022-04-27 13:09:04,532 INFO L290 TraceCheckUtils]: 8: Hoare triple {1130#true} assume !(0 == ~cond); {1130#true} is VALID [2022-04-27 13:09:04,532 INFO L290 TraceCheckUtils]: 9: Hoare triple {1130#true} assume true; {1130#true} is VALID [2022-04-27 13:09:04,532 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1130#true} {1130#true} #94#return; {1130#true} is VALID [2022-04-27 13:09:04,532 INFO L290 TraceCheckUtils]: 11: Hoare triple {1130#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1130#true} is VALID [2022-04-27 13:09:04,532 INFO L272 TraceCheckUtils]: 12: Hoare triple {1130#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {1130#true} is VALID [2022-04-27 13:09:04,532 INFO L290 TraceCheckUtils]: 13: Hoare triple {1130#true} ~cond := #in~cond; {1130#true} is VALID [2022-04-27 13:09:04,532 INFO L290 TraceCheckUtils]: 14: Hoare triple {1130#true} assume !(0 == ~cond); {1130#true} is VALID [2022-04-27 13:09:04,532 INFO L290 TraceCheckUtils]: 15: Hoare triple {1130#true} assume true; {1130#true} is VALID [2022-04-27 13:09:04,533 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1130#true} {1130#true} #96#return; {1130#true} is VALID [2022-04-27 13:09:04,533 INFO L272 TraceCheckUtils]: 17: Hoare triple {1130#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {1130#true} is VALID [2022-04-27 13:09:04,533 INFO L290 TraceCheckUtils]: 18: Hoare triple {1130#true} ~cond := #in~cond; {1189#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 13:09:04,533 INFO L290 TraceCheckUtils]: 19: Hoare triple {1189#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1193#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:09:04,534 INFO L290 TraceCheckUtils]: 20: Hoare triple {1193#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1193#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:09:04,534 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1193#(not (= |assume_abort_if_not_#in~cond| 0))} {1130#true} #98#return; {1200#(<= 1 main_~x~0)} is VALID [2022-04-27 13:09:04,534 INFO L272 TraceCheckUtils]: 22: Hoare triple {1200#(<= 1 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1130#true} is VALID [2022-04-27 13:09:04,534 INFO L290 TraceCheckUtils]: 23: Hoare triple {1130#true} ~cond := #in~cond; {1130#true} is VALID [2022-04-27 13:09:04,534 INFO L290 TraceCheckUtils]: 24: Hoare triple {1130#true} assume !(0 == ~cond); {1130#true} is VALID [2022-04-27 13:09:04,535 INFO L290 TraceCheckUtils]: 25: Hoare triple {1130#true} assume true; {1130#true} is VALID [2022-04-27 13:09:04,538 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {1130#true} {1200#(<= 1 main_~x~0)} #100#return; {1200#(<= 1 main_~x~0)} is VALID [2022-04-27 13:09:04,538 INFO L290 TraceCheckUtils]: 27: Hoare triple {1200#(<= 1 main_~x~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {1219#(<= 1 main_~a~0)} is VALID [2022-04-27 13:09:04,538 INFO L290 TraceCheckUtils]: 28: Hoare triple {1219#(<= 1 main_~a~0)} assume !false; {1219#(<= 1 main_~a~0)} is VALID [2022-04-27 13:09:04,539 INFO L290 TraceCheckUtils]: 29: Hoare triple {1219#(<= 1 main_~a~0)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {1226#(<= 1 main_~c~0)} is VALID [2022-04-27 13:09:04,539 INFO L290 TraceCheckUtils]: 30: Hoare triple {1226#(<= 1 main_~c~0)} assume !false; {1226#(<= 1 main_~c~0)} is VALID [2022-04-27 13:09:04,539 INFO L290 TraceCheckUtils]: 31: Hoare triple {1226#(<= 1 main_~c~0)} assume !(~c~0 >= ~b~0); {1226#(<= 1 main_~c~0)} is VALID [2022-04-27 13:09:04,540 INFO L290 TraceCheckUtils]: 32: Hoare triple {1226#(<= 1 main_~c~0)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {1236#(<= 1 main_~b~0)} is VALID [2022-04-27 13:09:04,540 INFO L290 TraceCheckUtils]: 33: Hoare triple {1236#(<= 1 main_~b~0)} assume !false; {1236#(<= 1 main_~b~0)} is VALID [2022-04-27 13:09:04,540 INFO L290 TraceCheckUtils]: 34: Hoare triple {1236#(<= 1 main_~b~0)} assume !(0 != ~b~0); {1131#false} is VALID [2022-04-27 13:09:04,541 INFO L272 TraceCheckUtils]: 35: Hoare triple {1131#false} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {1131#false} is VALID [2022-04-27 13:09:04,541 INFO L290 TraceCheckUtils]: 36: Hoare triple {1131#false} ~cond := #in~cond; {1131#false} is VALID [2022-04-27 13:09:04,541 INFO L290 TraceCheckUtils]: 37: Hoare triple {1131#false} assume 0 == ~cond; {1131#false} is VALID [2022-04-27 13:09:04,541 INFO L290 TraceCheckUtils]: 38: Hoare triple {1131#false} assume !false; {1131#false} is VALID [2022-04-27 13:09:04,541 INFO L134 CoverageAnalysis]: Checked inductivity of 26 backedges. 6 proven. 5 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-04-27 13:09:04,541 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:09:04,723 INFO L290 TraceCheckUtils]: 38: Hoare triple {1131#false} assume !false; {1131#false} is VALID [2022-04-27 13:09:04,723 INFO L290 TraceCheckUtils]: 37: Hoare triple {1131#false} assume 0 == ~cond; {1131#false} is VALID [2022-04-27 13:09:04,724 INFO L290 TraceCheckUtils]: 36: Hoare triple {1131#false} ~cond := #in~cond; {1131#false} is VALID [2022-04-27 13:09:04,724 INFO L272 TraceCheckUtils]: 35: Hoare triple {1131#false} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {1131#false} is VALID [2022-04-27 13:09:04,724 INFO L290 TraceCheckUtils]: 34: Hoare triple {1236#(<= 1 main_~b~0)} assume !(0 != ~b~0); {1131#false} is VALID [2022-04-27 13:09:04,724 INFO L290 TraceCheckUtils]: 33: Hoare triple {1236#(<= 1 main_~b~0)} assume !false; {1236#(<= 1 main_~b~0)} is VALID [2022-04-27 13:09:04,725 INFO L290 TraceCheckUtils]: 32: Hoare triple {1226#(<= 1 main_~c~0)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {1236#(<= 1 main_~b~0)} is VALID [2022-04-27 13:09:04,725 INFO L290 TraceCheckUtils]: 31: Hoare triple {1226#(<= 1 main_~c~0)} assume !(~c~0 >= ~b~0); {1226#(<= 1 main_~c~0)} is VALID [2022-04-27 13:09:04,725 INFO L290 TraceCheckUtils]: 30: Hoare triple {1226#(<= 1 main_~c~0)} assume !false; {1226#(<= 1 main_~c~0)} is VALID [2022-04-27 13:09:04,726 INFO L290 TraceCheckUtils]: 29: Hoare triple {1219#(<= 1 main_~a~0)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {1226#(<= 1 main_~c~0)} is VALID [2022-04-27 13:09:04,726 INFO L290 TraceCheckUtils]: 28: Hoare triple {1219#(<= 1 main_~a~0)} assume !false; {1219#(<= 1 main_~a~0)} is VALID [2022-04-27 13:09:04,726 INFO L290 TraceCheckUtils]: 27: Hoare triple {1200#(<= 1 main_~x~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {1219#(<= 1 main_~a~0)} is VALID [2022-04-27 13:09:04,727 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {1130#true} {1200#(<= 1 main_~x~0)} #100#return; {1200#(<= 1 main_~x~0)} is VALID [2022-04-27 13:09:04,727 INFO L290 TraceCheckUtils]: 25: Hoare triple {1130#true} assume true; {1130#true} is VALID [2022-04-27 13:09:04,727 INFO L290 TraceCheckUtils]: 24: Hoare triple {1130#true} assume !(0 == ~cond); {1130#true} is VALID [2022-04-27 13:09:04,727 INFO L290 TraceCheckUtils]: 23: Hoare triple {1130#true} ~cond := #in~cond; {1130#true} is VALID [2022-04-27 13:09:04,727 INFO L272 TraceCheckUtils]: 22: Hoare triple {1200#(<= 1 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1130#true} is VALID [2022-04-27 13:09:04,728 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1193#(not (= |assume_abort_if_not_#in~cond| 0))} {1130#true} #98#return; {1200#(<= 1 main_~x~0)} is VALID [2022-04-27 13:09:04,728 INFO L290 TraceCheckUtils]: 20: Hoare triple {1193#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1193#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:09:04,728 INFO L290 TraceCheckUtils]: 19: Hoare triple {1315#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {1193#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:09:04,729 INFO L290 TraceCheckUtils]: 18: Hoare triple {1130#true} ~cond := #in~cond; {1315#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-27 13:09:04,729 INFO L272 TraceCheckUtils]: 17: Hoare triple {1130#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {1130#true} is VALID [2022-04-27 13:09:04,729 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1130#true} {1130#true} #96#return; {1130#true} is VALID [2022-04-27 13:09:04,729 INFO L290 TraceCheckUtils]: 15: Hoare triple {1130#true} assume true; {1130#true} is VALID [2022-04-27 13:09:04,729 INFO L290 TraceCheckUtils]: 14: Hoare triple {1130#true} assume !(0 == ~cond); {1130#true} is VALID [2022-04-27 13:09:04,729 INFO L290 TraceCheckUtils]: 13: Hoare triple {1130#true} ~cond := #in~cond; {1130#true} is VALID [2022-04-27 13:09:04,729 INFO L272 TraceCheckUtils]: 12: Hoare triple {1130#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {1130#true} is VALID [2022-04-27 13:09:04,729 INFO L290 TraceCheckUtils]: 11: Hoare triple {1130#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1130#true} is VALID [2022-04-27 13:09:04,729 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1130#true} {1130#true} #94#return; {1130#true} is VALID [2022-04-27 13:09:04,729 INFO L290 TraceCheckUtils]: 9: Hoare triple {1130#true} assume true; {1130#true} is VALID [2022-04-27 13:09:04,729 INFO L290 TraceCheckUtils]: 8: Hoare triple {1130#true} assume !(0 == ~cond); {1130#true} is VALID [2022-04-27 13:09:04,729 INFO L290 TraceCheckUtils]: 7: Hoare triple {1130#true} ~cond := #in~cond; {1130#true} is VALID [2022-04-27 13:09:04,730 INFO L272 TraceCheckUtils]: 6: Hoare triple {1130#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {1130#true} is VALID [2022-04-27 13:09:04,730 INFO L290 TraceCheckUtils]: 5: Hoare triple {1130#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {1130#true} is VALID [2022-04-27 13:09:04,730 INFO L272 TraceCheckUtils]: 4: Hoare triple {1130#true} call #t~ret6 := main(); {1130#true} is VALID [2022-04-27 13:09:04,730 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1130#true} {1130#true} #112#return; {1130#true} is VALID [2022-04-27 13:09:04,730 INFO L290 TraceCheckUtils]: 2: Hoare triple {1130#true} assume true; {1130#true} is VALID [2022-04-27 13:09:04,730 INFO L290 TraceCheckUtils]: 1: Hoare triple {1130#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(11, 2);call #Ultimate.allocInit(12, 3); {1130#true} is VALID [2022-04-27 13:09:04,730 INFO L272 TraceCheckUtils]: 0: Hoare triple {1130#true} call ULTIMATE.init(); {1130#true} is VALID [2022-04-27 13:09:04,730 INFO L134 CoverageAnalysis]: Checked inductivity of 26 backedges. 6 proven. 5 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-04-27 13:09:04,730 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:09:04,731 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1822941120] [2022-04-27 13:09:04,731 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:09:04,731 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [798711466] [2022-04-27 13:09:04,731 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [798711466] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 13:09:04,731 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 13:09:04,731 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 9 [2022-04-27 13:09:04,731 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1625067630] [2022-04-27 13:09:04,731 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 13:09:04,731 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 8 states have internal predecessors, (23), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 39 [2022-04-27 13:09:04,732 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:09:04,732 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 8 states have internal predecessors, (23), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-27 13:09:04,751 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 35 edges. 35 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:09:04,751 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-27 13:09:04,751 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:09:04,752 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-27 13:09:04,752 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=55, Unknown=0, NotChecked=0, Total=72 [2022-04-27 13:09:04,752 INFO L87 Difference]: Start difference. First operand 50 states and 64 transitions. Second operand has 9 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 8 states have internal predecessors, (23), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-27 13:09:05,343 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:09:05,343 INFO L93 Difference]: Finished difference Result 103 states and 143 transitions. [2022-04-27 13:09:05,343 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-27 13:09:05,344 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 8 states have internal predecessors, (23), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 39 [2022-04-27 13:09:05,344 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:09:05,344 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 8 states have internal predecessors, (23), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-27 13:09:05,346 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 108 transitions. [2022-04-27 13:09:05,346 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 8 states have internal predecessors, (23), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-27 13:09:05,348 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 108 transitions. [2022-04-27 13:09:05,348 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 108 transitions. [2022-04-27 13:09:05,425 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 108 edges. 108 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:09:05,427 INFO L225 Difference]: With dead ends: 103 [2022-04-27 13:09:05,427 INFO L226 Difference]: Without dead ends: 96 [2022-04-27 13:09:05,427 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 82 GetRequests, 69 SyntacticMatches, 1 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 6 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=47, Invalid=135, Unknown=0, NotChecked=0, Total=182 [2022-04-27 13:09:05,428 INFO L413 NwaCegarLoop]: 52 mSDtfsCounter, 55 mSDsluCounter, 186 mSDsCounter, 0 mSdLazyCounter, 168 mSolverCounterSat, 46 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 59 SdHoareTripleChecker+Valid, 238 SdHoareTripleChecker+Invalid, 214 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 46 IncrementalHoareTripleChecker+Valid, 168 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-27 13:09:05,428 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [59 Valid, 238 Invalid, 214 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [46 Valid, 168 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-27 13:09:05,429 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 96 states. [2022-04-27 13:09:05,487 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 96 to 71. [2022-04-27 13:09:05,488 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:09:05,488 INFO L82 GeneralOperation]: Start isEquivalent. First operand 96 states. Second operand has 71 states, 47 states have (on average 1.2553191489361701) internal successors, (59), 48 states have internal predecessors, (59), 19 states have call successors, (19), 5 states have call predecessors, (19), 4 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-27 13:09:05,488 INFO L74 IsIncluded]: Start isIncluded. First operand 96 states. Second operand has 71 states, 47 states have (on average 1.2553191489361701) internal successors, (59), 48 states have internal predecessors, (59), 19 states have call successors, (19), 5 states have call predecessors, (19), 4 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-27 13:09:05,488 INFO L87 Difference]: Start difference. First operand 96 states. Second operand has 71 states, 47 states have (on average 1.2553191489361701) internal successors, (59), 48 states have internal predecessors, (59), 19 states have call successors, (19), 5 states have call predecessors, (19), 4 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-27 13:09:05,492 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:09:05,492 INFO L93 Difference]: Finished difference Result 96 states and 136 transitions. [2022-04-27 13:09:05,492 INFO L276 IsEmpty]: Start isEmpty. Operand 96 states and 136 transitions. [2022-04-27 13:09:05,492 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:09:05,492 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:09:05,493 INFO L74 IsIncluded]: Start isIncluded. First operand has 71 states, 47 states have (on average 1.2553191489361701) internal successors, (59), 48 states have internal predecessors, (59), 19 states have call successors, (19), 5 states have call predecessors, (19), 4 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) Second operand 96 states. [2022-04-27 13:09:05,493 INFO L87 Difference]: Start difference. First operand has 71 states, 47 states have (on average 1.2553191489361701) internal successors, (59), 48 states have internal predecessors, (59), 19 states have call successors, (19), 5 states have call predecessors, (19), 4 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) Second operand 96 states. [2022-04-27 13:09:05,496 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:09:05,496 INFO L93 Difference]: Finished difference Result 96 states and 136 transitions. [2022-04-27 13:09:05,496 INFO L276 IsEmpty]: Start isEmpty. Operand 96 states and 136 transitions. [2022-04-27 13:09:05,497 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:09:05,497 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:09:05,497 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:09:05,497 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:09:05,497 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 71 states, 47 states have (on average 1.2553191489361701) internal successors, (59), 48 states have internal predecessors, (59), 19 states have call successors, (19), 5 states have call predecessors, (19), 4 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-27 13:09:05,499 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 71 states to 71 states and 95 transitions. [2022-04-27 13:09:05,499 INFO L78 Accepts]: Start accepts. Automaton has 71 states and 95 transitions. Word has length 39 [2022-04-27 13:09:05,499 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:09:05,500 INFO L495 AbstractCegarLoop]: Abstraction has 71 states and 95 transitions. [2022-04-27 13:09:05,500 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 8 states have internal predecessors, (23), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-27 13:09:05,500 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 95 transitions. [2022-04-27 13:09:05,500 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 43 [2022-04-27 13:09:05,500 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:09:05,500 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:09:05,517 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 13:09:05,717 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 13:09:05,717 INFO L420 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:09:05,717 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:09:05,717 INFO L85 PathProgramCache]: Analyzing trace with hash -1286298951, now seen corresponding path program 1 times [2022-04-27 13:09:05,717 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:09:05,718 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [148836718] [2022-04-27 13:09:05,718 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:09:05,718 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:09:05,732 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:09:05,732 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [799656907] [2022-04-27 13:09:05,732 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:09:05,732 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:09:05,732 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:09:05,733 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 13:09:05,734 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 13:09:05,772 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:09:05,773 INFO L263 TraceCheckSpWp]: Trace formula consists of 126 conjuncts, 15 conjunts are in the unsatisfiable core [2022-04-27 13:09:05,781 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:09:05,782 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:09:08,247 INFO L272 TraceCheckUtils]: 0: Hoare triple {1841#true} call ULTIMATE.init(); {1841#true} is VALID [2022-04-27 13:09:08,247 INFO L290 TraceCheckUtils]: 1: Hoare triple {1841#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(11, 2);call #Ultimate.allocInit(12, 3); {1841#true} is VALID [2022-04-27 13:09:08,248 INFO L290 TraceCheckUtils]: 2: Hoare triple {1841#true} assume true; {1841#true} is VALID [2022-04-27 13:09:08,248 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1841#true} {1841#true} #112#return; {1841#true} is VALID [2022-04-27 13:09:08,248 INFO L272 TraceCheckUtils]: 4: Hoare triple {1841#true} call #t~ret6 := main(); {1841#true} is VALID [2022-04-27 13:09:08,248 INFO L290 TraceCheckUtils]: 5: Hoare triple {1841#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {1841#true} is VALID [2022-04-27 13:09:08,248 INFO L272 TraceCheckUtils]: 6: Hoare triple {1841#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {1841#true} is VALID [2022-04-27 13:09:08,248 INFO L290 TraceCheckUtils]: 7: Hoare triple {1841#true} ~cond := #in~cond; {1841#true} is VALID [2022-04-27 13:09:08,248 INFO L290 TraceCheckUtils]: 8: Hoare triple {1841#true} assume !(0 == ~cond); {1841#true} is VALID [2022-04-27 13:09:08,248 INFO L290 TraceCheckUtils]: 9: Hoare triple {1841#true} assume true; {1841#true} is VALID [2022-04-27 13:09:08,248 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1841#true} {1841#true} #94#return; {1841#true} is VALID [2022-04-27 13:09:08,248 INFO L290 TraceCheckUtils]: 11: Hoare triple {1841#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1841#true} is VALID [2022-04-27 13:09:08,248 INFO L272 TraceCheckUtils]: 12: Hoare triple {1841#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {1841#true} is VALID [2022-04-27 13:09:08,249 INFO L290 TraceCheckUtils]: 13: Hoare triple {1841#true} ~cond := #in~cond; {1885#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 13:09:08,249 INFO L290 TraceCheckUtils]: 14: Hoare triple {1885#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1889#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:09:08,249 INFO L290 TraceCheckUtils]: 15: Hoare triple {1889#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1889#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:09:08,250 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1889#(not (= |assume_abort_if_not_#in~cond| 0))} {1841#true} #96#return; {1896#(and (<= 0 main_~y~0) (<= main_~y~0 2))} is VALID [2022-04-27 13:09:08,250 INFO L272 TraceCheckUtils]: 17: Hoare triple {1896#(and (<= 0 main_~y~0) (<= main_~y~0 2))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {1841#true} is VALID [2022-04-27 13:09:08,250 INFO L290 TraceCheckUtils]: 18: Hoare triple {1841#true} ~cond := #in~cond; {1841#true} is VALID [2022-04-27 13:09:08,250 INFO L290 TraceCheckUtils]: 19: Hoare triple {1841#true} assume !(0 == ~cond); {1841#true} is VALID [2022-04-27 13:09:08,250 INFO L290 TraceCheckUtils]: 20: Hoare triple {1841#true} assume true; {1841#true} is VALID [2022-04-27 13:09:08,250 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1841#true} {1896#(and (<= 0 main_~y~0) (<= main_~y~0 2))} #98#return; {1896#(and (<= 0 main_~y~0) (<= main_~y~0 2))} is VALID [2022-04-27 13:09:08,251 INFO L272 TraceCheckUtils]: 22: Hoare triple {1896#(and (<= 0 main_~y~0) (<= main_~y~0 2))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1841#true} is VALID [2022-04-27 13:09:08,251 INFO L290 TraceCheckUtils]: 23: Hoare triple {1841#true} ~cond := #in~cond; {1841#true} is VALID [2022-04-27 13:09:08,251 INFO L290 TraceCheckUtils]: 24: Hoare triple {1841#true} assume !(0 == ~cond); {1841#true} is VALID [2022-04-27 13:09:08,251 INFO L290 TraceCheckUtils]: 25: Hoare triple {1841#true} assume true; {1841#true} is VALID [2022-04-27 13:09:08,251 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {1841#true} {1896#(and (<= 0 main_~y~0) (<= main_~y~0 2))} #100#return; {1896#(and (<= 0 main_~y~0) (<= main_~y~0 2))} is VALID [2022-04-27 13:09:08,252 INFO L290 TraceCheckUtils]: 27: Hoare triple {1896#(and (<= 0 main_~y~0) (<= main_~y~0 2))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {1930#(and (<= 0 main_~y~0) (<= main_~y~0 2) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-27 13:09:08,252 INFO L290 TraceCheckUtils]: 28: Hoare triple {1930#(and (<= 0 main_~y~0) (<= main_~y~0 2) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !false; {1930#(and (<= 0 main_~y~0) (<= main_~y~0 2) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-27 13:09:08,252 INFO L290 TraceCheckUtils]: 29: Hoare triple {1930#(and (<= 0 main_~y~0) (<= main_~y~0 2) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {1937#(and (<= 0 main_~y~0) (<= main_~y~0 2) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0))} is VALID [2022-04-27 13:09:08,253 INFO L290 TraceCheckUtils]: 30: Hoare triple {1937#(and (<= 0 main_~y~0) (<= main_~y~0 2) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0))} assume !false; {1937#(and (<= 0 main_~y~0) (<= main_~y~0 2) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0))} is VALID [2022-04-27 13:09:08,253 INFO L290 TraceCheckUtils]: 31: Hoare triple {1937#(and (<= 0 main_~y~0) (<= main_~y~0 2) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {1937#(and (<= 0 main_~y~0) (<= main_~y~0 2) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0))} is VALID [2022-04-27 13:09:08,253 INFO L290 TraceCheckUtils]: 32: Hoare triple {1937#(and (<= 0 main_~y~0) (<= main_~y~0 2) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0))} assume !false; {1937#(and (<= 0 main_~y~0) (<= main_~y~0 2) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0))} is VALID [2022-04-27 13:09:08,254 INFO L272 TraceCheckUtils]: 33: Hoare triple {1937#(and (<= 0 main_~y~0) (<= main_~y~0 2) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {1841#true} is VALID [2022-04-27 13:09:08,254 INFO L290 TraceCheckUtils]: 34: Hoare triple {1841#true} ~cond := #in~cond; {1841#true} is VALID [2022-04-27 13:09:08,254 INFO L290 TraceCheckUtils]: 35: Hoare triple {1841#true} assume !(0 == ~cond); {1841#true} is VALID [2022-04-27 13:09:08,254 INFO L290 TraceCheckUtils]: 36: Hoare triple {1841#true} assume true; {1841#true} is VALID [2022-04-27 13:09:08,254 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {1841#true} {1937#(and (<= 0 main_~y~0) (<= main_~y~0 2) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0))} #102#return; {1937#(and (<= 0 main_~y~0) (<= main_~y~0 2) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0))} is VALID [2022-04-27 13:09:08,255 INFO L272 TraceCheckUtils]: 38: Hoare triple {1937#(and (<= 0 main_~y~0) (<= main_~y~0 2) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {1965#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:09:08,255 INFO L290 TraceCheckUtils]: 39: Hoare triple {1965#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1969#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:09:08,256 INFO L290 TraceCheckUtils]: 40: Hoare triple {1969#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1842#false} is VALID [2022-04-27 13:09:08,256 INFO L290 TraceCheckUtils]: 41: Hoare triple {1842#false} assume !false; {1842#false} is VALID [2022-04-27 13:09:08,256 INFO L134 CoverageAnalysis]: Checked inductivity of 26 backedges. 5 proven. 6 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-04-27 13:09:08,256 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:09:42,962 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:09:42,962 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [148836718] [2022-04-27 13:09:42,962 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:09:42,962 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [799656907] [2022-04-27 13:09:42,962 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [799656907] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 13:09:42,962 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-27 13:09:42,962 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9] total 9 [2022-04-27 13:09:42,962 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [81111854] [2022-04-27 13:09:42,962 INFO L85 oduleStraightlineAll]: Using 1 imperfect interpolants to construct interpolant automaton [2022-04-27 13:09:42,963 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.4444444444444446) internal successors, (22), 7 states have internal predecessors, (22), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) Word has length 42 [2022-04-27 13:09:42,963 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:09:42,963 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 2.4444444444444446) internal successors, (22), 7 states have internal predecessors, (22), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-27 13:09:42,987 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 36 edges. 36 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:09:42,987 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-27 13:09:42,987 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:09:42,987 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-27 13:09:42,988 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=22, Invalid=68, Unknown=0, NotChecked=0, Total=90 [2022-04-27 13:09:42,988 INFO L87 Difference]: Start difference. First operand 71 states and 95 transitions. Second operand has 9 states, 9 states have (on average 2.4444444444444446) internal successors, (22), 7 states have internal predecessors, (22), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-27 13:09:43,382 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:09:43,382 INFO L93 Difference]: Finished difference Result 79 states and 102 transitions. [2022-04-27 13:09:43,382 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-27 13:09:43,382 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.4444444444444446) internal successors, (22), 7 states have internal predecessors, (22), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) Word has length 42 [2022-04-27 13:09:43,382 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:09:43,382 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.4444444444444446) internal successors, (22), 7 states have internal predecessors, (22), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-27 13:09:43,384 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 67 transitions. [2022-04-27 13:09:43,384 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.4444444444444446) internal successors, (22), 7 states have internal predecessors, (22), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-27 13:09:43,385 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 67 transitions. [2022-04-27 13:09:43,385 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 67 transitions. [2022-04-27 13:09:43,434 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 13:09:43,435 INFO L225 Difference]: With dead ends: 79 [2022-04-27 13:09:43,435 INFO L226 Difference]: Without dead ends: 77 [2022-04-27 13:09:43,436 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 48 GetRequests, 37 SyntacticMatches, 1 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 14 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=30, Invalid=102, Unknown=0, NotChecked=0, Total=132 [2022-04-27 13:09:43,436 INFO L413 NwaCegarLoop]: 38 mSDtfsCounter, 32 mSDsluCounter, 149 mSDsCounter, 0 mSdLazyCounter, 133 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 39 SdHoareTripleChecker+Valid, 187 SdHoareTripleChecker+Invalid, 138 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 133 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 13:09:43,436 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [39 Valid, 187 Invalid, 138 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 133 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 13:09:43,437 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 77 states. [2022-04-27 13:09:43,519 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 77 to 75. [2022-04-27 13:09:43,520 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:09:43,520 INFO L82 GeneralOperation]: Start isEquivalent. First operand 77 states. Second operand has 75 states, 50 states have (on average 1.24) internal successors, (62), 51 states have internal predecessors, (62), 19 states have call successors, (19), 6 states have call predecessors, (19), 5 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-27 13:09:43,520 INFO L74 IsIncluded]: Start isIncluded. First operand 77 states. Second operand has 75 states, 50 states have (on average 1.24) internal successors, (62), 51 states have internal predecessors, (62), 19 states have call successors, (19), 6 states have call predecessors, (19), 5 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-27 13:09:43,520 INFO L87 Difference]: Start difference. First operand 77 states. Second operand has 75 states, 50 states have (on average 1.24) internal successors, (62), 51 states have internal predecessors, (62), 19 states have call successors, (19), 6 states have call predecessors, (19), 5 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-27 13:09:43,523 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:09:43,523 INFO L93 Difference]: Finished difference Result 77 states and 100 transitions. [2022-04-27 13:09:43,523 INFO L276 IsEmpty]: Start isEmpty. Operand 77 states and 100 transitions. [2022-04-27 13:09:43,523 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:09:43,523 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:09:43,523 INFO L74 IsIncluded]: Start isIncluded. First operand has 75 states, 50 states have (on average 1.24) internal successors, (62), 51 states have internal predecessors, (62), 19 states have call successors, (19), 6 states have call predecessors, (19), 5 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) Second operand 77 states. [2022-04-27 13:09:43,524 INFO L87 Difference]: Start difference. First operand has 75 states, 50 states have (on average 1.24) internal successors, (62), 51 states have internal predecessors, (62), 19 states have call successors, (19), 6 states have call predecessors, (19), 5 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) Second operand 77 states. [2022-04-27 13:09:43,526 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:09:43,526 INFO L93 Difference]: Finished difference Result 77 states and 100 transitions. [2022-04-27 13:09:43,526 INFO L276 IsEmpty]: Start isEmpty. Operand 77 states and 100 transitions. [2022-04-27 13:09:43,528 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:09:43,528 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:09:43,528 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:09:43,528 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:09:43,528 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 75 states, 50 states have (on average 1.24) internal successors, (62), 51 states have internal predecessors, (62), 19 states have call successors, (19), 6 states have call predecessors, (19), 5 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-27 13:09:43,530 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 75 states to 75 states and 98 transitions. [2022-04-27 13:09:43,530 INFO L78 Accepts]: Start accepts. Automaton has 75 states and 98 transitions. Word has length 42 [2022-04-27 13:09:43,531 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:09:43,531 INFO L495 AbstractCegarLoop]: Abstraction has 75 states and 98 transitions. [2022-04-27 13:09:43,531 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 2.4444444444444446) internal successors, (22), 7 states have internal predecessors, (22), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-27 13:09:43,531 INFO L276 IsEmpty]: Start isEmpty. Operand 75 states and 98 transitions. [2022-04-27 13:09:43,531 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 43 [2022-04-27 13:09:43,531 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:09:43,531 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:09:43,548 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 13:09:43,748 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 13:09:43,748 INFO L420 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:09:43,749 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:09:43,749 INFO L85 PathProgramCache]: Analyzing trace with hash -974923140, now seen corresponding path program 1 times [2022-04-27 13:09:43,749 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:09:43,749 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [349628829] [2022-04-27 13:09:43,749 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:09:43,749 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:09:43,765 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:09:43,766 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [456992752] [2022-04-27 13:09:43,766 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:09:43,766 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:09:43,766 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:09:43,772 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 13:09:43,772 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 13:09:43,819 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:09:43,820 INFO L263 TraceCheckSpWp]: Trace formula consists of 139 conjuncts, 30 conjunts are in the unsatisfiable core [2022-04-27 13:09:43,833 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:09:43,835 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:09:44,252 INFO L272 TraceCheckUtils]: 0: Hoare triple {2379#true} call ULTIMATE.init(); {2379#true} is VALID [2022-04-27 13:09:44,252 INFO L290 TraceCheckUtils]: 1: Hoare triple {2379#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(11, 2);call #Ultimate.allocInit(12, 3); {2379#true} is VALID [2022-04-27 13:09:44,253 INFO L290 TraceCheckUtils]: 2: Hoare triple {2379#true} assume true; {2379#true} is VALID [2022-04-27 13:09:44,253 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2379#true} {2379#true} #112#return; {2379#true} is VALID [2022-04-27 13:09:44,253 INFO L272 TraceCheckUtils]: 4: Hoare triple {2379#true} call #t~ret6 := main(); {2379#true} is VALID [2022-04-27 13:09:44,253 INFO L290 TraceCheckUtils]: 5: Hoare triple {2379#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {2379#true} is VALID [2022-04-27 13:09:44,253 INFO L272 TraceCheckUtils]: 6: Hoare triple {2379#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {2379#true} is VALID [2022-04-27 13:09:44,253 INFO L290 TraceCheckUtils]: 7: Hoare triple {2379#true} ~cond := #in~cond; {2379#true} is VALID [2022-04-27 13:09:44,253 INFO L290 TraceCheckUtils]: 8: Hoare triple {2379#true} assume !(0 == ~cond); {2379#true} is VALID [2022-04-27 13:09:44,253 INFO L290 TraceCheckUtils]: 9: Hoare triple {2379#true} assume true; {2379#true} is VALID [2022-04-27 13:09:44,253 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2379#true} {2379#true} #94#return; {2379#true} is VALID [2022-04-27 13:09:44,253 INFO L290 TraceCheckUtils]: 11: Hoare triple {2379#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2379#true} is VALID [2022-04-27 13:09:44,253 INFO L272 TraceCheckUtils]: 12: Hoare triple {2379#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {2379#true} is VALID [2022-04-27 13:09:44,267 INFO L290 TraceCheckUtils]: 13: Hoare triple {2379#true} ~cond := #in~cond; {2423#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 13:09:44,268 INFO L290 TraceCheckUtils]: 14: Hoare triple {2423#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {2427#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:09:44,268 INFO L290 TraceCheckUtils]: 15: Hoare triple {2427#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2427#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:09:44,268 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2427#(not (= |assume_abort_if_not_#in~cond| 0))} {2379#true} #96#return; {2434#(and (<= 0 main_~y~0) (<= main_~y~0 2))} is VALID [2022-04-27 13:09:44,268 INFO L272 TraceCheckUtils]: 17: Hoare triple {2434#(and (<= 0 main_~y~0) (<= main_~y~0 2))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2379#true} is VALID [2022-04-27 13:09:44,269 INFO L290 TraceCheckUtils]: 18: Hoare triple {2379#true} ~cond := #in~cond; {2423#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 13:09:44,269 INFO L290 TraceCheckUtils]: 19: Hoare triple {2423#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {2427#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:09:44,269 INFO L290 TraceCheckUtils]: 20: Hoare triple {2427#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2427#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:09:44,269 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2427#(not (= |assume_abort_if_not_#in~cond| 0))} {2434#(and (<= 0 main_~y~0) (<= main_~y~0 2))} #98#return; {2450#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 2))} is VALID [2022-04-27 13:09:44,270 INFO L272 TraceCheckUtils]: 22: Hoare triple {2450#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 2))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2379#true} is VALID [2022-04-27 13:09:44,270 INFO L290 TraceCheckUtils]: 23: Hoare triple {2379#true} ~cond := #in~cond; {2379#true} is VALID [2022-04-27 13:09:44,270 INFO L290 TraceCheckUtils]: 24: Hoare triple {2379#true} assume !(0 == ~cond); {2379#true} is VALID [2022-04-27 13:09:44,270 INFO L290 TraceCheckUtils]: 25: Hoare triple {2379#true} assume true; {2379#true} is VALID [2022-04-27 13:09:44,270 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2379#true} {2450#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 2))} #100#return; {2450#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 2))} is VALID [2022-04-27 13:09:44,271 INFO L290 TraceCheckUtils]: 27: Hoare triple {2450#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 2))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {2469#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 main_~a~0))} is VALID [2022-04-27 13:09:44,272 INFO L290 TraceCheckUtils]: 28: Hoare triple {2469#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 main_~a~0))} assume !false; {2469#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 main_~a~0))} is VALID [2022-04-27 13:09:44,272 INFO L290 TraceCheckUtils]: 29: Hoare triple {2469#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 main_~a~0))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {2476#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~s~0 1) (<= main_~x~0 main_~c~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-27 13:09:44,272 INFO L290 TraceCheckUtils]: 30: Hoare triple {2476#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~s~0 1) (<= main_~x~0 main_~c~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !false; {2476#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~s~0 1) (<= main_~x~0 main_~c~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-27 13:09:44,273 INFO L290 TraceCheckUtils]: 31: Hoare triple {2476#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~s~0 1) (<= main_~x~0 main_~c~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !(~c~0 >= ~b~0); {2483#(and (<= 1 main_~x~0) (< main_~x~0 main_~b~0) (<= main_~y~0 2) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-27 13:09:44,273 INFO L290 TraceCheckUtils]: 32: Hoare triple {2483#(and (<= 1 main_~x~0) (< main_~x~0 main_~b~0) (<= main_~y~0 2) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {2487#(and (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (< main_~x~0 main_~a~0))} is VALID [2022-04-27 13:09:44,274 INFO L290 TraceCheckUtils]: 33: Hoare triple {2487#(and (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (< main_~x~0 main_~a~0))} assume !false; {2487#(and (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (< main_~x~0 main_~a~0))} is VALID [2022-04-27 13:09:44,274 INFO L290 TraceCheckUtils]: 34: Hoare triple {2487#(and (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (< main_~x~0 main_~a~0))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {2487#(and (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (< main_~x~0 main_~a~0))} is VALID [2022-04-27 13:09:44,274 INFO L290 TraceCheckUtils]: 35: Hoare triple {2487#(and (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (< main_~x~0 main_~a~0))} assume !false; {2487#(and (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (< main_~x~0 main_~a~0))} is VALID [2022-04-27 13:09:44,275 INFO L290 TraceCheckUtils]: 36: Hoare triple {2487#(and (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (< main_~x~0 main_~a~0))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {2487#(and (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (< main_~x~0 main_~a~0))} is VALID [2022-04-27 13:09:44,275 INFO L290 TraceCheckUtils]: 37: Hoare triple {2487#(and (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (< main_~x~0 main_~a~0))} assume !false; {2487#(and (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (< main_~x~0 main_~a~0))} is VALID [2022-04-27 13:09:44,276 INFO L272 TraceCheckUtils]: 38: Hoare triple {2487#(and (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (< main_~x~0 main_~a~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {2506#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:09:44,276 INFO L290 TraceCheckUtils]: 39: Hoare triple {2506#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2510#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:09:44,276 INFO L290 TraceCheckUtils]: 40: Hoare triple {2510#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2380#false} is VALID [2022-04-27 13:09:44,276 INFO L290 TraceCheckUtils]: 41: Hoare triple {2380#false} assume !false; {2380#false} is VALID [2022-04-27 13:09:44,276 INFO L134 CoverageAnalysis]: Checked inductivity of 28 backedges. 6 proven. 10 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-27 13:09:44,277 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:09:44,522 INFO L290 TraceCheckUtils]: 41: Hoare triple {2380#false} assume !false; {2380#false} is VALID [2022-04-27 13:09:44,523 INFO L290 TraceCheckUtils]: 40: Hoare triple {2510#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2380#false} is VALID [2022-04-27 13:09:44,523 INFO L290 TraceCheckUtils]: 39: Hoare triple {2506#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2510#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:09:44,524 INFO L272 TraceCheckUtils]: 38: Hoare triple {2526#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {2506#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:09:44,524 INFO L290 TraceCheckUtils]: 37: Hoare triple {2526#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {2526#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-27 13:09:44,524 INFO L290 TraceCheckUtils]: 36: Hoare triple {2526#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {2526#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-27 13:09:44,525 INFO L290 TraceCheckUtils]: 35: Hoare triple {2526#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {2526#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-27 13:09:44,525 INFO L290 TraceCheckUtils]: 34: Hoare triple {2526#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {2526#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-27 13:09:44,525 INFO L290 TraceCheckUtils]: 33: Hoare triple {2526#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {2526#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-27 13:09:44,527 INFO L290 TraceCheckUtils]: 32: Hoare triple {2545#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {2526#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-27 13:09:44,527 INFO L290 TraceCheckUtils]: 31: Hoare triple {2549#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~b~0 main_~c~0))} assume !(~c~0 >= ~b~0); {2545#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-27 13:09:44,527 INFO L290 TraceCheckUtils]: 30: Hoare triple {2549#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~b~0 main_~c~0))} assume !false; {2549#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~b~0 main_~c~0))} is VALID [2022-04-27 13:09:44,530 INFO L290 TraceCheckUtils]: 29: Hoare triple {2556#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~b~0 main_~a~0))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {2549#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~b~0 main_~c~0))} is VALID [2022-04-27 13:09:44,530 INFO L290 TraceCheckUtils]: 28: Hoare triple {2556#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~b~0 main_~a~0))} assume !false; {2556#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~b~0 main_~a~0))} is VALID [2022-04-27 13:09:44,530 INFO L290 TraceCheckUtils]: 27: Hoare triple {2379#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {2556#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~b~0 main_~a~0))} is VALID [2022-04-27 13:09:44,530 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2379#true} {2379#true} #100#return; {2379#true} is VALID [2022-04-27 13:09:44,530 INFO L290 TraceCheckUtils]: 25: Hoare triple {2379#true} assume true; {2379#true} is VALID [2022-04-27 13:09:44,530 INFO L290 TraceCheckUtils]: 24: Hoare triple {2379#true} assume !(0 == ~cond); {2379#true} is VALID [2022-04-27 13:09:44,531 INFO L290 TraceCheckUtils]: 23: Hoare triple {2379#true} ~cond := #in~cond; {2379#true} is VALID [2022-04-27 13:09:44,531 INFO L272 TraceCheckUtils]: 22: Hoare triple {2379#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2379#true} is VALID [2022-04-27 13:09:44,531 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2379#true} {2379#true} #98#return; {2379#true} is VALID [2022-04-27 13:09:44,531 INFO L290 TraceCheckUtils]: 20: Hoare triple {2379#true} assume true; {2379#true} is VALID [2022-04-27 13:09:44,531 INFO L290 TraceCheckUtils]: 19: Hoare triple {2379#true} assume !(0 == ~cond); {2379#true} is VALID [2022-04-27 13:09:44,531 INFO L290 TraceCheckUtils]: 18: Hoare triple {2379#true} ~cond := #in~cond; {2379#true} is VALID [2022-04-27 13:09:44,531 INFO L272 TraceCheckUtils]: 17: Hoare triple {2379#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2379#true} is VALID [2022-04-27 13:09:44,531 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2379#true} {2379#true} #96#return; {2379#true} is VALID [2022-04-27 13:09:44,531 INFO L290 TraceCheckUtils]: 15: Hoare triple {2379#true} assume true; {2379#true} is VALID [2022-04-27 13:09:44,531 INFO L290 TraceCheckUtils]: 14: Hoare triple {2379#true} assume !(0 == ~cond); {2379#true} is VALID [2022-04-27 13:09:44,531 INFO L290 TraceCheckUtils]: 13: Hoare triple {2379#true} ~cond := #in~cond; {2379#true} is VALID [2022-04-27 13:09:44,531 INFO L272 TraceCheckUtils]: 12: Hoare triple {2379#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {2379#true} is VALID [2022-04-27 13:09:44,531 INFO L290 TraceCheckUtils]: 11: Hoare triple {2379#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2379#true} is VALID [2022-04-27 13:09:44,532 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2379#true} {2379#true} #94#return; {2379#true} is VALID [2022-04-27 13:09:44,532 INFO L290 TraceCheckUtils]: 9: Hoare triple {2379#true} assume true; {2379#true} is VALID [2022-04-27 13:09:44,532 INFO L290 TraceCheckUtils]: 8: Hoare triple {2379#true} assume !(0 == ~cond); {2379#true} is VALID [2022-04-27 13:09:44,532 INFO L290 TraceCheckUtils]: 7: Hoare triple {2379#true} ~cond := #in~cond; {2379#true} is VALID [2022-04-27 13:09:44,532 INFO L272 TraceCheckUtils]: 6: Hoare triple {2379#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {2379#true} is VALID [2022-04-27 13:09:44,532 INFO L290 TraceCheckUtils]: 5: Hoare triple {2379#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {2379#true} is VALID [2022-04-27 13:09:44,532 INFO L272 TraceCheckUtils]: 4: Hoare triple {2379#true} call #t~ret6 := main(); {2379#true} is VALID [2022-04-27 13:09:44,532 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2379#true} {2379#true} #112#return; {2379#true} is VALID [2022-04-27 13:09:44,532 INFO L290 TraceCheckUtils]: 2: Hoare triple {2379#true} assume true; {2379#true} is VALID [2022-04-27 13:09:44,532 INFO L290 TraceCheckUtils]: 1: Hoare triple {2379#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(11, 2);call #Ultimate.allocInit(12, 3); {2379#true} is VALID [2022-04-27 13:09:44,532 INFO L272 TraceCheckUtils]: 0: Hoare triple {2379#true} call ULTIMATE.init(); {2379#true} is VALID [2022-04-27 13:09:44,532 INFO L134 CoverageAnalysis]: Checked inductivity of 28 backedges. 0 proven. 4 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-27 13:09:44,533 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:09:44,533 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [349628829] [2022-04-27 13:09:44,533 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:09:44,533 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [456992752] [2022-04-27 13:09:44,533 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [456992752] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 13:09:44,533 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 13:09:44,533 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 8] total 16 [2022-04-27 13:09:44,533 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [216038715] [2022-04-27 13:09:44,533 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 13:09:44,534 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 15 states have (on average 2.3333333333333335) internal successors, (35), 13 states have internal predecessors, (35), 5 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) Word has length 42 [2022-04-27 13:09:44,534 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:09:44,534 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 16 states, 15 states have (on average 2.3333333333333335) internal successors, (35), 13 states have internal predecessors, (35), 5 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) [2022-04-27 13:09:44,568 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 13:09:44,568 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-04-27 13:09:44,568 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:09:44,569 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-04-27 13:09:44,569 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=50, Invalid=190, Unknown=0, NotChecked=0, Total=240 [2022-04-27 13:09:44,569 INFO L87 Difference]: Start difference. First operand 75 states and 98 transitions. Second operand has 16 states, 15 states have (on average 2.3333333333333335) internal successors, (35), 13 states have internal predecessors, (35), 5 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) [2022-04-27 13:09:50,229 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:09:50,229 INFO L93 Difference]: Finished difference Result 118 states and 159 transitions. [2022-04-27 13:09:50,229 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-27 13:09:50,230 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 15 states have (on average 2.3333333333333335) internal successors, (35), 13 states have internal predecessors, (35), 5 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) Word has length 42 [2022-04-27 13:09:50,230 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:09:50,230 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 15 states have (on average 2.3333333333333335) internal successors, (35), 13 states have internal predecessors, (35), 5 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) [2022-04-27 13:09:50,236 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 121 transitions. [2022-04-27 13:09:50,237 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 15 states have (on average 2.3333333333333335) internal successors, (35), 13 states have internal predecessors, (35), 5 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) [2022-04-27 13:09:50,240 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 121 transitions. [2022-04-27 13:09:50,240 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 121 transitions. [2022-04-27 13:09:50,337 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 121 edges. 121 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:09:50,341 INFO L225 Difference]: With dead ends: 118 [2022-04-27 13:09:50,341 INFO L226 Difference]: Without dead ends: 116 [2022-04-27 13:09:50,341 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 92 GetRequests, 68 SyntacticMatches, 1 SemanticMatches, 23 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 88 ImplicationChecksByTransitivity, 1.0s TimeCoverageRelationStatistics Valid=132, Invalid=468, Unknown=0, NotChecked=0, Total=600 [2022-04-27 13:09:50,347 INFO L413 NwaCegarLoop]: 47 mSDtfsCounter, 100 mSDsluCounter, 224 mSDsCounter, 0 mSdLazyCounter, 428 mSolverCounterSat, 100 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 101 SdHoareTripleChecker+Valid, 271 SdHoareTripleChecker+Invalid, 528 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 100 IncrementalHoareTripleChecker+Valid, 428 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.7s IncrementalHoareTripleChecker+Time [2022-04-27 13:09:50,347 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [101 Valid, 271 Invalid, 528 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [100 Valid, 428 Invalid, 0 Unknown, 0 Unchecked, 1.7s Time] [2022-04-27 13:09:50,348 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 116 states. [2022-04-27 13:09:50,473 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 116 to 105. [2022-04-27 13:09:50,474 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:09:50,474 INFO L82 GeneralOperation]: Start isEquivalent. First operand 116 states. Second operand has 105 states, 71 states have (on average 1.2535211267605635) internal successors, (89), 72 states have internal predecessors, (89), 27 states have call successors, (27), 7 states have call predecessors, (27), 6 states have return successors, (25), 25 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-27 13:09:50,474 INFO L74 IsIncluded]: Start isIncluded. First operand 116 states. Second operand has 105 states, 71 states have (on average 1.2535211267605635) internal successors, (89), 72 states have internal predecessors, (89), 27 states have call successors, (27), 7 states have call predecessors, (27), 6 states have return successors, (25), 25 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-27 13:09:50,474 INFO L87 Difference]: Start difference. First operand 116 states. Second operand has 105 states, 71 states have (on average 1.2535211267605635) internal successors, (89), 72 states have internal predecessors, (89), 27 states have call successors, (27), 7 states have call predecessors, (27), 6 states have return successors, (25), 25 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-27 13:09:50,477 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:09:50,477 INFO L93 Difference]: Finished difference Result 116 states and 157 transitions. [2022-04-27 13:09:50,477 INFO L276 IsEmpty]: Start isEmpty. Operand 116 states and 157 transitions. [2022-04-27 13:09:50,478 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:09:50,478 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:09:50,478 INFO L74 IsIncluded]: Start isIncluded. First operand has 105 states, 71 states have (on average 1.2535211267605635) internal successors, (89), 72 states have internal predecessors, (89), 27 states have call successors, (27), 7 states have call predecessors, (27), 6 states have return successors, (25), 25 states have call predecessors, (25), 25 states have call successors, (25) Second operand 116 states. [2022-04-27 13:09:50,478 INFO L87 Difference]: Start difference. First operand has 105 states, 71 states have (on average 1.2535211267605635) internal successors, (89), 72 states have internal predecessors, (89), 27 states have call successors, (27), 7 states have call predecessors, (27), 6 states have return successors, (25), 25 states have call predecessors, (25), 25 states have call successors, (25) Second operand 116 states. [2022-04-27 13:09:50,482 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:09:50,482 INFO L93 Difference]: Finished difference Result 116 states and 157 transitions. [2022-04-27 13:09:50,482 INFO L276 IsEmpty]: Start isEmpty. Operand 116 states and 157 transitions. [2022-04-27 13:09:50,483 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:09:50,483 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:09:50,483 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:09:50,483 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:09:50,483 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 105 states, 71 states have (on average 1.2535211267605635) internal successors, (89), 72 states have internal predecessors, (89), 27 states have call successors, (27), 7 states have call predecessors, (27), 6 states have return successors, (25), 25 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-27 13:09:50,485 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 105 states to 105 states and 141 transitions. [2022-04-27 13:09:50,485 INFO L78 Accepts]: Start accepts. Automaton has 105 states and 141 transitions. Word has length 42 [2022-04-27 13:09:50,485 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:09:50,486 INFO L495 AbstractCegarLoop]: Abstraction has 105 states and 141 transitions. [2022-04-27 13:09:50,486 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 16 states, 15 states have (on average 2.3333333333333335) internal successors, (35), 13 states have internal predecessors, (35), 5 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) [2022-04-27 13:09:50,486 INFO L276 IsEmpty]: Start isEmpty. Operand 105 states and 141 transitions. [2022-04-27 13:09:50,487 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 48 [2022-04-27 13:09:50,487 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:09:50,487 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:09:50,505 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Ended with exit code 0 [2022-04-27 13:09:50,705 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 13:09:50,705 INFO L420 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:09:50,706 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:09:50,706 INFO L85 PathProgramCache]: Analyzing trace with hash 81990170, now seen corresponding path program 1 times [2022-04-27 13:09:50,706 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:09:50,706 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [19125506] [2022-04-27 13:09:50,706 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:09:50,706 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:09:50,717 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:09:50,717 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [995137672] [2022-04-27 13:09:50,717 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:09:50,717 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:09:50,717 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:09:50,718 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 13:09:50,719 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 13:09:50,751 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:09:50,752 INFO L263 TraceCheckSpWp]: Trace formula consists of 135 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-27 13:09:50,757 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:09:50,758 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:09:53,227 INFO L272 TraceCheckUtils]: 0: Hoare triple {3233#true} call ULTIMATE.init(); {3233#true} is VALID [2022-04-27 13:09:53,227 INFO L290 TraceCheckUtils]: 1: Hoare triple {3233#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(11, 2);call #Ultimate.allocInit(12, 3); {3233#true} is VALID [2022-04-27 13:09:53,227 INFO L290 TraceCheckUtils]: 2: Hoare triple {3233#true} assume true; {3233#true} is VALID [2022-04-27 13:09:53,227 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3233#true} {3233#true} #112#return; {3233#true} is VALID [2022-04-27 13:09:53,228 INFO L272 TraceCheckUtils]: 4: Hoare triple {3233#true} call #t~ret6 := main(); {3233#true} is VALID [2022-04-27 13:09:53,228 INFO L290 TraceCheckUtils]: 5: Hoare triple {3233#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {3233#true} is VALID [2022-04-27 13:09:53,228 INFO L272 TraceCheckUtils]: 6: Hoare triple {3233#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {3233#true} is VALID [2022-04-27 13:09:53,228 INFO L290 TraceCheckUtils]: 7: Hoare triple {3233#true} ~cond := #in~cond; {3233#true} is VALID [2022-04-27 13:09:53,228 INFO L290 TraceCheckUtils]: 8: Hoare triple {3233#true} assume !(0 == ~cond); {3233#true} is VALID [2022-04-27 13:09:53,228 INFO L290 TraceCheckUtils]: 9: Hoare triple {3233#true} assume true; {3233#true} is VALID [2022-04-27 13:09:53,228 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3233#true} {3233#true} #94#return; {3233#true} is VALID [2022-04-27 13:09:53,228 INFO L290 TraceCheckUtils]: 11: Hoare triple {3233#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {3233#true} is VALID [2022-04-27 13:09:53,228 INFO L272 TraceCheckUtils]: 12: Hoare triple {3233#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {3233#true} is VALID [2022-04-27 13:09:53,228 INFO L290 TraceCheckUtils]: 13: Hoare triple {3233#true} ~cond := #in~cond; {3233#true} is VALID [2022-04-27 13:09:53,228 INFO L290 TraceCheckUtils]: 14: Hoare triple {3233#true} assume !(0 == ~cond); {3233#true} is VALID [2022-04-27 13:09:53,228 INFO L290 TraceCheckUtils]: 15: Hoare triple {3233#true} assume true; {3233#true} is VALID [2022-04-27 13:09:53,229 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3233#true} {3233#true} #96#return; {3233#true} is VALID [2022-04-27 13:09:53,229 INFO L272 TraceCheckUtils]: 17: Hoare triple {3233#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {3233#true} is VALID [2022-04-27 13:09:53,229 INFO L290 TraceCheckUtils]: 18: Hoare triple {3233#true} ~cond := #in~cond; {3233#true} is VALID [2022-04-27 13:09:53,229 INFO L290 TraceCheckUtils]: 19: Hoare triple {3233#true} assume !(0 == ~cond); {3233#true} is VALID [2022-04-27 13:09:53,229 INFO L290 TraceCheckUtils]: 20: Hoare triple {3233#true} assume true; {3233#true} is VALID [2022-04-27 13:09:53,229 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3233#true} {3233#true} #98#return; {3233#true} is VALID [2022-04-27 13:09:53,229 INFO L272 TraceCheckUtils]: 22: Hoare triple {3233#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {3233#true} is VALID [2022-04-27 13:09:53,229 INFO L290 TraceCheckUtils]: 23: Hoare triple {3233#true} ~cond := #in~cond; {3233#true} is VALID [2022-04-27 13:09:53,229 INFO L290 TraceCheckUtils]: 24: Hoare triple {3233#true} assume !(0 == ~cond); {3233#true} is VALID [2022-04-27 13:09:53,229 INFO L290 TraceCheckUtils]: 25: Hoare triple {3233#true} assume true; {3233#true} is VALID [2022-04-27 13:09:53,229 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {3233#true} {3233#true} #100#return; {3233#true} is VALID [2022-04-27 13:09:53,229 INFO L290 TraceCheckUtils]: 27: Hoare triple {3233#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {3233#true} is VALID [2022-04-27 13:09:53,229 INFO L290 TraceCheckUtils]: 28: Hoare triple {3233#true} assume !false; {3233#true} is VALID [2022-04-27 13:09:53,235 INFO L290 TraceCheckUtils]: 29: Hoare triple {3233#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {3325#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} is VALID [2022-04-27 13:09:53,235 INFO L290 TraceCheckUtils]: 30: Hoare triple {3325#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} assume !false; {3325#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} is VALID [2022-04-27 13:09:53,235 INFO L290 TraceCheckUtils]: 31: Hoare triple {3325#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {3325#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} is VALID [2022-04-27 13:09:53,236 INFO L290 TraceCheckUtils]: 32: Hoare triple {3325#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} assume !false; {3325#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} is VALID [2022-04-27 13:09:53,236 INFO L272 TraceCheckUtils]: 33: Hoare triple {3325#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {3233#true} is VALID [2022-04-27 13:09:53,236 INFO L290 TraceCheckUtils]: 34: Hoare triple {3233#true} ~cond := #in~cond; {3233#true} is VALID [2022-04-27 13:09:53,236 INFO L290 TraceCheckUtils]: 35: Hoare triple {3233#true} assume !(0 == ~cond); {3233#true} is VALID [2022-04-27 13:09:53,236 INFO L290 TraceCheckUtils]: 36: Hoare triple {3233#true} assume true; {3233#true} is VALID [2022-04-27 13:09:53,237 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {3233#true} {3325#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} #102#return; {3325#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} is VALID [2022-04-27 13:09:53,237 INFO L272 TraceCheckUtils]: 38: Hoare triple {3325#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {3233#true} is VALID [2022-04-27 13:09:53,237 INFO L290 TraceCheckUtils]: 39: Hoare triple {3233#true} ~cond := #in~cond; {3233#true} is VALID [2022-04-27 13:09:53,237 INFO L290 TraceCheckUtils]: 40: Hoare triple {3233#true} assume !(0 == ~cond); {3233#true} is VALID [2022-04-27 13:09:53,237 INFO L290 TraceCheckUtils]: 41: Hoare triple {3233#true} assume true; {3233#true} is VALID [2022-04-27 13:09:53,238 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {3233#true} {3325#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} #104#return; {3325#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} is VALID [2022-04-27 13:09:53,239 INFO L272 TraceCheckUtils]: 43: Hoare triple {3325#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {3368#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:09:53,239 INFO L290 TraceCheckUtils]: 44: Hoare triple {3368#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3372#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:09:53,239 INFO L290 TraceCheckUtils]: 45: Hoare triple {3372#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3234#false} is VALID [2022-04-27 13:09:53,240 INFO L290 TraceCheckUtils]: 46: Hoare triple {3234#false} assume !false; {3234#false} is VALID [2022-04-27 13:09:53,240 INFO L134 CoverageAnalysis]: Checked inductivity of 32 backedges. 4 proven. 0 refuted. 0 times theorem prover too weak. 28 trivial. 0 not checked. [2022-04-27 13:09:53,240 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-27 13:09:53,240 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:09:53,240 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [19125506] [2022-04-27 13:09:53,240 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:09:53,240 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [995137672] [2022-04-27 13:09:53,240 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [995137672] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 13:09:53,240 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 13:09:53,240 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-27 13:09:53,240 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1860148918] [2022-04-27 13:09:53,240 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 13:09:53,241 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 47 [2022-04-27 13:09:53,241 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:09:53,241 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-27 13:09:53,264 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 35 edges. 35 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:09:53,264 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-27 13:09:53,264 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:09:53,265 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-27 13:09:53,265 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-27 13:09:53,265 INFO L87 Difference]: Start difference. First operand 105 states and 141 transitions. Second operand has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-27 13:09:53,644 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:09:53,644 INFO L93 Difference]: Finished difference Result 151 states and 213 transitions. [2022-04-27 13:09:53,644 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-27 13:09:53,644 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 47 [2022-04-27 13:09:53,644 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:09:53,644 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-27 13:09:53,645 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-27 13:09:53,645 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-27 13:09:53,646 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-27 13:09:53,646 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 65 transitions. [2022-04-27 13:09:53,673 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:09:53,676 INFO L225 Difference]: With dead ends: 151 [2022-04-27 13:09:53,676 INFO L226 Difference]: Without dead ends: 149 [2022-04-27 13:09:53,676 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 47 GetRequests, 43 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-27 13:09:53,677 INFO L413 NwaCegarLoop]: 42 mSDtfsCounter, 8 mSDsluCounter, 104 mSDsCounter, 0 mSdLazyCounter, 47 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 10 SdHoareTripleChecker+Valid, 146 SdHoareTripleChecker+Invalid, 47 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 47 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 13:09:53,677 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [10 Valid, 146 Invalid, 47 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 47 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 13:09:53,677 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 149 states. [2022-04-27 13:09:53,841 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 149 to 143. [2022-04-27 13:09:53,842 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:09:53,842 INFO L82 GeneralOperation]: Start isEquivalent. First operand 149 states. Second operand has 143 states, 88 states have (on average 1.2840909090909092) internal successors, (113), 89 states have internal predecessors, (113), 47 states have call successors, (47), 8 states have call predecessors, (47), 7 states have return successors, (45), 45 states have call predecessors, (45), 45 states have call successors, (45) [2022-04-27 13:09:53,842 INFO L74 IsIncluded]: Start isIncluded. First operand 149 states. Second operand has 143 states, 88 states have (on average 1.2840909090909092) internal successors, (113), 89 states have internal predecessors, (113), 47 states have call successors, (47), 8 states have call predecessors, (47), 7 states have return successors, (45), 45 states have call predecessors, (45), 45 states have call successors, (45) [2022-04-27 13:09:53,843 INFO L87 Difference]: Start difference. First operand 149 states. Second operand has 143 states, 88 states have (on average 1.2840909090909092) internal successors, (113), 89 states have internal predecessors, (113), 47 states have call successors, (47), 8 states have call predecessors, (47), 7 states have return successors, (45), 45 states have call predecessors, (45), 45 states have call successors, (45) [2022-04-27 13:09:53,847 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:09:53,847 INFO L93 Difference]: Finished difference Result 149 states and 211 transitions. [2022-04-27 13:09:53,847 INFO L276 IsEmpty]: Start isEmpty. Operand 149 states and 211 transitions. [2022-04-27 13:09:53,847 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:09:53,848 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:09:53,848 INFO L74 IsIncluded]: Start isIncluded. First operand has 143 states, 88 states have (on average 1.2840909090909092) internal successors, (113), 89 states have internal predecessors, (113), 47 states have call successors, (47), 8 states have call predecessors, (47), 7 states have return successors, (45), 45 states have call predecessors, (45), 45 states have call successors, (45) Second operand 149 states. [2022-04-27 13:09:53,848 INFO L87 Difference]: Start difference. First operand has 143 states, 88 states have (on average 1.2840909090909092) internal successors, (113), 89 states have internal predecessors, (113), 47 states have call successors, (47), 8 states have call predecessors, (47), 7 states have return successors, (45), 45 states have call predecessors, (45), 45 states have call successors, (45) Second operand 149 states. [2022-04-27 13:09:53,852 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:09:53,852 INFO L93 Difference]: Finished difference Result 149 states and 211 transitions. [2022-04-27 13:09:53,852 INFO L276 IsEmpty]: Start isEmpty. Operand 149 states and 211 transitions. [2022-04-27 13:09:53,853 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:09:53,853 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:09:53,853 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:09:53,853 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:09:53,853 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 143 states, 88 states have (on average 1.2840909090909092) internal successors, (113), 89 states have internal predecessors, (113), 47 states have call successors, (47), 8 states have call predecessors, (47), 7 states have return successors, (45), 45 states have call predecessors, (45), 45 states have call successors, (45) [2022-04-27 13:09:53,873 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 143 states to 143 states and 205 transitions. [2022-04-27 13:09:53,874 INFO L78 Accepts]: Start accepts. Automaton has 143 states and 205 transitions. Word has length 47 [2022-04-27 13:09:53,874 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:09:53,874 INFO L495 AbstractCegarLoop]: Abstraction has 143 states and 205 transitions. [2022-04-27 13:09:53,874 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-27 13:09:53,874 INFO L276 IsEmpty]: Start isEmpty. Operand 143 states and 205 transitions. [2022-04-27 13:09:53,874 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 48 [2022-04-27 13:09:53,874 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:09:53,875 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:09:53,891 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 13:09:54,090 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 13:09:54,091 INFO L420 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:09:54,091 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:09:54,092 INFO L85 PathProgramCache]: Analyzing trace with hash 1524769911, now seen corresponding path program 1 times [2022-04-27 13:09:54,092 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:09:54,092 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [967394358] [2022-04-27 13:09:54,092 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:09:54,092 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:09:54,114 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:09:54,114 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1992783867] [2022-04-27 13:09:54,114 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:09:54,114 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:09:54,114 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:09:54,124 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 13:09:54,150 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 13:09:54,191 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:09:54,192 INFO L263 TraceCheckSpWp]: Trace formula consists of 148 conjuncts, 44 conjunts are in the unsatisfiable core [2022-04-27 13:09:54,206 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:09:54,207 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:09:54,828 INFO L272 TraceCheckUtils]: 0: Hoare triple {4136#true} call ULTIMATE.init(); {4136#true} is VALID [2022-04-27 13:09:54,828 INFO L290 TraceCheckUtils]: 1: Hoare triple {4136#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(11, 2);call #Ultimate.allocInit(12, 3); {4136#true} is VALID [2022-04-27 13:09:54,829 INFO L290 TraceCheckUtils]: 2: Hoare triple {4136#true} assume true; {4136#true} is VALID [2022-04-27 13:09:54,829 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4136#true} {4136#true} #112#return; {4136#true} is VALID [2022-04-27 13:09:54,829 INFO L272 TraceCheckUtils]: 4: Hoare triple {4136#true} call #t~ret6 := main(); {4136#true} is VALID [2022-04-27 13:09:54,829 INFO L290 TraceCheckUtils]: 5: Hoare triple {4136#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {4136#true} is VALID [2022-04-27 13:09:54,829 INFO L272 TraceCheckUtils]: 6: Hoare triple {4136#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {4136#true} is VALID [2022-04-27 13:09:54,829 INFO L290 TraceCheckUtils]: 7: Hoare triple {4136#true} ~cond := #in~cond; {4136#true} is VALID [2022-04-27 13:09:54,829 INFO L290 TraceCheckUtils]: 8: Hoare triple {4136#true} assume !(0 == ~cond); {4136#true} is VALID [2022-04-27 13:09:54,829 INFO L290 TraceCheckUtils]: 9: Hoare triple {4136#true} assume true; {4136#true} is VALID [2022-04-27 13:09:54,829 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4136#true} {4136#true} #94#return; {4136#true} is VALID [2022-04-27 13:09:54,829 INFO L290 TraceCheckUtils]: 11: Hoare triple {4136#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {4136#true} is VALID [2022-04-27 13:09:54,829 INFO L272 TraceCheckUtils]: 12: Hoare triple {4136#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {4136#true} is VALID [2022-04-27 13:09:54,830 INFO L290 TraceCheckUtils]: 13: Hoare triple {4136#true} ~cond := #in~cond; {4180#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 13:09:54,830 INFO L290 TraceCheckUtils]: 14: Hoare triple {4180#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {4184#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:09:54,830 INFO L290 TraceCheckUtils]: 15: Hoare triple {4184#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {4184#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:09:54,831 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4184#(not (= |assume_abort_if_not_#in~cond| 0))} {4136#true} #96#return; {4191#(and (<= 0 main_~y~0) (<= main_~y~0 2))} is VALID [2022-04-27 13:09:54,831 INFO L272 TraceCheckUtils]: 17: Hoare triple {4191#(and (<= 0 main_~y~0) (<= main_~y~0 2))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {4136#true} is VALID [2022-04-27 13:09:54,831 INFO L290 TraceCheckUtils]: 18: Hoare triple {4136#true} ~cond := #in~cond; {4180#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 13:09:54,831 INFO L290 TraceCheckUtils]: 19: Hoare triple {4180#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {4184#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:09:54,831 INFO L290 TraceCheckUtils]: 20: Hoare triple {4184#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {4184#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:09:54,832 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4184#(not (= |assume_abort_if_not_#in~cond| 0))} {4191#(and (<= 0 main_~y~0) (<= main_~y~0 2))} #98#return; {4207#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 2))} is VALID [2022-04-27 13:09:54,832 INFO L272 TraceCheckUtils]: 22: Hoare triple {4207#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 2))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {4136#true} is VALID [2022-04-27 13:09:54,832 INFO L290 TraceCheckUtils]: 23: Hoare triple {4136#true} ~cond := #in~cond; {4136#true} is VALID [2022-04-27 13:09:54,832 INFO L290 TraceCheckUtils]: 24: Hoare triple {4136#true} assume !(0 == ~cond); {4136#true} is VALID [2022-04-27 13:09:54,832 INFO L290 TraceCheckUtils]: 25: Hoare triple {4136#true} assume true; {4136#true} is VALID [2022-04-27 13:09:54,833 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {4136#true} {4207#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 2))} #100#return; {4207#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 2))} is VALID [2022-04-27 13:09:54,833 INFO L290 TraceCheckUtils]: 27: Hoare triple {4207#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 2))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {4226#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:09:54,834 INFO L290 TraceCheckUtils]: 28: Hoare triple {4226#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {4226#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:09:54,834 INFO L290 TraceCheckUtils]: 29: Hoare triple {4226#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {4233#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~k~0 0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:09:54,835 INFO L290 TraceCheckUtils]: 30: Hoare triple {4233#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~k~0 0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !false; {4233#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~k~0 0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:09:54,835 INFO L290 TraceCheckUtils]: 31: Hoare triple {4233#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~k~0 0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !(~c~0 >= ~b~0); {4240#(and (= main_~r~0 0) (<= 1 main_~x~0) (< main_~c~0 main_~y~0) (<= main_~y~0 2) (= main_~k~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:09:54,836 INFO L290 TraceCheckUtils]: 32: Hoare triple {4240#(and (= main_~r~0 0) (<= 1 main_~x~0) (< main_~c~0 main_~y~0) (<= main_~y~0 2) (= main_~k~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {4244#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-27 13:09:54,836 INFO L290 TraceCheckUtils]: 33: Hoare triple {4244#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} assume !false; {4244#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-27 13:09:54,836 INFO L290 TraceCheckUtils]: 34: Hoare triple {4244#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {4244#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-27 13:09:54,837 INFO L290 TraceCheckUtils]: 35: Hoare triple {4244#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} assume !false; {4244#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-27 13:09:54,837 INFO L290 TraceCheckUtils]: 36: Hoare triple {4244#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {4244#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-27 13:09:54,837 INFO L290 TraceCheckUtils]: 37: Hoare triple {4244#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} assume !false; {4244#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-27 13:09:54,838 INFO L272 TraceCheckUtils]: 38: Hoare triple {4244#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {4136#true} is VALID [2022-04-27 13:09:54,838 INFO L290 TraceCheckUtils]: 39: Hoare triple {4136#true} ~cond := #in~cond; {4266#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:09:54,838 INFO L290 TraceCheckUtils]: 40: Hoare triple {4266#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {4270#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:09:54,838 INFO L290 TraceCheckUtils]: 41: Hoare triple {4270#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {4270#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:09:54,839 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {4270#(not (= |__VERIFIER_assert_#in~cond| 0))} {4244#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} #102#return; {4244#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-27 13:09:54,839 INFO L272 TraceCheckUtils]: 43: Hoare triple {4244#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {4280#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:09:54,840 INFO L290 TraceCheckUtils]: 44: Hoare triple {4280#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4284#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:09:54,840 INFO L290 TraceCheckUtils]: 45: Hoare triple {4284#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4137#false} is VALID [2022-04-27 13:09:54,840 INFO L290 TraceCheckUtils]: 46: Hoare triple {4137#false} assume !false; {4137#false} is VALID [2022-04-27 13:09:54,840 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 7 proven. 11 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-27 13:09:54,840 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:10:01,338 INFO L290 TraceCheckUtils]: 46: Hoare triple {4137#false} assume !false; {4137#false} is VALID [2022-04-27 13:10:01,339 INFO L290 TraceCheckUtils]: 45: Hoare triple {4284#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4137#false} is VALID [2022-04-27 13:10:01,339 INFO L290 TraceCheckUtils]: 44: Hoare triple {4280#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4284#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:10:01,340 INFO L272 TraceCheckUtils]: 43: Hoare triple {4300#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {4280#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:10:01,341 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {4136#true} {4300#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #102#return; {4300#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-27 13:10:01,341 INFO L290 TraceCheckUtils]: 41: Hoare triple {4136#true} assume true; {4136#true} is VALID [2022-04-27 13:10:01,341 INFO L290 TraceCheckUtils]: 40: Hoare triple {4136#true} assume !(0 == ~cond); {4136#true} is VALID [2022-04-27 13:10:01,341 INFO L290 TraceCheckUtils]: 39: Hoare triple {4136#true} ~cond := #in~cond; {4136#true} is VALID [2022-04-27 13:10:01,341 INFO L272 TraceCheckUtils]: 38: Hoare triple {4300#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {4136#true} is VALID [2022-04-27 13:10:01,341 INFO L290 TraceCheckUtils]: 37: Hoare triple {4300#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {4300#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-27 13:10:01,342 INFO L290 TraceCheckUtils]: 36: Hoare triple {4300#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {4300#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-27 13:10:01,342 INFO L290 TraceCheckUtils]: 35: Hoare triple {4300#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {4300#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-27 13:10:01,342 INFO L290 TraceCheckUtils]: 34: Hoare triple {4300#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {4300#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-27 13:10:01,343 INFO L290 TraceCheckUtils]: 33: Hoare triple {4300#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {4300#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-27 13:10:03,344 WARN L290 TraceCheckUtils]: 32: Hoare triple {4334#(= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {4300#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is UNKNOWN [2022-04-27 13:10:03,345 INFO L290 TraceCheckUtils]: 31: Hoare triple {4338#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (<= main_~b~0 main_~c~0))} assume !(~c~0 >= ~b~0); {4334#(= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)} is VALID [2022-04-27 13:10:03,345 INFO L290 TraceCheckUtils]: 30: Hoare triple {4338#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (<= main_~b~0 main_~c~0))} assume !false; {4338#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (<= main_~b~0 main_~c~0))} is VALID [2022-04-27 13:10:03,346 INFO L290 TraceCheckUtils]: 29: Hoare triple {4345#(or (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~b~0 main_~a~0))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {4338#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (<= main_~b~0 main_~c~0))} is VALID [2022-04-27 13:10:03,346 INFO L290 TraceCheckUtils]: 28: Hoare triple {4345#(or (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~b~0 main_~a~0))} assume !false; {4345#(or (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~b~0 main_~a~0))} is VALID [2022-04-27 13:10:03,347 INFO L290 TraceCheckUtils]: 27: Hoare triple {4136#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {4345#(or (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~b~0 main_~a~0))} is VALID [2022-04-27 13:10:03,347 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {4136#true} {4136#true} #100#return; {4136#true} is VALID [2022-04-27 13:10:03,347 INFO L290 TraceCheckUtils]: 25: Hoare triple {4136#true} assume true; {4136#true} is VALID [2022-04-27 13:10:03,347 INFO L290 TraceCheckUtils]: 24: Hoare triple {4136#true} assume !(0 == ~cond); {4136#true} is VALID [2022-04-27 13:10:03,347 INFO L290 TraceCheckUtils]: 23: Hoare triple {4136#true} ~cond := #in~cond; {4136#true} is VALID [2022-04-27 13:10:03,347 INFO L272 TraceCheckUtils]: 22: Hoare triple {4136#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {4136#true} is VALID [2022-04-27 13:10:03,347 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4136#true} {4136#true} #98#return; {4136#true} is VALID [2022-04-27 13:10:03,347 INFO L290 TraceCheckUtils]: 20: Hoare triple {4136#true} assume true; {4136#true} is VALID [2022-04-27 13:10:03,347 INFO L290 TraceCheckUtils]: 19: Hoare triple {4136#true} assume !(0 == ~cond); {4136#true} is VALID [2022-04-27 13:10:03,347 INFO L290 TraceCheckUtils]: 18: Hoare triple {4136#true} ~cond := #in~cond; {4136#true} is VALID [2022-04-27 13:10:03,347 INFO L272 TraceCheckUtils]: 17: Hoare triple {4136#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {4136#true} is VALID [2022-04-27 13:10:03,347 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4136#true} {4136#true} #96#return; {4136#true} is VALID [2022-04-27 13:10:03,347 INFO L290 TraceCheckUtils]: 15: Hoare triple {4136#true} assume true; {4136#true} is VALID [2022-04-27 13:10:03,347 INFO L290 TraceCheckUtils]: 14: Hoare triple {4136#true} assume !(0 == ~cond); {4136#true} is VALID [2022-04-27 13:10:03,348 INFO L290 TraceCheckUtils]: 13: Hoare triple {4136#true} ~cond := #in~cond; {4136#true} is VALID [2022-04-27 13:10:03,348 INFO L272 TraceCheckUtils]: 12: Hoare triple {4136#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {4136#true} is VALID [2022-04-27 13:10:03,348 INFO L290 TraceCheckUtils]: 11: Hoare triple {4136#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {4136#true} is VALID [2022-04-27 13:10:03,348 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4136#true} {4136#true} #94#return; {4136#true} is VALID [2022-04-27 13:10:03,348 INFO L290 TraceCheckUtils]: 9: Hoare triple {4136#true} assume true; {4136#true} is VALID [2022-04-27 13:10:03,348 INFO L290 TraceCheckUtils]: 8: Hoare triple {4136#true} assume !(0 == ~cond); {4136#true} is VALID [2022-04-27 13:10:03,348 INFO L290 TraceCheckUtils]: 7: Hoare triple {4136#true} ~cond := #in~cond; {4136#true} is VALID [2022-04-27 13:10:03,348 INFO L272 TraceCheckUtils]: 6: Hoare triple {4136#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {4136#true} is VALID [2022-04-27 13:10:03,348 INFO L290 TraceCheckUtils]: 5: Hoare triple {4136#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {4136#true} is VALID [2022-04-27 13:10:03,348 INFO L272 TraceCheckUtils]: 4: Hoare triple {4136#true} call #t~ret6 := main(); {4136#true} is VALID [2022-04-27 13:10:03,348 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4136#true} {4136#true} #112#return; {4136#true} is VALID [2022-04-27 13:10:03,348 INFO L290 TraceCheckUtils]: 2: Hoare triple {4136#true} assume true; {4136#true} is VALID [2022-04-27 13:10:03,348 INFO L290 TraceCheckUtils]: 1: Hoare triple {4136#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(11, 2);call #Ultimate.allocInit(12, 3); {4136#true} is VALID [2022-04-27 13:10:03,349 INFO L272 TraceCheckUtils]: 0: Hoare triple {4136#true} call ULTIMATE.init(); {4136#true} is VALID [2022-04-27 13:10:03,349 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 2 proven. 4 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-27 13:10:03,349 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:10:03,349 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [967394358] [2022-04-27 13:10:03,349 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:10:03,349 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1992783867] [2022-04-27 13:10:03,349 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1992783867] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 13:10:03,349 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 13:10:03,349 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 8] total 18 [2022-04-27 13:10:03,349 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1623077417] [2022-04-27 13:10:03,349 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 13:10:03,350 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 17 states have (on average 2.411764705882353) internal successors, (41), 15 states have internal predecessors, (41), 5 states have call successors, (12), 2 states have call predecessors, (12), 3 states have return successors, (10), 5 states have call predecessors, (10), 5 states have call successors, (10) Word has length 47 [2022-04-27 13:10:03,350 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:10:03,350 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 18 states, 17 states have (on average 2.411764705882353) internal successors, (41), 15 states have internal predecessors, (41), 5 states have call successors, (12), 2 states have call predecessors, (12), 3 states have return successors, (10), 5 states have call predecessors, (10), 5 states have call successors, (10) [2022-04-27 13:10:03,431 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 63 edges. 63 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:10:03,431 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 18 states [2022-04-27 13:10:03,431 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:10:03,432 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2022-04-27 13:10:03,432 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=50, Invalid=256, Unknown=0, NotChecked=0, Total=306 [2022-04-27 13:10:03,432 INFO L87 Difference]: Start difference. First operand 143 states and 205 transitions. Second operand has 18 states, 17 states have (on average 2.411764705882353) internal successors, (41), 15 states have internal predecessors, (41), 5 states have call successors, (12), 2 states have call predecessors, (12), 3 states have return successors, (10), 5 states have call predecessors, (10), 5 states have call successors, (10) [2022-04-27 13:10:10,193 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:10:10,194 INFO L93 Difference]: Finished difference Result 190 states and 265 transitions. [2022-04-27 13:10:10,194 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 25 states. [2022-04-27 13:10:10,194 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 17 states have (on average 2.411764705882353) internal successors, (41), 15 states have internal predecessors, (41), 5 states have call successors, (12), 2 states have call predecessors, (12), 3 states have return successors, (10), 5 states have call predecessors, (10), 5 states have call successors, (10) Word has length 47 [2022-04-27 13:10:10,194 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:10:10,194 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 17 states have (on average 2.411764705882353) internal successors, (41), 15 states have internal predecessors, (41), 5 states have call successors, (12), 2 states have call predecessors, (12), 3 states have return successors, (10), 5 states have call predecessors, (10), 5 states have call successors, (10) [2022-04-27 13:10:10,196 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 25 states to 25 states and 138 transitions. [2022-04-27 13:10:10,196 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 17 states have (on average 2.411764705882353) internal successors, (41), 15 states have internal predecessors, (41), 5 states have call successors, (12), 2 states have call predecessors, (12), 3 states have return successors, (10), 5 states have call predecessors, (10), 5 states have call successors, (10) [2022-04-27 13:10:10,202 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 25 states to 25 states and 138 transitions. [2022-04-27 13:10:10,202 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 25 states and 138 transitions. [2022-04-27 13:10:10,330 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 138 edges. 138 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:10:10,348 INFO L225 Difference]: With dead ends: 190 [2022-04-27 13:10:10,349 INFO L226 Difference]: Without dead ends: 188 [2022-04-27 13:10:10,349 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 111 GetRequests, 76 SyntacticMatches, 1 SemanticMatches, 34 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 254 ImplicationChecksByTransitivity, 1.2s TimeCoverageRelationStatistics Valid=248, Invalid=1012, Unknown=0, NotChecked=0, Total=1260 [2022-04-27 13:10:10,349 INFO L413 NwaCegarLoop]: 31 mSDtfsCounter, 137 mSDsluCounter, 203 mSDsCounter, 0 mSdLazyCounter, 693 mSolverCounterSat, 139 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 138 SdHoareTripleChecker+Valid, 234 SdHoareTripleChecker+Invalid, 832 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 139 IncrementalHoareTripleChecker+Valid, 693 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 2.8s IncrementalHoareTripleChecker+Time [2022-04-27 13:10:10,354 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [138 Valid, 234 Invalid, 832 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [139 Valid, 693 Invalid, 0 Unknown, 0 Unchecked, 2.8s Time] [2022-04-27 13:10:10,354 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 188 states. [2022-04-27 13:10:10,710 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 188 to 179. [2022-04-27 13:10:10,711 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:10:10,716 INFO L82 GeneralOperation]: Start isEquivalent. First operand 188 states. Second operand has 179 states, 113 states have (on average 1.2566371681415929) internal successors, (142), 118 states have internal predecessors, (142), 56 states have call successors, (56), 10 states have call predecessors, (56), 9 states have return successors, (54), 50 states have call predecessors, (54), 54 states have call successors, (54) [2022-04-27 13:10:10,719 INFO L74 IsIncluded]: Start isIncluded. First operand 188 states. Second operand has 179 states, 113 states have (on average 1.2566371681415929) internal successors, (142), 118 states have internal predecessors, (142), 56 states have call successors, (56), 10 states have call predecessors, (56), 9 states have return successors, (54), 50 states have call predecessors, (54), 54 states have call successors, (54) [2022-04-27 13:10:10,720 INFO L87 Difference]: Start difference. First operand 188 states. Second operand has 179 states, 113 states have (on average 1.2566371681415929) internal successors, (142), 118 states have internal predecessors, (142), 56 states have call successors, (56), 10 states have call predecessors, (56), 9 states have return successors, (54), 50 states have call predecessors, (54), 54 states have call successors, (54) [2022-04-27 13:10:10,725 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:10:10,725 INFO L93 Difference]: Finished difference Result 188 states and 263 transitions. [2022-04-27 13:10:10,725 INFO L276 IsEmpty]: Start isEmpty. Operand 188 states and 263 transitions. [2022-04-27 13:10:10,726 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:10:10,726 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:10:10,726 INFO L74 IsIncluded]: Start isIncluded. First operand has 179 states, 113 states have (on average 1.2566371681415929) internal successors, (142), 118 states have internal predecessors, (142), 56 states have call successors, (56), 10 states have call predecessors, (56), 9 states have return successors, (54), 50 states have call predecessors, (54), 54 states have call successors, (54) Second operand 188 states. [2022-04-27 13:10:10,727 INFO L87 Difference]: Start difference. First operand has 179 states, 113 states have (on average 1.2566371681415929) internal successors, (142), 118 states have internal predecessors, (142), 56 states have call successors, (56), 10 states have call predecessors, (56), 9 states have return successors, (54), 50 states have call predecessors, (54), 54 states have call successors, (54) Second operand 188 states. [2022-04-27 13:10:10,733 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:10:10,733 INFO L93 Difference]: Finished difference Result 188 states and 263 transitions. [2022-04-27 13:10:10,733 INFO L276 IsEmpty]: Start isEmpty. Operand 188 states and 263 transitions. [2022-04-27 13:10:10,735 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:10:10,735 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:10:10,735 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:10:10,735 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:10:10,735 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 179 states, 113 states have (on average 1.2566371681415929) internal successors, (142), 118 states have internal predecessors, (142), 56 states have call successors, (56), 10 states have call predecessors, (56), 9 states have return successors, (54), 50 states have call predecessors, (54), 54 states have call successors, (54) [2022-04-27 13:10:10,740 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 179 states to 179 states and 252 transitions. [2022-04-27 13:10:10,740 INFO L78 Accepts]: Start accepts. Automaton has 179 states and 252 transitions. Word has length 47 [2022-04-27 13:10:10,740 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:10:10,740 INFO L495 AbstractCegarLoop]: Abstraction has 179 states and 252 transitions. [2022-04-27 13:10:10,740 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 18 states, 17 states have (on average 2.411764705882353) internal successors, (41), 15 states have internal predecessors, (41), 5 states have call successors, (12), 2 states have call predecessors, (12), 3 states have return successors, (10), 5 states have call predecessors, (10), 5 states have call successors, (10) [2022-04-27 13:10:10,740 INFO L276 IsEmpty]: Start isEmpty. Operand 179 states and 252 transitions. [2022-04-27 13:10:10,740 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 48 [2022-04-27 13:10:10,740 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:10:10,740 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 3, 3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:10:10,758 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Ended with exit code 0 [2022-04-27 13:10:10,954 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 13:10:10,955 INFO L420 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:10:10,955 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:10:10,955 INFO L85 PathProgramCache]: Analyzing trace with hash 1836145722, now seen corresponding path program 2 times [2022-04-27 13:10:10,955 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:10:10,955 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [13971888] [2022-04-27 13:10:10,955 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:10:10,955 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:10:10,965 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:10:10,966 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1788055944] [2022-04-27 13:10:10,966 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-27 13:10:10,966 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:10:10,966 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:10:10,973 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 13:10:10,976 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 13:10:11,024 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-27 13:10:11,024 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 13:10:11,024 INFO L263 TraceCheckSpWp]: Trace formula consists of 161 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-27 13:10:11,031 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:10:11,033 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:10:11,138 INFO L272 TraceCheckUtils]: 0: Hoare triple {5427#true} call ULTIMATE.init(); {5427#true} is VALID [2022-04-27 13:10:11,140 INFO L290 TraceCheckUtils]: 1: Hoare triple {5427#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(11, 2);call #Ultimate.allocInit(12, 3); {5427#true} is VALID [2022-04-27 13:10:11,140 INFO L290 TraceCheckUtils]: 2: Hoare triple {5427#true} assume true; {5427#true} is VALID [2022-04-27 13:10:11,140 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5427#true} {5427#true} #112#return; {5427#true} is VALID [2022-04-27 13:10:11,140 INFO L272 TraceCheckUtils]: 4: Hoare triple {5427#true} call #t~ret6 := main(); {5427#true} is VALID [2022-04-27 13:10:11,140 INFO L290 TraceCheckUtils]: 5: Hoare triple {5427#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {5427#true} is VALID [2022-04-27 13:10:11,140 INFO L272 TraceCheckUtils]: 6: Hoare triple {5427#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {5427#true} is VALID [2022-04-27 13:10:11,140 INFO L290 TraceCheckUtils]: 7: Hoare triple {5427#true} ~cond := #in~cond; {5427#true} is VALID [2022-04-27 13:10:11,140 INFO L290 TraceCheckUtils]: 8: Hoare triple {5427#true} assume !(0 == ~cond); {5427#true} is VALID [2022-04-27 13:10:11,140 INFO L290 TraceCheckUtils]: 9: Hoare triple {5427#true} assume true; {5427#true} is VALID [2022-04-27 13:10:11,141 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5427#true} {5427#true} #94#return; {5427#true} is VALID [2022-04-27 13:10:11,141 INFO L290 TraceCheckUtils]: 11: Hoare triple {5427#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {5427#true} is VALID [2022-04-27 13:10:11,141 INFO L272 TraceCheckUtils]: 12: Hoare triple {5427#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {5427#true} is VALID [2022-04-27 13:10:11,141 INFO L290 TraceCheckUtils]: 13: Hoare triple {5427#true} ~cond := #in~cond; {5427#true} is VALID [2022-04-27 13:10:11,141 INFO L290 TraceCheckUtils]: 14: Hoare triple {5427#true} assume !(0 == ~cond); {5427#true} is VALID [2022-04-27 13:10:11,141 INFO L290 TraceCheckUtils]: 15: Hoare triple {5427#true} assume true; {5427#true} is VALID [2022-04-27 13:10:11,141 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5427#true} {5427#true} #96#return; {5427#true} is VALID [2022-04-27 13:10:11,141 INFO L272 TraceCheckUtils]: 17: Hoare triple {5427#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {5427#true} is VALID [2022-04-27 13:10:11,141 INFO L290 TraceCheckUtils]: 18: Hoare triple {5427#true} ~cond := #in~cond; {5427#true} is VALID [2022-04-27 13:10:11,141 INFO L290 TraceCheckUtils]: 19: Hoare triple {5427#true} assume !(0 == ~cond); {5427#true} is VALID [2022-04-27 13:10:11,141 INFO L290 TraceCheckUtils]: 20: Hoare triple {5427#true} assume true; {5427#true} is VALID [2022-04-27 13:10:11,141 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5427#true} {5427#true} #98#return; {5427#true} is VALID [2022-04-27 13:10:11,141 INFO L272 TraceCheckUtils]: 22: Hoare triple {5427#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {5427#true} is VALID [2022-04-27 13:10:11,141 INFO L290 TraceCheckUtils]: 23: Hoare triple {5427#true} ~cond := #in~cond; {5427#true} is VALID [2022-04-27 13:10:11,141 INFO L290 TraceCheckUtils]: 24: Hoare triple {5427#true} assume !(0 == ~cond); {5427#true} is VALID [2022-04-27 13:10:11,141 INFO L290 TraceCheckUtils]: 25: Hoare triple {5427#true} assume true; {5427#true} is VALID [2022-04-27 13:10:11,142 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {5427#true} {5427#true} #100#return; {5427#true} is VALID [2022-04-27 13:10:11,142 INFO L290 TraceCheckUtils]: 27: Hoare triple {5427#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {5427#true} is VALID [2022-04-27 13:10:11,142 INFO L290 TraceCheckUtils]: 28: Hoare triple {5427#true} assume !false; {5427#true} is VALID [2022-04-27 13:10:11,142 INFO L290 TraceCheckUtils]: 29: Hoare triple {5427#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {5427#true} is VALID [2022-04-27 13:10:11,142 INFO L290 TraceCheckUtils]: 30: Hoare triple {5427#true} assume !false; {5427#true} is VALID [2022-04-27 13:10:11,142 INFO L290 TraceCheckUtils]: 31: Hoare triple {5427#true} assume !(~c~0 >= ~b~0); {5525#(not (<= main_~b~0 main_~c~0))} is VALID [2022-04-27 13:10:11,142 INFO L290 TraceCheckUtils]: 32: Hoare triple {5525#(not (<= main_~b~0 main_~c~0))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {5529#(< main_~b~0 main_~a~0)} is VALID [2022-04-27 13:10:11,143 INFO L290 TraceCheckUtils]: 33: Hoare triple {5529#(< main_~b~0 main_~a~0)} assume !false; {5529#(< main_~b~0 main_~a~0)} is VALID [2022-04-27 13:10:11,143 INFO L290 TraceCheckUtils]: 34: Hoare triple {5529#(< main_~b~0 main_~a~0)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {5536#(< main_~b~0 main_~c~0)} is VALID [2022-04-27 13:10:11,143 INFO L290 TraceCheckUtils]: 35: Hoare triple {5536#(< main_~b~0 main_~c~0)} assume !false; {5536#(< main_~b~0 main_~c~0)} is VALID [2022-04-27 13:10:11,144 INFO L290 TraceCheckUtils]: 36: Hoare triple {5536#(< main_~b~0 main_~c~0)} assume !(~c~0 >= ~b~0); {5428#false} is VALID [2022-04-27 13:10:11,144 INFO L290 TraceCheckUtils]: 37: Hoare triple {5428#false} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {5428#false} is VALID [2022-04-27 13:10:11,144 INFO L290 TraceCheckUtils]: 38: Hoare triple {5428#false} assume !false; {5428#false} is VALID [2022-04-27 13:10:11,144 INFO L290 TraceCheckUtils]: 39: Hoare triple {5428#false} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {5428#false} is VALID [2022-04-27 13:10:11,144 INFO L290 TraceCheckUtils]: 40: Hoare triple {5428#false} assume !false; {5428#false} is VALID [2022-04-27 13:10:11,144 INFO L290 TraceCheckUtils]: 41: Hoare triple {5428#false} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {5428#false} is VALID [2022-04-27 13:10:11,144 INFO L290 TraceCheckUtils]: 42: Hoare triple {5428#false} assume !false; {5428#false} is VALID [2022-04-27 13:10:11,144 INFO L272 TraceCheckUtils]: 43: Hoare triple {5428#false} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {5428#false} is VALID [2022-04-27 13:10:11,144 INFO L290 TraceCheckUtils]: 44: Hoare triple {5428#false} ~cond := #in~cond; {5428#false} is VALID [2022-04-27 13:10:11,144 INFO L290 TraceCheckUtils]: 45: Hoare triple {5428#false} assume 0 == ~cond; {5428#false} is VALID [2022-04-27 13:10:11,144 INFO L290 TraceCheckUtils]: 46: Hoare triple {5428#false} assume !false; {5428#false} is VALID [2022-04-27 13:10:11,144 INFO L134 CoverageAnalysis]: Checked inductivity of 37 backedges. 13 proven. 0 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-27 13:10:11,145 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-27 13:10:11,145 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:10:11,145 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [13971888] [2022-04-27 13:10:11,145 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:10:11,145 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1788055944] [2022-04-27 13:10:11,145 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1788055944] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 13:10:11,145 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 13:10:11,145 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-27 13:10:11,147 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [866505629] [2022-04-27 13:10:11,147 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 13:10:11,148 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 5.2) internal successors, (26), 5 states have internal predecessors, (26), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) Word has length 47 [2022-04-27 13:10:11,148 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:10:11,148 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 5.2) internal successors, (26), 5 states have internal predecessors, (26), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-27 13:10:11,168 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 38 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:10:11,168 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-27 13:10:11,168 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:10:11,168 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-27 13:10:11,168 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-27 13:10:11,168 INFO L87 Difference]: Start difference. First operand 179 states and 252 transitions. Second operand has 5 states, 5 states have (on average 5.2) internal successors, (26), 5 states have internal predecessors, (26), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-27 13:10:11,690 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:10:11,690 INFO L93 Difference]: Finished difference Result 225 states and 312 transitions. [2022-04-27 13:10:11,690 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-27 13:10:11,691 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 5.2) internal successors, (26), 5 states have internal predecessors, (26), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) Word has length 47 [2022-04-27 13:10:11,691 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:10:11,691 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 5.2) internal successors, (26), 5 states have internal predecessors, (26), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-27 13:10:11,692 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 102 transitions. [2022-04-27 13:10:11,692 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 5.2) internal successors, (26), 5 states have internal predecessors, (26), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-27 13:10:11,693 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 102 transitions. [2022-04-27 13:10:11,693 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 102 transitions. [2022-04-27 13:10:11,771 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 102 edges. 102 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:10:11,773 INFO L225 Difference]: With dead ends: 225 [2022-04-27 13:10:11,773 INFO L226 Difference]: Without dead ends: 144 [2022-04-27 13:10:11,774 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 49 GetRequests, 44 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=15, Invalid=27, Unknown=0, NotChecked=0, Total=42 [2022-04-27 13:10:11,774 INFO L413 NwaCegarLoop]: 57 mSDtfsCounter, 18 mSDsluCounter, 98 mSDsCounter, 0 mSdLazyCounter, 82 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 22 SdHoareTripleChecker+Valid, 155 SdHoareTripleChecker+Invalid, 91 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 82 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 13:10:11,774 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [22 Valid, 155 Invalid, 91 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 82 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 13:10:11,775 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 144 states. [2022-04-27 13:10:12,055 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 144 to 121. [2022-04-27 13:10:12,056 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:10:12,056 INFO L82 GeneralOperation]: Start isEquivalent. First operand 144 states. Second operand has 121 states, 73 states have (on average 1.178082191780822) internal successors, (86), 77 states have internal predecessors, (86), 38 states have call successors, (38), 10 states have call predecessors, (38), 9 states have return successors, (36), 33 states have call predecessors, (36), 36 states have call successors, (36) [2022-04-27 13:10:12,056 INFO L74 IsIncluded]: Start isIncluded. First operand 144 states. Second operand has 121 states, 73 states have (on average 1.178082191780822) internal successors, (86), 77 states have internal predecessors, (86), 38 states have call successors, (38), 10 states have call predecessors, (38), 9 states have return successors, (36), 33 states have call predecessors, (36), 36 states have call successors, (36) [2022-04-27 13:10:12,056 INFO L87 Difference]: Start difference. First operand 144 states. Second operand has 121 states, 73 states have (on average 1.178082191780822) internal successors, (86), 77 states have internal predecessors, (86), 38 states have call successors, (38), 10 states have call predecessors, (38), 9 states have return successors, (36), 33 states have call predecessors, (36), 36 states have call successors, (36) [2022-04-27 13:10:12,060 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:10:12,060 INFO L93 Difference]: Finished difference Result 144 states and 195 transitions. [2022-04-27 13:10:12,060 INFO L276 IsEmpty]: Start isEmpty. Operand 144 states and 195 transitions. [2022-04-27 13:10:12,061 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:10:12,061 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:10:12,061 INFO L74 IsIncluded]: Start isIncluded. First operand has 121 states, 73 states have (on average 1.178082191780822) internal successors, (86), 77 states have internal predecessors, (86), 38 states have call successors, (38), 10 states have call predecessors, (38), 9 states have return successors, (36), 33 states have call predecessors, (36), 36 states have call successors, (36) Second operand 144 states. [2022-04-27 13:10:12,061 INFO L87 Difference]: Start difference. First operand has 121 states, 73 states have (on average 1.178082191780822) internal successors, (86), 77 states have internal predecessors, (86), 38 states have call successors, (38), 10 states have call predecessors, (38), 9 states have return successors, (36), 33 states have call predecessors, (36), 36 states have call successors, (36) Second operand 144 states. [2022-04-27 13:10:12,064 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:10:12,064 INFO L93 Difference]: Finished difference Result 144 states and 195 transitions. [2022-04-27 13:10:12,064 INFO L276 IsEmpty]: Start isEmpty. Operand 144 states and 195 transitions. [2022-04-27 13:10:12,064 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:10:12,064 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:10:12,064 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:10:12,065 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:10:12,065 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 121 states, 73 states have (on average 1.178082191780822) internal successors, (86), 77 states have internal predecessors, (86), 38 states have call successors, (38), 10 states have call predecessors, (38), 9 states have return successors, (36), 33 states have call predecessors, (36), 36 states have call successors, (36) [2022-04-27 13:10:12,067 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 121 states to 121 states and 160 transitions. [2022-04-27 13:10:12,067 INFO L78 Accepts]: Start accepts. Automaton has 121 states and 160 transitions. Word has length 47 [2022-04-27 13:10:12,067 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:10:12,067 INFO L495 AbstractCegarLoop]: Abstraction has 121 states and 160 transitions. [2022-04-27 13:10:12,067 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 5.2) internal successors, (26), 5 states have internal predecessors, (26), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-27 13:10:12,067 INFO L276 IsEmpty]: Start isEmpty. Operand 121 states and 160 transitions. [2022-04-27 13:10:12,068 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 53 [2022-04-27 13:10:12,068 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:10:12,068 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 4, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:10:12,084 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Forceful destruction successful, exit code 0 [2022-04-27 13:10:12,284 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable8 [2022-04-27 13:10:12,284 INFO L420 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:10:12,284 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:10:12,285 INFO L85 PathProgramCache]: Analyzing trace with hash -1952108775, now seen corresponding path program 1 times [2022-04-27 13:10:12,285 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:10:12,285 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1412407081] [2022-04-27 13:10:12,285 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:10:12,285 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:10:12,305 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:10:12,305 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [996166137] [2022-04-27 13:10:12,305 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:10:12,305 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:10:12,305 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:10:12,320 INFO L229 MonitoredProcess]: Starting monitored process 10 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 13:10:12,320 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Waiting until timeout for monitored process [2022-04-27 13:10:12,354 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:10:12,355 INFO L263 TraceCheckSpWp]: Trace formula consists of 144 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-27 13:10:12,364 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:10:12,367 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:10:12,510 INFO L272 TraceCheckUtils]: 0: Hoare triple {6404#true} call ULTIMATE.init(); {6404#true} is VALID [2022-04-27 13:10:12,510 INFO L290 TraceCheckUtils]: 1: Hoare triple {6404#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(11, 2);call #Ultimate.allocInit(12, 3); {6404#true} is VALID [2022-04-27 13:10:12,510 INFO L290 TraceCheckUtils]: 2: Hoare triple {6404#true} assume true; {6404#true} is VALID [2022-04-27 13:10:12,510 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6404#true} {6404#true} #112#return; {6404#true} is VALID [2022-04-27 13:10:12,510 INFO L272 TraceCheckUtils]: 4: Hoare triple {6404#true} call #t~ret6 := main(); {6404#true} is VALID [2022-04-27 13:10:12,510 INFO L290 TraceCheckUtils]: 5: Hoare triple {6404#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {6404#true} is VALID [2022-04-27 13:10:12,511 INFO L272 TraceCheckUtils]: 6: Hoare triple {6404#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {6404#true} is VALID [2022-04-27 13:10:12,511 INFO L290 TraceCheckUtils]: 7: Hoare triple {6404#true} ~cond := #in~cond; {6404#true} is VALID [2022-04-27 13:10:12,511 INFO L290 TraceCheckUtils]: 8: Hoare triple {6404#true} assume !(0 == ~cond); {6404#true} is VALID [2022-04-27 13:10:12,511 INFO L290 TraceCheckUtils]: 9: Hoare triple {6404#true} assume true; {6404#true} is VALID [2022-04-27 13:10:12,511 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6404#true} {6404#true} #94#return; {6404#true} is VALID [2022-04-27 13:10:12,511 INFO L290 TraceCheckUtils]: 11: Hoare triple {6404#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {6404#true} is VALID [2022-04-27 13:10:12,511 INFO L272 TraceCheckUtils]: 12: Hoare triple {6404#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {6404#true} is VALID [2022-04-27 13:10:12,511 INFO L290 TraceCheckUtils]: 13: Hoare triple {6404#true} ~cond := #in~cond; {6404#true} is VALID [2022-04-27 13:10:12,511 INFO L290 TraceCheckUtils]: 14: Hoare triple {6404#true} assume !(0 == ~cond); {6404#true} is VALID [2022-04-27 13:10:12,511 INFO L290 TraceCheckUtils]: 15: Hoare triple {6404#true} assume true; {6404#true} is VALID [2022-04-27 13:10:12,511 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6404#true} {6404#true} #96#return; {6404#true} is VALID [2022-04-27 13:10:12,511 INFO L272 TraceCheckUtils]: 17: Hoare triple {6404#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {6404#true} is VALID [2022-04-27 13:10:12,511 INFO L290 TraceCheckUtils]: 18: Hoare triple {6404#true} ~cond := #in~cond; {6404#true} is VALID [2022-04-27 13:10:12,511 INFO L290 TraceCheckUtils]: 19: Hoare triple {6404#true} assume !(0 == ~cond); {6404#true} is VALID [2022-04-27 13:10:12,512 INFO L290 TraceCheckUtils]: 20: Hoare triple {6404#true} assume true; {6404#true} is VALID [2022-04-27 13:10:12,512 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {6404#true} {6404#true} #98#return; {6404#true} is VALID [2022-04-27 13:10:12,512 INFO L272 TraceCheckUtils]: 22: Hoare triple {6404#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {6404#true} is VALID [2022-04-27 13:10:12,512 INFO L290 TraceCheckUtils]: 23: Hoare triple {6404#true} ~cond := #in~cond; {6404#true} is VALID [2022-04-27 13:10:12,512 INFO L290 TraceCheckUtils]: 24: Hoare triple {6404#true} assume !(0 == ~cond); {6404#true} is VALID [2022-04-27 13:10:12,512 INFO L290 TraceCheckUtils]: 25: Hoare triple {6404#true} assume true; {6404#true} is VALID [2022-04-27 13:10:12,512 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {6404#true} {6404#true} #100#return; {6404#true} is VALID [2022-04-27 13:10:12,512 INFO L290 TraceCheckUtils]: 27: Hoare triple {6404#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {6404#true} is VALID [2022-04-27 13:10:12,512 INFO L290 TraceCheckUtils]: 28: Hoare triple {6404#true} assume !false; {6404#true} is VALID [2022-04-27 13:10:12,512 INFO L290 TraceCheckUtils]: 29: Hoare triple {6404#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {6404#true} is VALID [2022-04-27 13:10:12,512 INFO L290 TraceCheckUtils]: 30: Hoare triple {6404#true} assume !false; {6404#true} is VALID [2022-04-27 13:10:12,513 INFO L290 TraceCheckUtils]: 31: Hoare triple {6404#true} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {6502#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} is VALID [2022-04-27 13:10:12,513 INFO L290 TraceCheckUtils]: 32: Hoare triple {6502#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} assume !false; {6502#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} is VALID [2022-04-27 13:10:12,513 INFO L272 TraceCheckUtils]: 33: Hoare triple {6502#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {6404#true} is VALID [2022-04-27 13:10:12,513 INFO L290 TraceCheckUtils]: 34: Hoare triple {6404#true} ~cond := #in~cond; {6404#true} is VALID [2022-04-27 13:10:12,513 INFO L290 TraceCheckUtils]: 35: Hoare triple {6404#true} assume !(0 == ~cond); {6404#true} is VALID [2022-04-27 13:10:12,513 INFO L290 TraceCheckUtils]: 36: Hoare triple {6404#true} assume true; {6404#true} is VALID [2022-04-27 13:10:12,514 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {6404#true} {6502#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} #102#return; {6502#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} is VALID [2022-04-27 13:10:12,514 INFO L272 TraceCheckUtils]: 38: Hoare triple {6502#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {6404#true} is VALID [2022-04-27 13:10:12,514 INFO L290 TraceCheckUtils]: 39: Hoare triple {6404#true} ~cond := #in~cond; {6404#true} is VALID [2022-04-27 13:10:12,514 INFO L290 TraceCheckUtils]: 40: Hoare triple {6404#true} assume !(0 == ~cond); {6404#true} is VALID [2022-04-27 13:10:12,514 INFO L290 TraceCheckUtils]: 41: Hoare triple {6404#true} assume true; {6404#true} is VALID [2022-04-27 13:10:12,515 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {6404#true} {6502#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} #104#return; {6502#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} is VALID [2022-04-27 13:10:12,515 INFO L272 TraceCheckUtils]: 43: Hoare triple {6502#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {6404#true} is VALID [2022-04-27 13:10:12,515 INFO L290 TraceCheckUtils]: 44: Hoare triple {6404#true} ~cond := #in~cond; {6404#true} is VALID [2022-04-27 13:10:12,515 INFO L290 TraceCheckUtils]: 45: Hoare triple {6404#true} assume !(0 == ~cond); {6404#true} is VALID [2022-04-27 13:10:12,515 INFO L290 TraceCheckUtils]: 46: Hoare triple {6404#true} assume true; {6404#true} is VALID [2022-04-27 13:10:12,516 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {6404#true} {6502#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} #106#return; {6502#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} is VALID [2022-04-27 13:10:12,516 INFO L272 TraceCheckUtils]: 48: Hoare triple {6502#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {6554#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:10:12,517 INFO L290 TraceCheckUtils]: 49: Hoare triple {6554#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6558#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:10:12,517 INFO L290 TraceCheckUtils]: 50: Hoare triple {6558#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6405#false} is VALID [2022-04-27 13:10:12,517 INFO L290 TraceCheckUtils]: 51: Hoare triple {6405#false} assume !false; {6405#false} is VALID [2022-04-27 13:10:12,517 INFO L134 CoverageAnalysis]: Checked inductivity of 42 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 36 trivial. 0 not checked. [2022-04-27 13:10:12,517 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-27 13:10:12,517 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:10:12,517 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1412407081] [2022-04-27 13:10:12,517 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:10:12,518 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [996166137] [2022-04-27 13:10:12,518 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [996166137] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 13:10:12,518 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 13:10:12,518 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-27 13:10:12,518 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1151049595] [2022-04-27 13:10:12,518 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 13:10:12,518 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) Word has length 52 [2022-04-27 13:10:12,518 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:10:12,518 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-27 13:10:12,546 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 37 edges. 37 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:10:12,547 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-27 13:10:12,547 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:10:12,547 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-27 13:10:12,547 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-27 13:10:12,547 INFO L87 Difference]: Start difference. First operand 121 states and 160 transitions. Second operand has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-27 13:10:13,055 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:10:13,056 INFO L93 Difference]: Finished difference Result 167 states and 233 transitions. [2022-04-27 13:10:13,056 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-27 13:10:13,056 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) Word has length 52 [2022-04-27 13:10:13,056 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:10:13,056 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-27 13:10:13,057 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-27 13:10:13,057 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-27 13:10:13,058 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-27 13:10:13,058 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 65 transitions. [2022-04-27 13:10:13,116 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:10:13,118 INFO L225 Difference]: With dead ends: 167 [2022-04-27 13:10:13,118 INFO L226 Difference]: Without dead ends: 165 [2022-04-27 13:10:13,118 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 52 GetRequests, 48 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-27 13:10:13,119 INFO L413 NwaCegarLoop]: 46 mSDtfsCounter, 9 mSDsluCounter, 110 mSDsCounter, 0 mSdLazyCounter, 50 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 10 SdHoareTripleChecker+Valid, 156 SdHoareTripleChecker+Invalid, 50 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 50 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-27 13:10:13,119 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [10 Valid, 156 Invalid, 50 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 50 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-27 13:10:13,119 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 165 states. [2022-04-27 13:10:13,377 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 165 to 148. [2022-04-27 13:10:13,377 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:10:13,378 INFO L82 GeneralOperation]: Start isEquivalent. First operand 165 states. Second operand has 148 states, 80 states have (on average 1.1625) internal successors, (93), 88 states have internal predecessors, (93), 57 states have call successors, (57), 11 states have call predecessors, (57), 10 states have return successors, (55), 48 states have call predecessors, (55), 55 states have call successors, (55) [2022-04-27 13:10:13,378 INFO L74 IsIncluded]: Start isIncluded. First operand 165 states. Second operand has 148 states, 80 states have (on average 1.1625) internal successors, (93), 88 states have internal predecessors, (93), 57 states have call successors, (57), 11 states have call predecessors, (57), 10 states have return successors, (55), 48 states have call predecessors, (55), 55 states have call successors, (55) [2022-04-27 13:10:13,378 INFO L87 Difference]: Start difference. First operand 165 states. Second operand has 148 states, 80 states have (on average 1.1625) internal successors, (93), 88 states have internal predecessors, (93), 57 states have call successors, (57), 11 states have call predecessors, (57), 10 states have return successors, (55), 48 states have call predecessors, (55), 55 states have call successors, (55) [2022-04-27 13:10:13,381 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:10:13,381 INFO L93 Difference]: Finished difference Result 165 states and 231 transitions. [2022-04-27 13:10:13,381 INFO L276 IsEmpty]: Start isEmpty. Operand 165 states and 231 transitions. [2022-04-27 13:10:13,382 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:10:13,382 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:10:13,382 INFO L74 IsIncluded]: Start isIncluded. First operand has 148 states, 80 states have (on average 1.1625) internal successors, (93), 88 states have internal predecessors, (93), 57 states have call successors, (57), 11 states have call predecessors, (57), 10 states have return successors, (55), 48 states have call predecessors, (55), 55 states have call successors, (55) Second operand 165 states. [2022-04-27 13:10:13,382 INFO L87 Difference]: Start difference. First operand has 148 states, 80 states have (on average 1.1625) internal successors, (93), 88 states have internal predecessors, (93), 57 states have call successors, (57), 11 states have call predecessors, (57), 10 states have return successors, (55), 48 states have call predecessors, (55), 55 states have call successors, (55) Second operand 165 states. [2022-04-27 13:10:13,385 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:10:13,385 INFO L93 Difference]: Finished difference Result 165 states and 231 transitions. [2022-04-27 13:10:13,386 INFO L276 IsEmpty]: Start isEmpty. Operand 165 states and 231 transitions. [2022-04-27 13:10:13,386 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:10:13,386 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:10:13,386 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:10:13,386 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:10:13,386 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 148 states, 80 states have (on average 1.1625) internal successors, (93), 88 states have internal predecessors, (93), 57 states have call successors, (57), 11 states have call predecessors, (57), 10 states have return successors, (55), 48 states have call predecessors, (55), 55 states have call successors, (55) [2022-04-27 13:10:13,389 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 148 states to 148 states and 205 transitions. [2022-04-27 13:10:13,389 INFO L78 Accepts]: Start accepts. Automaton has 148 states and 205 transitions. Word has length 52 [2022-04-27 13:10:13,390 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:10:13,390 INFO L495 AbstractCegarLoop]: Abstraction has 148 states and 205 transitions. [2022-04-27 13:10:13,390 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-27 13:10:13,390 INFO L276 IsEmpty]: Start isEmpty. Operand 148 states and 205 transitions. [2022-04-27 13:10:13,390 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 65 [2022-04-27 13:10:13,390 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:10:13,390 INFO L195 NwaCegarLoop]: trace histogram [5, 4, 4, 4, 4, 4, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:10:13,424 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Ended with exit code 0 [2022-04-27 13:10:13,608 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable9 [2022-04-27 13:10:13,608 INFO L420 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:10:13,608 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:10:13,608 INFO L85 PathProgramCache]: Analyzing trace with hash 188363668, now seen corresponding path program 1 times [2022-04-27 13:10:13,608 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:10:13,609 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1037382495] [2022-04-27 13:10:13,609 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:10:13,609 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:10:13,622 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:10:13,623 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [62637771] [2022-04-27 13:10:13,623 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:10:13,623 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:10:13,623 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:10:13,640 INFO L229 MonitoredProcess]: Starting monitored process 11 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 13:10:13,646 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Waiting until timeout for monitored process [2022-04-27 13:10:13,705 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:10:13,706 INFO L263 TraceCheckSpWp]: Trace formula consists of 177 conjuncts, 45 conjunts are in the unsatisfiable core [2022-04-27 13:10:13,717 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:10:13,718 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:10:14,212 INFO L272 TraceCheckUtils]: 0: Hoare triple {7398#true} call ULTIMATE.init(); {7398#true} is VALID [2022-04-27 13:10:14,212 INFO L290 TraceCheckUtils]: 1: Hoare triple {7398#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(11, 2);call #Ultimate.allocInit(12, 3); {7398#true} is VALID [2022-04-27 13:10:14,212 INFO L290 TraceCheckUtils]: 2: Hoare triple {7398#true} assume true; {7398#true} is VALID [2022-04-27 13:10:14,212 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7398#true} {7398#true} #112#return; {7398#true} is VALID [2022-04-27 13:10:14,212 INFO L272 TraceCheckUtils]: 4: Hoare triple {7398#true} call #t~ret6 := main(); {7398#true} is VALID [2022-04-27 13:10:14,212 INFO L290 TraceCheckUtils]: 5: Hoare triple {7398#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {7398#true} is VALID [2022-04-27 13:10:14,212 INFO L272 TraceCheckUtils]: 6: Hoare triple {7398#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {7398#true} is VALID [2022-04-27 13:10:14,212 INFO L290 TraceCheckUtils]: 7: Hoare triple {7398#true} ~cond := #in~cond; {7398#true} is VALID [2022-04-27 13:10:14,212 INFO L290 TraceCheckUtils]: 8: Hoare triple {7398#true} assume !(0 == ~cond); {7398#true} is VALID [2022-04-27 13:10:14,213 INFO L290 TraceCheckUtils]: 9: Hoare triple {7398#true} assume true; {7398#true} is VALID [2022-04-27 13:10:14,213 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7398#true} {7398#true} #94#return; {7398#true} is VALID [2022-04-27 13:10:14,213 INFO L290 TraceCheckUtils]: 11: Hoare triple {7398#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {7398#true} is VALID [2022-04-27 13:10:14,213 INFO L272 TraceCheckUtils]: 12: Hoare triple {7398#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {7398#true} is VALID [2022-04-27 13:10:14,213 INFO L290 TraceCheckUtils]: 13: Hoare triple {7398#true} ~cond := #in~cond; {7398#true} is VALID [2022-04-27 13:10:14,213 INFO L290 TraceCheckUtils]: 14: Hoare triple {7398#true} assume !(0 == ~cond); {7398#true} is VALID [2022-04-27 13:10:14,213 INFO L290 TraceCheckUtils]: 15: Hoare triple {7398#true} assume true; {7398#true} is VALID [2022-04-27 13:10:14,213 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {7398#true} {7398#true} #96#return; {7398#true} is VALID [2022-04-27 13:10:14,213 INFO L272 TraceCheckUtils]: 17: Hoare triple {7398#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {7398#true} is VALID [2022-04-27 13:10:14,213 INFO L290 TraceCheckUtils]: 18: Hoare triple {7398#true} ~cond := #in~cond; {7398#true} is VALID [2022-04-27 13:10:14,213 INFO L290 TraceCheckUtils]: 19: Hoare triple {7398#true} assume !(0 == ~cond); {7398#true} is VALID [2022-04-27 13:10:14,213 INFO L290 TraceCheckUtils]: 20: Hoare triple {7398#true} assume true; {7398#true} is VALID [2022-04-27 13:10:14,213 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {7398#true} {7398#true} #98#return; {7398#true} is VALID [2022-04-27 13:10:14,213 INFO L272 TraceCheckUtils]: 22: Hoare triple {7398#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {7398#true} is VALID [2022-04-27 13:10:14,213 INFO L290 TraceCheckUtils]: 23: Hoare triple {7398#true} ~cond := #in~cond; {7398#true} is VALID [2022-04-27 13:10:14,214 INFO L290 TraceCheckUtils]: 24: Hoare triple {7398#true} assume !(0 == ~cond); {7398#true} is VALID [2022-04-27 13:10:14,214 INFO L290 TraceCheckUtils]: 25: Hoare triple {7398#true} assume true; {7398#true} is VALID [2022-04-27 13:10:14,214 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {7398#true} {7398#true} #100#return; {7398#true} is VALID [2022-04-27 13:10:14,214 INFO L290 TraceCheckUtils]: 27: Hoare triple {7398#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {7484#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:10:14,220 INFO L290 TraceCheckUtils]: 28: Hoare triple {7484#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {7484#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:10:14,221 INFO L290 TraceCheckUtils]: 29: Hoare triple {7484#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {7491#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:10:14,221 INFO L290 TraceCheckUtils]: 30: Hoare triple {7491#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !false; {7491#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:10:14,221 INFO L290 TraceCheckUtils]: 31: Hoare triple {7491#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {7498#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:10:14,222 INFO L290 TraceCheckUtils]: 32: Hoare triple {7498#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !false; {7498#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:10:14,222 INFO L272 TraceCheckUtils]: 33: Hoare triple {7498#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {7398#true} is VALID [2022-04-27 13:10:14,222 INFO L290 TraceCheckUtils]: 34: Hoare triple {7398#true} ~cond := #in~cond; {7398#true} is VALID [2022-04-27 13:10:14,222 INFO L290 TraceCheckUtils]: 35: Hoare triple {7398#true} assume !(0 == ~cond); {7398#true} is VALID [2022-04-27 13:10:14,222 INFO L290 TraceCheckUtils]: 36: Hoare triple {7398#true} assume true; {7398#true} is VALID [2022-04-27 13:10:14,223 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {7398#true} {7498#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #102#return; {7498#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:10:14,223 INFO L272 TraceCheckUtils]: 38: Hoare triple {7498#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {7398#true} is VALID [2022-04-27 13:10:14,223 INFO L290 TraceCheckUtils]: 39: Hoare triple {7398#true} ~cond := #in~cond; {7398#true} is VALID [2022-04-27 13:10:14,223 INFO L290 TraceCheckUtils]: 40: Hoare triple {7398#true} assume !(0 == ~cond); {7398#true} is VALID [2022-04-27 13:10:14,223 INFO L290 TraceCheckUtils]: 41: Hoare triple {7398#true} assume true; {7398#true} is VALID [2022-04-27 13:10:14,224 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {7398#true} {7498#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #104#return; {7498#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:10:14,224 INFO L272 TraceCheckUtils]: 43: Hoare triple {7498#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {7398#true} is VALID [2022-04-27 13:10:14,224 INFO L290 TraceCheckUtils]: 44: Hoare triple {7398#true} ~cond := #in~cond; {7398#true} is VALID [2022-04-27 13:10:14,224 INFO L290 TraceCheckUtils]: 45: Hoare triple {7398#true} assume !(0 == ~cond); {7398#true} is VALID [2022-04-27 13:10:14,224 INFO L290 TraceCheckUtils]: 46: Hoare triple {7398#true} assume true; {7398#true} is VALID [2022-04-27 13:10:14,225 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {7398#true} {7498#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #106#return; {7498#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:10:14,225 INFO L272 TraceCheckUtils]: 48: Hoare triple {7498#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {7398#true} is VALID [2022-04-27 13:10:14,225 INFO L290 TraceCheckUtils]: 49: Hoare triple {7398#true} ~cond := #in~cond; {7398#true} is VALID [2022-04-27 13:10:14,225 INFO L290 TraceCheckUtils]: 50: Hoare triple {7398#true} assume !(0 == ~cond); {7398#true} is VALID [2022-04-27 13:10:14,225 INFO L290 TraceCheckUtils]: 51: Hoare triple {7398#true} assume true; {7398#true} is VALID [2022-04-27 13:10:14,226 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {7398#true} {7498#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #108#return; {7498#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:10:14,227 INFO L290 TraceCheckUtils]: 53: Hoare triple {7498#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !(~c~0 >= 2 * ~v~0); {7498#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:10:14,227 INFO L290 TraceCheckUtils]: 54: Hoare triple {7498#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {7568#(and (= main_~r~0 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 13:10:14,228 INFO L290 TraceCheckUtils]: 55: Hoare triple {7568#(and (= main_~r~0 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !false; {7568#(and (= main_~r~0 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 13:10:14,228 INFO L290 TraceCheckUtils]: 56: Hoare triple {7568#(and (= main_~r~0 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !(~c~0 >= ~b~0); {7568#(and (= main_~r~0 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 13:10:14,229 INFO L290 TraceCheckUtils]: 57: Hoare triple {7568#(and (= main_~r~0 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (= main_~p~0 1))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {7578#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (+ main_~s~0 1) 0))} is VALID [2022-04-27 13:10:14,231 INFO L290 TraceCheckUtils]: 58: Hoare triple {7578#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (+ main_~s~0 1) 0))} assume !false; {7578#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (+ main_~s~0 1) 0))} is VALID [2022-04-27 13:10:14,232 INFO L290 TraceCheckUtils]: 59: Hoare triple {7578#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (+ main_~s~0 1) 0))} assume !(0 != ~b~0); {7585#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (+ main_~s~0 1) 0) (= (+ (* (- 1) main_~a~0) main_~x~0) 0))} is VALID [2022-04-27 13:10:14,233 INFO L272 TraceCheckUtils]: 60: Hoare triple {7585#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (+ main_~s~0 1) 0) (= (+ (* (- 1) main_~a~0) main_~x~0) 0))} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {7589#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:10:14,233 INFO L290 TraceCheckUtils]: 61: Hoare triple {7589#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7593#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:10:14,233 INFO L290 TraceCheckUtils]: 62: Hoare triple {7593#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {7399#false} is VALID [2022-04-27 13:10:14,233 INFO L290 TraceCheckUtils]: 63: Hoare triple {7399#false} assume !false; {7399#false} is VALID [2022-04-27 13:10:14,234 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 8 proven. 4 refuted. 0 times theorem prover too weak. 48 trivial. 0 not checked. [2022-04-27 13:10:14,234 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:10:14,659 INFO L290 TraceCheckUtils]: 63: Hoare triple {7399#false} assume !false; {7399#false} is VALID [2022-04-27 13:10:14,659 INFO L290 TraceCheckUtils]: 62: Hoare triple {7593#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {7399#false} is VALID [2022-04-27 13:10:14,660 INFO L290 TraceCheckUtils]: 61: Hoare triple {7589#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7593#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:10:14,660 INFO L272 TraceCheckUtils]: 60: Hoare triple {7609#(= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {7589#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:10:14,661 INFO L290 TraceCheckUtils]: 59: Hoare triple {7613#(or (= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 0)))} assume !(0 != ~b~0); {7609#(= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-27 13:10:14,661 INFO L290 TraceCheckUtils]: 58: Hoare triple {7613#(or (= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 0)))} assume !false; {7613#(or (= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 0)))} is VALID [2022-04-27 13:10:14,797 INFO L290 TraceCheckUtils]: 57: Hoare triple {7620#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {7613#(or (= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 0)))} is VALID [2022-04-27 13:10:14,798 INFO L290 TraceCheckUtils]: 56: Hoare triple {7620#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !(~c~0 >= ~b~0); {7620#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-27 13:10:14,798 INFO L290 TraceCheckUtils]: 55: Hoare triple {7620#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !false; {7620#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-27 13:10:14,860 INFO L290 TraceCheckUtils]: 54: Hoare triple {7630#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {7620#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-27 13:10:14,860 INFO L290 TraceCheckUtils]: 53: Hoare triple {7630#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !(~c~0 >= 2 * ~v~0); {7630#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-27 13:10:14,861 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {7398#true} {7630#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} #108#return; {7630#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-27 13:10:14,861 INFO L290 TraceCheckUtils]: 51: Hoare triple {7398#true} assume true; {7398#true} is VALID [2022-04-27 13:10:14,861 INFO L290 TraceCheckUtils]: 50: Hoare triple {7398#true} assume !(0 == ~cond); {7398#true} is VALID [2022-04-27 13:10:14,861 INFO L290 TraceCheckUtils]: 49: Hoare triple {7398#true} ~cond := #in~cond; {7398#true} is VALID [2022-04-27 13:10:14,861 INFO L272 TraceCheckUtils]: 48: Hoare triple {7630#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {7398#true} is VALID [2022-04-27 13:10:14,861 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {7398#true} {7630#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} #106#return; {7630#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-27 13:10:14,861 INFO L290 TraceCheckUtils]: 46: Hoare triple {7398#true} assume true; {7398#true} is VALID [2022-04-27 13:10:14,862 INFO L290 TraceCheckUtils]: 45: Hoare triple {7398#true} assume !(0 == ~cond); {7398#true} is VALID [2022-04-27 13:10:14,862 INFO L290 TraceCheckUtils]: 44: Hoare triple {7398#true} ~cond := #in~cond; {7398#true} is VALID [2022-04-27 13:10:14,862 INFO L272 TraceCheckUtils]: 43: Hoare triple {7630#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {7398#true} is VALID [2022-04-27 13:10:14,862 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {7398#true} {7630#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} #104#return; {7630#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-27 13:10:14,862 INFO L290 TraceCheckUtils]: 41: Hoare triple {7398#true} assume true; {7398#true} is VALID [2022-04-27 13:10:14,862 INFO L290 TraceCheckUtils]: 40: Hoare triple {7398#true} assume !(0 == ~cond); {7398#true} is VALID [2022-04-27 13:10:14,862 INFO L290 TraceCheckUtils]: 39: Hoare triple {7398#true} ~cond := #in~cond; {7398#true} is VALID [2022-04-27 13:10:14,862 INFO L272 TraceCheckUtils]: 38: Hoare triple {7630#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {7398#true} is VALID [2022-04-27 13:10:14,863 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {7398#true} {7630#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} #102#return; {7630#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-27 13:10:14,863 INFO L290 TraceCheckUtils]: 36: Hoare triple {7398#true} assume true; {7398#true} is VALID [2022-04-27 13:10:14,863 INFO L290 TraceCheckUtils]: 35: Hoare triple {7398#true} assume !(0 == ~cond); {7398#true} is VALID [2022-04-27 13:10:14,863 INFO L290 TraceCheckUtils]: 34: Hoare triple {7398#true} ~cond := #in~cond; {7398#true} is VALID [2022-04-27 13:10:14,863 INFO L272 TraceCheckUtils]: 33: Hoare triple {7630#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {7398#true} is VALID [2022-04-27 13:10:14,863 INFO L290 TraceCheckUtils]: 32: Hoare triple {7630#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !false; {7630#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-27 13:10:14,864 INFO L290 TraceCheckUtils]: 31: Hoare triple {7700#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) main_~b~0 (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~c~0 main_~b~0)))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {7630#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-27 13:10:14,865 INFO L290 TraceCheckUtils]: 30: Hoare triple {7700#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) main_~b~0 (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~c~0 main_~b~0)))} assume !false; {7700#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) main_~b~0 (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~c~0 main_~b~0)))} is VALID [2022-04-27 13:10:14,865 INFO L290 TraceCheckUtils]: 29: Hoare triple {7707#(or (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) main_~b~0 (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~b~0 main_~a~0)))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {7700#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) main_~b~0 (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~c~0 main_~b~0)))} is VALID [2022-04-27 13:10:14,865 INFO L290 TraceCheckUtils]: 28: Hoare triple {7707#(or (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) main_~b~0 (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~b~0 main_~a~0)))} assume !false; {7707#(or (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) main_~b~0 (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~b~0 main_~a~0)))} is VALID [2022-04-27 13:10:14,866 INFO L290 TraceCheckUtils]: 27: Hoare triple {7398#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {7707#(or (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) main_~b~0 (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~b~0 main_~a~0)))} is VALID [2022-04-27 13:10:14,866 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {7398#true} {7398#true} #100#return; {7398#true} is VALID [2022-04-27 13:10:14,866 INFO L290 TraceCheckUtils]: 25: Hoare triple {7398#true} assume true; {7398#true} is VALID [2022-04-27 13:10:14,876 INFO L290 TraceCheckUtils]: 24: Hoare triple {7398#true} assume !(0 == ~cond); {7398#true} is VALID [2022-04-27 13:10:14,876 INFO L290 TraceCheckUtils]: 23: Hoare triple {7398#true} ~cond := #in~cond; {7398#true} is VALID [2022-04-27 13:10:14,876 INFO L272 TraceCheckUtils]: 22: Hoare triple {7398#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {7398#true} is VALID [2022-04-27 13:10:14,876 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {7398#true} {7398#true} #98#return; {7398#true} is VALID [2022-04-27 13:10:14,876 INFO L290 TraceCheckUtils]: 20: Hoare triple {7398#true} assume true; {7398#true} is VALID [2022-04-27 13:10:14,876 INFO L290 TraceCheckUtils]: 19: Hoare triple {7398#true} assume !(0 == ~cond); {7398#true} is VALID [2022-04-27 13:10:14,876 INFO L290 TraceCheckUtils]: 18: Hoare triple {7398#true} ~cond := #in~cond; {7398#true} is VALID [2022-04-27 13:10:14,876 INFO L272 TraceCheckUtils]: 17: Hoare triple {7398#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {7398#true} is VALID [2022-04-27 13:10:14,876 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {7398#true} {7398#true} #96#return; {7398#true} is VALID [2022-04-27 13:10:14,877 INFO L290 TraceCheckUtils]: 15: Hoare triple {7398#true} assume true; {7398#true} is VALID [2022-04-27 13:10:14,877 INFO L290 TraceCheckUtils]: 14: Hoare triple {7398#true} assume !(0 == ~cond); {7398#true} is VALID [2022-04-27 13:10:14,877 INFO L290 TraceCheckUtils]: 13: Hoare triple {7398#true} ~cond := #in~cond; {7398#true} is VALID [2022-04-27 13:10:14,877 INFO L272 TraceCheckUtils]: 12: Hoare triple {7398#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {7398#true} is VALID [2022-04-27 13:10:14,877 INFO L290 TraceCheckUtils]: 11: Hoare triple {7398#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {7398#true} is VALID [2022-04-27 13:10:14,877 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7398#true} {7398#true} #94#return; {7398#true} is VALID [2022-04-27 13:10:14,877 INFO L290 TraceCheckUtils]: 9: Hoare triple {7398#true} assume true; {7398#true} is VALID [2022-04-27 13:10:14,877 INFO L290 TraceCheckUtils]: 8: Hoare triple {7398#true} assume !(0 == ~cond); {7398#true} is VALID [2022-04-27 13:10:14,877 INFO L290 TraceCheckUtils]: 7: Hoare triple {7398#true} ~cond := #in~cond; {7398#true} is VALID [2022-04-27 13:10:14,877 INFO L272 TraceCheckUtils]: 6: Hoare triple {7398#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {7398#true} is VALID [2022-04-27 13:10:14,877 INFO L290 TraceCheckUtils]: 5: Hoare triple {7398#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {7398#true} is VALID [2022-04-27 13:10:14,877 INFO L272 TraceCheckUtils]: 4: Hoare triple {7398#true} call #t~ret6 := main(); {7398#true} is VALID [2022-04-27 13:10:14,877 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7398#true} {7398#true} #112#return; {7398#true} is VALID [2022-04-27 13:10:14,877 INFO L290 TraceCheckUtils]: 2: Hoare triple {7398#true} assume true; {7398#true} is VALID [2022-04-27 13:10:14,877 INFO L290 TraceCheckUtils]: 1: Hoare triple {7398#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(11, 2);call #Ultimate.allocInit(12, 3); {7398#true} is VALID [2022-04-27 13:10:14,877 INFO L272 TraceCheckUtils]: 0: Hoare triple {7398#true} call ULTIMATE.init(); {7398#true} is VALID [2022-04-27 13:10:14,878 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 8 proven. 4 refuted. 0 times theorem prover too weak. 48 trivial. 0 not checked. [2022-04-27 13:10:14,878 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:10:14,878 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1037382495] [2022-04-27 13:10:14,878 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:10:14,878 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [62637771] [2022-04-27 13:10:14,878 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [62637771] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 13:10:14,878 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 13:10:14,878 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 10] total 16 [2022-04-27 13:10:14,878 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1330841924] [2022-04-27 13:10:14,878 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 13:10:14,879 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 14 states have (on average 2.7857142857142856) internal successors, (39), 15 states have internal predecessors, (39), 5 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (13), 3 states have call predecessors, (13), 3 states have call successors, (13) Word has length 64 [2022-04-27 13:10:14,879 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:10:14,879 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 16 states, 14 states have (on average 2.7857142857142856) internal successors, (39), 15 states have internal predecessors, (39), 5 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (13), 3 states have call predecessors, (13), 3 states have call successors, (13) [2022-04-27 13:10:15,012 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 68 edges. 68 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:10:15,012 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-04-27 13:10:15,012 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:10:15,018 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-04-27 13:10:15,018 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=44, Invalid=196, Unknown=0, NotChecked=0, Total=240 [2022-04-27 13:10:15,018 INFO L87 Difference]: Start difference. First operand 148 states and 205 transitions. Second operand has 16 states, 14 states have (on average 2.7857142857142856) internal successors, (39), 15 states have internal predecessors, (39), 5 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (13), 3 states have call predecessors, (13), 3 states have call successors, (13) [2022-04-27 13:10:24,931 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:10:24,931 INFO L93 Difference]: Finished difference Result 331 states and 487 transitions. [2022-04-27 13:10:24,932 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 29 states. [2022-04-27 13:10:24,932 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 14 states have (on average 2.7857142857142856) internal successors, (39), 15 states have internal predecessors, (39), 5 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (13), 3 states have call predecessors, (13), 3 states have call successors, (13) Word has length 64 [2022-04-27 13:10:24,932 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:10:24,932 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 14 states have (on average 2.7857142857142856) internal successors, (39), 15 states have internal predecessors, (39), 5 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (13), 3 states have call predecessors, (13), 3 states have call successors, (13) [2022-04-27 13:10:24,950 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 283 transitions. [2022-04-27 13:10:24,950 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 14 states have (on average 2.7857142857142856) internal successors, (39), 15 states have internal predecessors, (39), 5 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (13), 3 states have call predecessors, (13), 3 states have call successors, (13) [2022-04-27 13:10:24,974 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 283 transitions. [2022-04-27 13:10:24,974 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 29 states and 283 transitions. [2022-04-27 13:10:27,039 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 283 edges. 283 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:10:27,047 INFO L225 Difference]: With dead ends: 331 [2022-04-27 13:10:27,047 INFO L226 Difference]: Without dead ends: 326 [2022-04-27 13:10:27,048 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 148 GetRequests, 112 SyntacticMatches, 1 SemanticMatches, 35 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 234 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=275, Invalid=1057, Unknown=0, NotChecked=0, Total=1332 [2022-04-27 13:10:27,048 INFO L413 NwaCegarLoop]: 79 mSDtfsCounter, 132 mSDsluCounter, 344 mSDsCounter, 0 mSdLazyCounter, 951 mSolverCounterSat, 242 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 4.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 144 SdHoareTripleChecker+Valid, 423 SdHoareTripleChecker+Invalid, 1193 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 242 IncrementalHoareTripleChecker+Valid, 951 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 4.2s IncrementalHoareTripleChecker+Time [2022-04-27 13:10:27,049 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [144 Valid, 423 Invalid, 1193 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [242 Valid, 951 Invalid, 0 Unknown, 0 Unchecked, 4.2s Time] [2022-04-27 13:10:27,049 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 326 states. [2022-04-27 13:10:27,797 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 326 to 250. [2022-04-27 13:10:27,797 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:10:27,798 INFO L82 GeneralOperation]: Start isEquivalent. First operand 326 states. Second operand has 250 states, 146 states have (on average 1.1986301369863013) internal successors, (175), 153 states have internal predecessors, (175), 89 states have call successors, (89), 15 states have call predecessors, (89), 14 states have return successors, (87), 81 states have call predecessors, (87), 87 states have call successors, (87) [2022-04-27 13:10:27,798 INFO L74 IsIncluded]: Start isIncluded. First operand 326 states. Second operand has 250 states, 146 states have (on average 1.1986301369863013) internal successors, (175), 153 states have internal predecessors, (175), 89 states have call successors, (89), 15 states have call predecessors, (89), 14 states have return successors, (87), 81 states have call predecessors, (87), 87 states have call successors, (87) [2022-04-27 13:10:27,798 INFO L87 Difference]: Start difference. First operand 326 states. Second operand has 250 states, 146 states have (on average 1.1986301369863013) internal successors, (175), 153 states have internal predecessors, (175), 89 states have call successors, (89), 15 states have call predecessors, (89), 14 states have return successors, (87), 81 states have call predecessors, (87), 87 states have call successors, (87) [2022-04-27 13:10:27,807 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:10:27,807 INFO L93 Difference]: Finished difference Result 326 states and 478 transitions. [2022-04-27 13:10:27,807 INFO L276 IsEmpty]: Start isEmpty. Operand 326 states and 478 transitions. [2022-04-27 13:10:27,808 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:10:27,808 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:10:27,808 INFO L74 IsIncluded]: Start isIncluded. First operand has 250 states, 146 states have (on average 1.1986301369863013) internal successors, (175), 153 states have internal predecessors, (175), 89 states have call successors, (89), 15 states have call predecessors, (89), 14 states have return successors, (87), 81 states have call predecessors, (87), 87 states have call successors, (87) Second operand 326 states. [2022-04-27 13:10:27,809 INFO L87 Difference]: Start difference. First operand has 250 states, 146 states have (on average 1.1986301369863013) internal successors, (175), 153 states have internal predecessors, (175), 89 states have call successors, (89), 15 states have call predecessors, (89), 14 states have return successors, (87), 81 states have call predecessors, (87), 87 states have call successors, (87) Second operand 326 states. [2022-04-27 13:10:27,817 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:10:27,817 INFO L93 Difference]: Finished difference Result 326 states and 478 transitions. [2022-04-27 13:10:27,817 INFO L276 IsEmpty]: Start isEmpty. Operand 326 states and 478 transitions. [2022-04-27 13:10:27,818 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:10:27,818 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:10:27,818 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:10:27,818 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:10:27,819 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 250 states, 146 states have (on average 1.1986301369863013) internal successors, (175), 153 states have internal predecessors, (175), 89 states have call successors, (89), 15 states have call predecessors, (89), 14 states have return successors, (87), 81 states have call predecessors, (87), 87 states have call successors, (87) [2022-04-27 13:10:27,824 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 250 states to 250 states and 351 transitions. [2022-04-27 13:10:27,824 INFO L78 Accepts]: Start accepts. Automaton has 250 states and 351 transitions. Word has length 64 [2022-04-27 13:10:27,824 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:10:27,824 INFO L495 AbstractCegarLoop]: Abstraction has 250 states and 351 transitions. [2022-04-27 13:10:27,825 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 16 states, 14 states have (on average 2.7857142857142856) internal successors, (39), 15 states have internal predecessors, (39), 5 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (13), 3 states have call predecessors, (13), 3 states have call successors, (13) [2022-04-27 13:10:27,825 INFO L276 IsEmpty]: Start isEmpty. Operand 250 states and 351 transitions. [2022-04-27 13:10:27,825 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 75 [2022-04-27 13:10:27,825 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:10:27,825 INFO L195 NwaCegarLoop]: trace histogram [8, 7, 7, 4, 4, 4, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:10:27,844 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Forceful destruction successful, exit code 0 [2022-04-27 13:10:28,044 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 11 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable10 [2022-04-27 13:10:28,044 INFO L420 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:10:28,045 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:10:28,045 INFO L85 PathProgramCache]: Analyzing trace with hash -298771846, now seen corresponding path program 1 times [2022-04-27 13:10:28,045 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:10:28,045 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [526199137] [2022-04-27 13:10:28,045 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:10:28,045 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:10:28,065 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:10:28,066 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [479623210] [2022-04-27 13:10:28,066 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:10:28,066 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:10:28,066 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:10:28,070 INFO L229 MonitoredProcess]: Starting monitored process 12 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 13:10:28,078 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Waiting until timeout for monitored process [2022-04-27 13:10:28,116 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:10:28,117 INFO L263 TraceCheckSpWp]: Trace formula consists of 186 conjuncts, 26 conjunts are in the unsatisfiable core [2022-04-27 13:10:28,129 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:10:28,130 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:10:28,946 INFO L272 TraceCheckUtils]: 0: Hoare triple {9430#true} call ULTIMATE.init(); {9430#true} is VALID [2022-04-27 13:10:28,946 INFO L290 TraceCheckUtils]: 1: Hoare triple {9430#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(11, 2);call #Ultimate.allocInit(12, 3); {9430#true} is VALID [2022-04-27 13:10:28,946 INFO L290 TraceCheckUtils]: 2: Hoare triple {9430#true} assume true; {9430#true} is VALID [2022-04-27 13:10:28,946 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9430#true} {9430#true} #112#return; {9430#true} is VALID [2022-04-27 13:10:28,946 INFO L272 TraceCheckUtils]: 4: Hoare triple {9430#true} call #t~ret6 := main(); {9430#true} is VALID [2022-04-27 13:10:28,946 INFO L290 TraceCheckUtils]: 5: Hoare triple {9430#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {9430#true} is VALID [2022-04-27 13:10:28,946 INFO L272 TraceCheckUtils]: 6: Hoare triple {9430#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {9430#true} is VALID [2022-04-27 13:10:28,947 INFO L290 TraceCheckUtils]: 7: Hoare triple {9430#true} ~cond := #in~cond; {9456#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 13:10:28,947 INFO L290 TraceCheckUtils]: 8: Hoare triple {9456#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {9460#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:10:28,947 INFO L290 TraceCheckUtils]: 9: Hoare triple {9460#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {9460#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:10:28,947 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {9460#(not (= |assume_abort_if_not_#in~cond| 0))} {9430#true} #94#return; {9467#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-27 13:10:28,948 INFO L290 TraceCheckUtils]: 11: Hoare triple {9467#(and (<= 0 main_~x~0) (<= main_~x~0 2))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {9467#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-27 13:10:28,948 INFO L272 TraceCheckUtils]: 12: Hoare triple {9467#(and (<= 0 main_~x~0) (<= main_~x~0 2))} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {9430#true} is VALID [2022-04-27 13:10:28,948 INFO L290 TraceCheckUtils]: 13: Hoare triple {9430#true} ~cond := #in~cond; {9456#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 13:10:28,948 INFO L290 TraceCheckUtils]: 14: Hoare triple {9456#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {9460#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:10:28,949 INFO L290 TraceCheckUtils]: 15: Hoare triple {9460#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {9460#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:10:28,949 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {9460#(not (= |assume_abort_if_not_#in~cond| 0))} {9467#(and (<= 0 main_~x~0) (<= main_~x~0 2))} #96#return; {9486#(and (<= 0 main_~y~0) (<= main_~y~0 2) (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-27 13:10:28,949 INFO L272 TraceCheckUtils]: 17: Hoare triple {9486#(and (<= 0 main_~y~0) (<= main_~y~0 2) (<= 0 main_~x~0) (<= main_~x~0 2))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {9430#true} is VALID [2022-04-27 13:10:28,949 INFO L290 TraceCheckUtils]: 18: Hoare triple {9430#true} ~cond := #in~cond; {9430#true} is VALID [2022-04-27 13:10:28,949 INFO L290 TraceCheckUtils]: 19: Hoare triple {9430#true} assume !(0 == ~cond); {9430#true} is VALID [2022-04-27 13:10:28,949 INFO L290 TraceCheckUtils]: 20: Hoare triple {9430#true} assume true; {9430#true} is VALID [2022-04-27 13:10:28,949 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {9430#true} {9486#(and (<= 0 main_~y~0) (<= main_~y~0 2) (<= 0 main_~x~0) (<= main_~x~0 2))} #98#return; {9486#(and (<= 0 main_~y~0) (<= main_~y~0 2) (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-27 13:10:28,950 INFO L272 TraceCheckUtils]: 22: Hoare triple {9486#(and (<= 0 main_~y~0) (<= main_~y~0 2) (<= 0 main_~x~0) (<= main_~x~0 2))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {9430#true} is VALID [2022-04-27 13:10:28,950 INFO L290 TraceCheckUtils]: 23: Hoare triple {9430#true} ~cond := #in~cond; {9430#true} is VALID [2022-04-27 13:10:28,950 INFO L290 TraceCheckUtils]: 24: Hoare triple {9430#true} assume !(0 == ~cond); {9430#true} is VALID [2022-04-27 13:10:28,950 INFO L290 TraceCheckUtils]: 25: Hoare triple {9430#true} assume true; {9430#true} is VALID [2022-04-27 13:10:28,950 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {9430#true} {9486#(and (<= 0 main_~y~0) (<= main_~y~0 2) (<= 0 main_~x~0) (<= main_~x~0 2))} #100#return; {9486#(and (<= 0 main_~y~0) (<= main_~y~0 2) (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-27 13:10:28,950 INFO L290 TraceCheckUtils]: 27: Hoare triple {9486#(and (<= 0 main_~y~0) (<= main_~y~0 2) (<= 0 main_~x~0) (<= main_~x~0 2))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {9520#(and (<= main_~a~0 2) (<= 0 main_~b~0))} is VALID [2022-04-27 13:10:28,951 INFO L290 TraceCheckUtils]: 28: Hoare triple {9520#(and (<= main_~a~0 2) (<= 0 main_~b~0))} assume !false; {9520#(and (<= main_~a~0 2) (<= 0 main_~b~0))} is VALID [2022-04-27 13:10:28,951 INFO L290 TraceCheckUtils]: 29: Hoare triple {9520#(and (<= main_~a~0 2) (<= 0 main_~b~0))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {9527#(and (<= main_~c~0 2) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-27 13:10:28,951 INFO L290 TraceCheckUtils]: 30: Hoare triple {9527#(and (<= main_~c~0 2) (not (= main_~b~0 0)) (<= 0 main_~b~0))} assume !false; {9527#(and (<= main_~c~0 2) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-27 13:10:28,951 INFO L290 TraceCheckUtils]: 31: Hoare triple {9527#(and (<= main_~c~0 2) (not (= main_~b~0 0)) (<= 0 main_~b~0))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {9534#(and (= main_~b~0 main_~v~0) (<= main_~c~0 2) (= main_~d~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-27 13:10:28,952 INFO L290 TraceCheckUtils]: 32: Hoare triple {9534#(and (= main_~b~0 main_~v~0) (<= main_~c~0 2) (= main_~d~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0))} assume !false; {9534#(and (= main_~b~0 main_~v~0) (<= main_~c~0 2) (= main_~d~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-27 13:10:28,952 INFO L272 TraceCheckUtils]: 33: Hoare triple {9534#(and (= main_~b~0 main_~v~0) (<= main_~c~0 2) (= main_~d~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {9430#true} is VALID [2022-04-27 13:10:28,952 INFO L290 TraceCheckUtils]: 34: Hoare triple {9430#true} ~cond := #in~cond; {9430#true} is VALID [2022-04-27 13:10:28,952 INFO L290 TraceCheckUtils]: 35: Hoare triple {9430#true} assume !(0 == ~cond); {9430#true} is VALID [2022-04-27 13:10:28,952 INFO L290 TraceCheckUtils]: 36: Hoare triple {9430#true} assume true; {9430#true} is VALID [2022-04-27 13:10:28,952 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {9430#true} {9534#(and (= main_~b~0 main_~v~0) (<= main_~c~0 2) (= main_~d~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0))} #102#return; {9534#(and (= main_~b~0 main_~v~0) (<= main_~c~0 2) (= main_~d~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-27 13:10:28,953 INFO L272 TraceCheckUtils]: 38: Hoare triple {9534#(and (= main_~b~0 main_~v~0) (<= main_~c~0 2) (= main_~d~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {9430#true} is VALID [2022-04-27 13:10:28,953 INFO L290 TraceCheckUtils]: 39: Hoare triple {9430#true} ~cond := #in~cond; {9430#true} is VALID [2022-04-27 13:10:28,953 INFO L290 TraceCheckUtils]: 40: Hoare triple {9430#true} assume !(0 == ~cond); {9430#true} is VALID [2022-04-27 13:10:28,953 INFO L290 TraceCheckUtils]: 41: Hoare triple {9430#true} assume true; {9430#true} is VALID [2022-04-27 13:10:28,953 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {9430#true} {9534#(and (= main_~b~0 main_~v~0) (<= main_~c~0 2) (= main_~d~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0))} #104#return; {9534#(and (= main_~b~0 main_~v~0) (<= main_~c~0 2) (= main_~d~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-27 13:10:28,953 INFO L272 TraceCheckUtils]: 43: Hoare triple {9534#(and (= main_~b~0 main_~v~0) (<= main_~c~0 2) (= main_~d~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {9430#true} is VALID [2022-04-27 13:10:28,953 INFO L290 TraceCheckUtils]: 44: Hoare triple {9430#true} ~cond := #in~cond; {9430#true} is VALID [2022-04-27 13:10:28,953 INFO L290 TraceCheckUtils]: 45: Hoare triple {9430#true} assume !(0 == ~cond); {9430#true} is VALID [2022-04-27 13:10:28,953 INFO L290 TraceCheckUtils]: 46: Hoare triple {9430#true} assume true; {9430#true} is VALID [2022-04-27 13:10:28,954 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {9430#true} {9534#(and (= main_~b~0 main_~v~0) (<= main_~c~0 2) (= main_~d~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0))} #106#return; {9534#(and (= main_~b~0 main_~v~0) (<= main_~c~0 2) (= main_~d~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-27 13:10:28,954 INFO L272 TraceCheckUtils]: 48: Hoare triple {9534#(and (= main_~b~0 main_~v~0) (<= main_~c~0 2) (= main_~d~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {9430#true} is VALID [2022-04-27 13:10:28,954 INFO L290 TraceCheckUtils]: 49: Hoare triple {9430#true} ~cond := #in~cond; {9430#true} is VALID [2022-04-27 13:10:28,954 INFO L290 TraceCheckUtils]: 50: Hoare triple {9430#true} assume !(0 == ~cond); {9430#true} is VALID [2022-04-27 13:10:28,954 INFO L290 TraceCheckUtils]: 51: Hoare triple {9430#true} assume true; {9430#true} is VALID [2022-04-27 13:10:28,954 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {9430#true} {9534#(and (= main_~b~0 main_~v~0) (<= main_~c~0 2) (= main_~d~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0))} #108#return; {9534#(and (= main_~b~0 main_~v~0) (<= main_~c~0 2) (= main_~d~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-27 13:10:28,955 INFO L290 TraceCheckUtils]: 53: Hoare triple {9534#(and (= main_~b~0 main_~v~0) (<= main_~c~0 2) (= main_~d~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0))} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {9601#(and (= main_~v~0 (* main_~b~0 2)) (<= (* main_~b~0 2) 2) (= main_~d~0 2) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-27 13:10:28,955 INFO L290 TraceCheckUtils]: 54: Hoare triple {9601#(and (= main_~v~0 (* main_~b~0 2)) (<= (* main_~b~0 2) 2) (= main_~d~0 2) (not (= main_~b~0 0)) (<= 0 main_~b~0))} assume !false; {9601#(and (= main_~v~0 (* main_~b~0 2)) (<= (* main_~b~0 2) 2) (= main_~d~0 2) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-27 13:10:28,955 INFO L272 TraceCheckUtils]: 55: Hoare triple {9601#(and (= main_~v~0 (* main_~b~0 2)) (<= (* main_~b~0 2) 2) (= main_~d~0 2) (not (= main_~b~0 0)) (<= 0 main_~b~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {9430#true} is VALID [2022-04-27 13:10:28,955 INFO L290 TraceCheckUtils]: 56: Hoare triple {9430#true} ~cond := #in~cond; {9430#true} is VALID [2022-04-27 13:10:28,955 INFO L290 TraceCheckUtils]: 57: Hoare triple {9430#true} assume !(0 == ~cond); {9430#true} is VALID [2022-04-27 13:10:28,955 INFO L290 TraceCheckUtils]: 58: Hoare triple {9430#true} assume true; {9430#true} is VALID [2022-04-27 13:10:28,956 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {9430#true} {9601#(and (= main_~v~0 (* main_~b~0 2)) (<= (* main_~b~0 2) 2) (= main_~d~0 2) (not (= main_~b~0 0)) (<= 0 main_~b~0))} #102#return; {9601#(and (= main_~v~0 (* main_~b~0 2)) (<= (* main_~b~0 2) 2) (= main_~d~0 2) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-27 13:10:28,956 INFO L272 TraceCheckUtils]: 60: Hoare triple {9601#(and (= main_~v~0 (* main_~b~0 2)) (<= (* main_~b~0 2) 2) (= main_~d~0 2) (not (= main_~b~0 0)) (<= 0 main_~b~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {9430#true} is VALID [2022-04-27 13:10:28,956 INFO L290 TraceCheckUtils]: 61: Hoare triple {9430#true} ~cond := #in~cond; {9430#true} is VALID [2022-04-27 13:10:28,956 INFO L290 TraceCheckUtils]: 62: Hoare triple {9430#true} assume !(0 == ~cond); {9430#true} is VALID [2022-04-27 13:10:28,956 INFO L290 TraceCheckUtils]: 63: Hoare triple {9430#true} assume true; {9430#true} is VALID [2022-04-27 13:10:28,956 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {9430#true} {9601#(and (= main_~v~0 (* main_~b~0 2)) (<= (* main_~b~0 2) 2) (= main_~d~0 2) (not (= main_~b~0 0)) (<= 0 main_~b~0))} #104#return; {9601#(and (= main_~v~0 (* main_~b~0 2)) (<= (* main_~b~0 2) 2) (= main_~d~0 2) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-27 13:10:28,957 INFO L272 TraceCheckUtils]: 65: Hoare triple {9601#(and (= main_~v~0 (* main_~b~0 2)) (<= (* main_~b~0 2) 2) (= main_~d~0 2) (not (= main_~b~0 0)) (<= 0 main_~b~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {9430#true} is VALID [2022-04-27 13:10:28,957 INFO L290 TraceCheckUtils]: 66: Hoare triple {9430#true} ~cond := #in~cond; {9430#true} is VALID [2022-04-27 13:10:28,957 INFO L290 TraceCheckUtils]: 67: Hoare triple {9430#true} assume !(0 == ~cond); {9430#true} is VALID [2022-04-27 13:10:28,957 INFO L290 TraceCheckUtils]: 68: Hoare triple {9430#true} assume true; {9430#true} is VALID [2022-04-27 13:10:28,957 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {9430#true} {9601#(and (= main_~v~0 (* main_~b~0 2)) (<= (* main_~b~0 2) 2) (= main_~d~0 2) (not (= main_~b~0 0)) (<= 0 main_~b~0))} #106#return; {9601#(and (= main_~v~0 (* main_~b~0 2)) (<= (* main_~b~0 2) 2) (= main_~d~0 2) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-27 13:10:28,958 INFO L272 TraceCheckUtils]: 70: Hoare triple {9601#(and (= main_~v~0 (* main_~b~0 2)) (<= (* main_~b~0 2) 2) (= main_~d~0 2) (not (= main_~b~0 0)) (<= 0 main_~b~0))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {9653#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:10:28,958 INFO L290 TraceCheckUtils]: 71: Hoare triple {9653#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {9657#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:10:28,958 INFO L290 TraceCheckUtils]: 72: Hoare triple {9657#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {9431#false} is VALID [2022-04-27 13:10:28,959 INFO L290 TraceCheckUtils]: 73: Hoare triple {9431#false} assume !false; {9431#false} is VALID [2022-04-27 13:10:28,959 INFO L134 CoverageAnalysis]: Checked inductivity of 127 backedges. 14 proven. 17 refuted. 0 times theorem prover too weak. 96 trivial. 0 not checked. [2022-04-27 13:10:28,959 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:10:29,260 INFO L290 TraceCheckUtils]: 73: Hoare triple {9431#false} assume !false; {9431#false} is VALID [2022-04-27 13:10:29,260 INFO L290 TraceCheckUtils]: 72: Hoare triple {9657#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {9431#false} is VALID [2022-04-27 13:10:29,260 INFO L290 TraceCheckUtils]: 71: Hoare triple {9653#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {9657#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:10:29,261 INFO L272 TraceCheckUtils]: 70: Hoare triple {9673#(= main_~v~0 (* main_~d~0 main_~b~0))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {9653#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:10:29,261 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {9430#true} {9673#(= main_~v~0 (* main_~d~0 main_~b~0))} #106#return; {9673#(= main_~v~0 (* main_~d~0 main_~b~0))} is VALID [2022-04-27 13:10:29,261 INFO L290 TraceCheckUtils]: 68: Hoare triple {9430#true} assume true; {9430#true} is VALID [2022-04-27 13:10:29,261 INFO L290 TraceCheckUtils]: 67: Hoare triple {9430#true} assume !(0 == ~cond); {9430#true} is VALID [2022-04-27 13:10:29,261 INFO L290 TraceCheckUtils]: 66: Hoare triple {9430#true} ~cond := #in~cond; {9430#true} is VALID [2022-04-27 13:10:29,261 INFO L272 TraceCheckUtils]: 65: Hoare triple {9673#(= main_~v~0 (* main_~d~0 main_~b~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {9430#true} is VALID [2022-04-27 13:10:29,262 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {9430#true} {9673#(= main_~v~0 (* main_~d~0 main_~b~0))} #104#return; {9673#(= main_~v~0 (* main_~d~0 main_~b~0))} is VALID [2022-04-27 13:10:29,262 INFO L290 TraceCheckUtils]: 63: Hoare triple {9430#true} assume true; {9430#true} is VALID [2022-04-27 13:10:29,262 INFO L290 TraceCheckUtils]: 62: Hoare triple {9430#true} assume !(0 == ~cond); {9430#true} is VALID [2022-04-27 13:10:29,262 INFO L290 TraceCheckUtils]: 61: Hoare triple {9430#true} ~cond := #in~cond; {9430#true} is VALID [2022-04-27 13:10:29,262 INFO L272 TraceCheckUtils]: 60: Hoare triple {9673#(= main_~v~0 (* main_~d~0 main_~b~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {9430#true} is VALID [2022-04-27 13:10:29,263 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {9430#true} {9673#(= main_~v~0 (* main_~d~0 main_~b~0))} #102#return; {9673#(= main_~v~0 (* main_~d~0 main_~b~0))} is VALID [2022-04-27 13:10:29,263 INFO L290 TraceCheckUtils]: 58: Hoare triple {9430#true} assume true; {9430#true} is VALID [2022-04-27 13:10:29,263 INFO L290 TraceCheckUtils]: 57: Hoare triple {9430#true} assume !(0 == ~cond); {9430#true} is VALID [2022-04-27 13:10:29,263 INFO L290 TraceCheckUtils]: 56: Hoare triple {9430#true} ~cond := #in~cond; {9430#true} is VALID [2022-04-27 13:10:29,263 INFO L272 TraceCheckUtils]: 55: Hoare triple {9673#(= main_~v~0 (* main_~d~0 main_~b~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {9430#true} is VALID [2022-04-27 13:10:29,263 INFO L290 TraceCheckUtils]: 54: Hoare triple {9673#(= main_~v~0 (* main_~d~0 main_~b~0))} assume !false; {9673#(= main_~v~0 (* main_~d~0 main_~b~0))} is VALID [2022-04-27 13:10:29,265 INFO L290 TraceCheckUtils]: 53: Hoare triple {9725#(or (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2))) (not (<= (* main_~v~0 2) main_~c~0)))} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {9673#(= main_~v~0 (* main_~d~0 main_~b~0))} is VALID [2022-04-27 13:10:29,266 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {9430#true} {9725#(or (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2))) (not (<= (* main_~v~0 2) main_~c~0)))} #108#return; {9725#(or (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2))) (not (<= (* main_~v~0 2) main_~c~0)))} is VALID [2022-04-27 13:10:29,266 INFO L290 TraceCheckUtils]: 51: Hoare triple {9430#true} assume true; {9430#true} is VALID [2022-04-27 13:10:29,266 INFO L290 TraceCheckUtils]: 50: Hoare triple {9430#true} assume !(0 == ~cond); {9430#true} is VALID [2022-04-27 13:10:29,266 INFO L290 TraceCheckUtils]: 49: Hoare triple {9430#true} ~cond := #in~cond; {9430#true} is VALID [2022-04-27 13:10:29,266 INFO L272 TraceCheckUtils]: 48: Hoare triple {9725#(or (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2))) (not (<= (* main_~v~0 2) main_~c~0)))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {9430#true} is VALID [2022-04-27 13:10:29,266 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {9430#true} {9725#(or (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2))) (not (<= (* main_~v~0 2) main_~c~0)))} #106#return; {9725#(or (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2))) (not (<= (* main_~v~0 2) main_~c~0)))} is VALID [2022-04-27 13:10:29,266 INFO L290 TraceCheckUtils]: 46: Hoare triple {9430#true} assume true; {9430#true} is VALID [2022-04-27 13:10:29,266 INFO L290 TraceCheckUtils]: 45: Hoare triple {9430#true} assume !(0 == ~cond); {9430#true} is VALID [2022-04-27 13:10:29,266 INFO L290 TraceCheckUtils]: 44: Hoare triple {9430#true} ~cond := #in~cond; {9430#true} is VALID [2022-04-27 13:10:29,267 INFO L272 TraceCheckUtils]: 43: Hoare triple {9725#(or (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2))) (not (<= (* main_~v~0 2) main_~c~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {9430#true} is VALID [2022-04-27 13:10:29,267 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {9430#true} {9725#(or (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2))) (not (<= (* main_~v~0 2) main_~c~0)))} #104#return; {9725#(or (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2))) (not (<= (* main_~v~0 2) main_~c~0)))} is VALID [2022-04-27 13:10:29,267 INFO L290 TraceCheckUtils]: 41: Hoare triple {9430#true} assume true; {9430#true} is VALID [2022-04-27 13:10:29,267 INFO L290 TraceCheckUtils]: 40: Hoare triple {9430#true} assume !(0 == ~cond); {9430#true} is VALID [2022-04-27 13:10:29,267 INFO L290 TraceCheckUtils]: 39: Hoare triple {9430#true} ~cond := #in~cond; {9430#true} is VALID [2022-04-27 13:10:29,267 INFO L272 TraceCheckUtils]: 38: Hoare triple {9725#(or (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2))) (not (<= (* main_~v~0 2) main_~c~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {9430#true} is VALID [2022-04-27 13:10:29,268 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {9430#true} {9725#(or (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2))) (not (<= (* main_~v~0 2) main_~c~0)))} #102#return; {9725#(or (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2))) (not (<= (* main_~v~0 2) main_~c~0)))} is VALID [2022-04-27 13:10:29,268 INFO L290 TraceCheckUtils]: 36: Hoare triple {9430#true} assume true; {9430#true} is VALID [2022-04-27 13:10:29,268 INFO L290 TraceCheckUtils]: 35: Hoare triple {9430#true} assume !(0 == ~cond); {9430#true} is VALID [2022-04-27 13:10:29,268 INFO L290 TraceCheckUtils]: 34: Hoare triple {9430#true} ~cond := #in~cond; {9430#true} is VALID [2022-04-27 13:10:29,268 INFO L272 TraceCheckUtils]: 33: Hoare triple {9725#(or (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2))) (not (<= (* main_~v~0 2) main_~c~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {9430#true} is VALID [2022-04-27 13:10:29,268 INFO L290 TraceCheckUtils]: 32: Hoare triple {9725#(or (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2))) (not (<= (* main_~v~0 2) main_~c~0)))} assume !false; {9725#(or (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2))) (not (<= (* main_~v~0 2) main_~c~0)))} is VALID [2022-04-27 13:10:29,269 INFO L290 TraceCheckUtils]: 31: Hoare triple {9430#true} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {9725#(or (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2))) (not (<= (* main_~v~0 2) main_~c~0)))} is VALID [2022-04-27 13:10:29,269 INFO L290 TraceCheckUtils]: 30: Hoare triple {9430#true} assume !false; {9430#true} is VALID [2022-04-27 13:10:29,269 INFO L290 TraceCheckUtils]: 29: Hoare triple {9430#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {9430#true} is VALID [2022-04-27 13:10:29,269 INFO L290 TraceCheckUtils]: 28: Hoare triple {9430#true} assume !false; {9430#true} is VALID [2022-04-27 13:10:29,269 INFO L290 TraceCheckUtils]: 27: Hoare triple {9430#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {9430#true} is VALID [2022-04-27 13:10:29,269 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {9430#true} {9430#true} #100#return; {9430#true} is VALID [2022-04-27 13:10:29,269 INFO L290 TraceCheckUtils]: 25: Hoare triple {9430#true} assume true; {9430#true} is VALID [2022-04-27 13:10:29,269 INFO L290 TraceCheckUtils]: 24: Hoare triple {9430#true} assume !(0 == ~cond); {9430#true} is VALID [2022-04-27 13:10:29,269 INFO L290 TraceCheckUtils]: 23: Hoare triple {9430#true} ~cond := #in~cond; {9430#true} is VALID [2022-04-27 13:10:29,269 INFO L272 TraceCheckUtils]: 22: Hoare triple {9430#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {9430#true} is VALID [2022-04-27 13:10:29,269 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {9430#true} {9430#true} #98#return; {9430#true} is VALID [2022-04-27 13:10:29,269 INFO L290 TraceCheckUtils]: 20: Hoare triple {9430#true} assume true; {9430#true} is VALID [2022-04-27 13:10:29,269 INFO L290 TraceCheckUtils]: 19: Hoare triple {9430#true} assume !(0 == ~cond); {9430#true} is VALID [2022-04-27 13:10:29,269 INFO L290 TraceCheckUtils]: 18: Hoare triple {9430#true} ~cond := #in~cond; {9430#true} is VALID [2022-04-27 13:10:29,269 INFO L272 TraceCheckUtils]: 17: Hoare triple {9430#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {9430#true} is VALID [2022-04-27 13:10:29,269 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {9430#true} {9430#true} #96#return; {9430#true} is VALID [2022-04-27 13:10:29,270 INFO L290 TraceCheckUtils]: 15: Hoare triple {9430#true} assume true; {9430#true} is VALID [2022-04-27 13:10:29,270 INFO L290 TraceCheckUtils]: 14: Hoare triple {9430#true} assume !(0 == ~cond); {9430#true} is VALID [2022-04-27 13:10:29,270 INFO L290 TraceCheckUtils]: 13: Hoare triple {9430#true} ~cond := #in~cond; {9430#true} is VALID [2022-04-27 13:10:29,270 INFO L272 TraceCheckUtils]: 12: Hoare triple {9430#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {9430#true} is VALID [2022-04-27 13:10:29,270 INFO L290 TraceCheckUtils]: 11: Hoare triple {9430#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {9430#true} is VALID [2022-04-27 13:10:29,270 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {9430#true} {9430#true} #94#return; {9430#true} is VALID [2022-04-27 13:10:29,270 INFO L290 TraceCheckUtils]: 9: Hoare triple {9430#true} assume true; {9430#true} is VALID [2022-04-27 13:10:29,270 INFO L290 TraceCheckUtils]: 8: Hoare triple {9430#true} assume !(0 == ~cond); {9430#true} is VALID [2022-04-27 13:10:29,270 INFO L290 TraceCheckUtils]: 7: Hoare triple {9430#true} ~cond := #in~cond; {9430#true} is VALID [2022-04-27 13:10:29,270 INFO L272 TraceCheckUtils]: 6: Hoare triple {9430#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {9430#true} is VALID [2022-04-27 13:10:29,270 INFO L290 TraceCheckUtils]: 5: Hoare triple {9430#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {9430#true} is VALID [2022-04-27 13:10:29,270 INFO L272 TraceCheckUtils]: 4: Hoare triple {9430#true} call #t~ret6 := main(); {9430#true} is VALID [2022-04-27 13:10:29,270 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9430#true} {9430#true} #112#return; {9430#true} is VALID [2022-04-27 13:10:29,270 INFO L290 TraceCheckUtils]: 2: Hoare triple {9430#true} assume true; {9430#true} is VALID [2022-04-27 13:10:29,270 INFO L290 TraceCheckUtils]: 1: Hoare triple {9430#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(11, 2);call #Ultimate.allocInit(12, 3); {9430#true} is VALID [2022-04-27 13:10:29,271 INFO L272 TraceCheckUtils]: 0: Hoare triple {9430#true} call ULTIMATE.init(); {9430#true} is VALID [2022-04-27 13:10:29,271 INFO L134 CoverageAnalysis]: Checked inductivity of 127 backedges. 19 proven. 0 refuted. 0 times theorem prover too weak. 108 trivial. 0 not checked. [2022-04-27 13:10:29,271 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:10:29,271 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [526199137] [2022-04-27 13:10:29,271 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:10:29,271 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [479623210] [2022-04-27 13:10:29,271 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [479623210] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-27 13:10:29,271 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-27 13:10:29,271 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [12] total 14 [2022-04-27 13:10:29,271 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1961070019] [2022-04-27 13:10:29,271 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 13:10:29,272 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 3.5) internal successors, (21), 5 states have internal predecessors, (21), 3 states have call successors, (14), 2 states have call predecessors, (14), 1 states have return successors, (12), 3 states have call predecessors, (12), 3 states have call successors, (12) Word has length 74 [2022-04-27 13:10:29,272 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:10:29,272 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 3.5) internal successors, (21), 5 states have internal predecessors, (21), 3 states have call successors, (14), 2 states have call predecessors, (14), 1 states have return successors, (12), 3 states have call predecessors, (12), 3 states have call successors, (12) [2022-04-27 13:10:29,313 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 47 edges. 47 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:10:29,313 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-27 13:10:29,313 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:10:29,314 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-27 13:10:29,314 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=32, Invalid=150, Unknown=0, NotChecked=0, Total=182 [2022-04-27 13:10:29,314 INFO L87 Difference]: Start difference. First operand 250 states and 351 transitions. Second operand has 6 states, 6 states have (on average 3.5) internal successors, (21), 5 states have internal predecessors, (21), 3 states have call successors, (14), 2 states have call predecessors, (14), 1 states have return successors, (12), 3 states have call predecessors, (12), 3 states have call successors, (12) [2022-04-27 13:10:29,991 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:10:29,991 INFO L93 Difference]: Finished difference Result 256 states and 356 transitions. [2022-04-27 13:10:29,991 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-27 13:10:29,991 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 3.5) internal successors, (21), 5 states have internal predecessors, (21), 3 states have call successors, (14), 2 states have call predecessors, (14), 1 states have return successors, (12), 3 states have call predecessors, (12), 3 states have call successors, (12) Word has length 74 [2022-04-27 13:10:29,991 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:10:29,991 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 3.5) internal successors, (21), 5 states have internal predecessors, (21), 3 states have call successors, (14), 2 states have call predecessors, (14), 1 states have return successors, (12), 3 states have call predecessors, (12), 3 states have call successors, (12) [2022-04-27 13:10:29,992 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 53 transitions. [2022-04-27 13:10:29,992 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 3.5) internal successors, (21), 5 states have internal predecessors, (21), 3 states have call successors, (14), 2 states have call predecessors, (14), 1 states have return successors, (12), 3 states have call predecessors, (12), 3 states have call successors, (12) [2022-04-27 13:10:29,992 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 53 transitions. [2022-04-27 13:10:29,992 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 53 transitions. [2022-04-27 13:10:30,026 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 13:10:30,032 INFO L225 Difference]: With dead ends: 256 [2022-04-27 13:10:30,032 INFO L226 Difference]: Without dead ends: 254 [2022-04-27 13:10:30,032 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 148 GetRequests, 134 SyntacticMatches, 1 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 17 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=36, Invalid=174, Unknown=0, NotChecked=0, Total=210 [2022-04-27 13:10:30,033 INFO L413 NwaCegarLoop]: 42 mSDtfsCounter, 13 mSDsluCounter, 97 mSDsCounter, 0 mSdLazyCounter, 46 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 14 SdHoareTripleChecker+Valid, 139 SdHoareTripleChecker+Invalid, 48 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 46 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-27 13:10:30,036 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [14 Valid, 139 Invalid, 48 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 46 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-27 13:10:30,037 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 254 states. [2022-04-27 13:10:30,580 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 254 to 254. [2022-04-27 13:10:30,580 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:10:30,580 INFO L82 GeneralOperation]: Start isEquivalent. First operand 254 states. Second operand has 254 states, 149 states have (on average 1.1946308724832215) internal successors, (178), 156 states have internal predecessors, (178), 89 states have call successors, (89), 16 states have call predecessors, (89), 15 states have return successors, (87), 81 states have call predecessors, (87), 87 states have call successors, (87) [2022-04-27 13:10:30,581 INFO L74 IsIncluded]: Start isIncluded. First operand 254 states. Second operand has 254 states, 149 states have (on average 1.1946308724832215) internal successors, (178), 156 states have internal predecessors, (178), 89 states have call successors, (89), 16 states have call predecessors, (89), 15 states have return successors, (87), 81 states have call predecessors, (87), 87 states have call successors, (87) [2022-04-27 13:10:30,581 INFO L87 Difference]: Start difference. First operand 254 states. Second operand has 254 states, 149 states have (on average 1.1946308724832215) internal successors, (178), 156 states have internal predecessors, (178), 89 states have call successors, (89), 16 states have call predecessors, (89), 15 states have return successors, (87), 81 states have call predecessors, (87), 87 states have call successors, (87) [2022-04-27 13:10:30,586 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:10:30,586 INFO L93 Difference]: Finished difference Result 254 states and 354 transitions. [2022-04-27 13:10:30,586 INFO L276 IsEmpty]: Start isEmpty. Operand 254 states and 354 transitions. [2022-04-27 13:10:30,587 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:10:30,587 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:10:30,587 INFO L74 IsIncluded]: Start isIncluded. First operand has 254 states, 149 states have (on average 1.1946308724832215) internal successors, (178), 156 states have internal predecessors, (178), 89 states have call successors, (89), 16 states have call predecessors, (89), 15 states have return successors, (87), 81 states have call predecessors, (87), 87 states have call successors, (87) Second operand 254 states. [2022-04-27 13:10:30,587 INFO L87 Difference]: Start difference. First operand has 254 states, 149 states have (on average 1.1946308724832215) internal successors, (178), 156 states have internal predecessors, (178), 89 states have call successors, (89), 16 states have call predecessors, (89), 15 states have return successors, (87), 81 states have call predecessors, (87), 87 states have call successors, (87) Second operand 254 states. [2022-04-27 13:10:30,593 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:10:30,593 INFO L93 Difference]: Finished difference Result 254 states and 354 transitions. [2022-04-27 13:10:30,593 INFO L276 IsEmpty]: Start isEmpty. Operand 254 states and 354 transitions. [2022-04-27 13:10:30,593 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:10:30,593 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:10:30,593 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:10:30,594 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:10:30,594 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 254 states, 149 states have (on average 1.1946308724832215) internal successors, (178), 156 states have internal predecessors, (178), 89 states have call successors, (89), 16 states have call predecessors, (89), 15 states have return successors, (87), 81 states have call predecessors, (87), 87 states have call successors, (87) [2022-04-27 13:10:30,599 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 254 states to 254 states and 354 transitions. [2022-04-27 13:10:30,599 INFO L78 Accepts]: Start accepts. Automaton has 254 states and 354 transitions. Word has length 74 [2022-04-27 13:10:30,599 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:10:30,599 INFO L495 AbstractCegarLoop]: Abstraction has 254 states and 354 transitions. [2022-04-27 13:10:30,599 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 3.5) internal successors, (21), 5 states have internal predecessors, (21), 3 states have call successors, (14), 2 states have call predecessors, (14), 1 states have return successors, (12), 3 states have call predecessors, (12), 3 states have call successors, (12) [2022-04-27 13:10:30,599 INFO L276 IsEmpty]: Start isEmpty. Operand 254 states and 354 transitions. [2022-04-27 13:10:30,600 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 73 [2022-04-27 13:10:30,600 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:10:30,600 INFO L195 NwaCegarLoop]: trace histogram [5, 4, 4, 4, 4, 4, 4, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:10:30,643 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Forceful destruction successful, exit code 0 [2022-04-27 13:10:30,816 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 12 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable11 [2022-04-27 13:10:30,816 INFO L420 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:10:30,817 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:10:30,817 INFO L85 PathProgramCache]: Analyzing trace with hash -2089538094, now seen corresponding path program 1 times [2022-04-27 13:10:30,817 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:10:30,817 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1845501354] [2022-04-27 13:10:30,817 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:10:30,817 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:10:30,832 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:10:30,832 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1589069467] [2022-04-27 13:10:30,832 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:10:30,833 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:10:30,833 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:10:30,842 INFO L229 MonitoredProcess]: Starting monitored process 13 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 13:10:30,843 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Waiting until timeout for monitored process [2022-04-27 13:10:30,885 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:10:30,886 INFO L263 TraceCheckSpWp]: Trace formula consists of 209 conjuncts, 12 conjunts are in the unsatisfiable core [2022-04-27 13:10:30,897 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:10:30,897 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:10:31,215 INFO L272 TraceCheckUtils]: 0: Hoare triple {11207#true} call ULTIMATE.init(); {11207#true} is VALID [2022-04-27 13:10:31,215 INFO L290 TraceCheckUtils]: 1: Hoare triple {11207#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(11, 2);call #Ultimate.allocInit(12, 3); {11207#true} is VALID [2022-04-27 13:10:31,215 INFO L290 TraceCheckUtils]: 2: Hoare triple {11207#true} assume true; {11207#true} is VALID [2022-04-27 13:10:31,216 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11207#true} {11207#true} #112#return; {11207#true} is VALID [2022-04-27 13:10:31,216 INFO L272 TraceCheckUtils]: 4: Hoare triple {11207#true} call #t~ret6 := main(); {11207#true} is VALID [2022-04-27 13:10:31,216 INFO L290 TraceCheckUtils]: 5: Hoare triple {11207#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {11207#true} is VALID [2022-04-27 13:10:31,216 INFO L272 TraceCheckUtils]: 6: Hoare triple {11207#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {11207#true} is VALID [2022-04-27 13:10:31,216 INFO L290 TraceCheckUtils]: 7: Hoare triple {11207#true} ~cond := #in~cond; {11207#true} is VALID [2022-04-27 13:10:31,216 INFO L290 TraceCheckUtils]: 8: Hoare triple {11207#true} assume !(0 == ~cond); {11207#true} is VALID [2022-04-27 13:10:31,216 INFO L290 TraceCheckUtils]: 9: Hoare triple {11207#true} assume true; {11207#true} is VALID [2022-04-27 13:10:31,216 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11207#true} {11207#true} #94#return; {11207#true} is VALID [2022-04-27 13:10:31,216 INFO L290 TraceCheckUtils]: 11: Hoare triple {11207#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {11207#true} is VALID [2022-04-27 13:10:31,216 INFO L272 TraceCheckUtils]: 12: Hoare triple {11207#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {11207#true} is VALID [2022-04-27 13:10:31,216 INFO L290 TraceCheckUtils]: 13: Hoare triple {11207#true} ~cond := #in~cond; {11251#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 13:10:31,217 INFO L290 TraceCheckUtils]: 14: Hoare triple {11251#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {11255#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:10:31,217 INFO L290 TraceCheckUtils]: 15: Hoare triple {11255#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {11255#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:10:31,217 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {11255#(not (= |assume_abort_if_not_#in~cond| 0))} {11207#true} #96#return; {11262#(and (<= 0 main_~y~0) (<= main_~y~0 2))} is VALID [2022-04-27 13:10:31,217 INFO L272 TraceCheckUtils]: 17: Hoare triple {11262#(and (<= 0 main_~y~0) (<= main_~y~0 2))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {11207#true} is VALID [2022-04-27 13:10:31,217 INFO L290 TraceCheckUtils]: 18: Hoare triple {11207#true} ~cond := #in~cond; {11207#true} is VALID [2022-04-27 13:10:31,218 INFO L290 TraceCheckUtils]: 19: Hoare triple {11207#true} assume !(0 == ~cond); {11207#true} is VALID [2022-04-27 13:10:31,218 INFO L290 TraceCheckUtils]: 20: Hoare triple {11207#true} assume true; {11207#true} is VALID [2022-04-27 13:10:31,218 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {11207#true} {11262#(and (<= 0 main_~y~0) (<= main_~y~0 2))} #98#return; {11262#(and (<= 0 main_~y~0) (<= main_~y~0 2))} is VALID [2022-04-27 13:10:31,218 INFO L272 TraceCheckUtils]: 22: Hoare triple {11262#(and (<= 0 main_~y~0) (<= main_~y~0 2))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {11207#true} is VALID [2022-04-27 13:10:31,218 INFO L290 TraceCheckUtils]: 23: Hoare triple {11207#true} ~cond := #in~cond; {11207#true} is VALID [2022-04-27 13:10:31,218 INFO L290 TraceCheckUtils]: 24: Hoare triple {11207#true} assume !(0 == ~cond); {11207#true} is VALID [2022-04-27 13:10:31,218 INFO L290 TraceCheckUtils]: 25: Hoare triple {11207#true} assume true; {11207#true} is VALID [2022-04-27 13:10:31,218 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {11207#true} {11262#(and (<= 0 main_~y~0) (<= main_~y~0 2))} #100#return; {11262#(and (<= 0 main_~y~0) (<= main_~y~0 2))} is VALID [2022-04-27 13:10:31,219 INFO L290 TraceCheckUtils]: 27: Hoare triple {11262#(and (<= 0 main_~y~0) (<= main_~y~0 2))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {11296#(<= main_~b~0 2)} is VALID [2022-04-27 13:10:31,219 INFO L290 TraceCheckUtils]: 28: Hoare triple {11296#(<= main_~b~0 2)} assume !false; {11296#(<= main_~b~0 2)} is VALID [2022-04-27 13:10:31,219 INFO L290 TraceCheckUtils]: 29: Hoare triple {11296#(<= main_~b~0 2)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {11296#(<= main_~b~0 2)} is VALID [2022-04-27 13:10:31,220 INFO L290 TraceCheckUtils]: 30: Hoare triple {11296#(<= main_~b~0 2)} assume !false; {11296#(<= main_~b~0 2)} is VALID [2022-04-27 13:10:31,220 INFO L290 TraceCheckUtils]: 31: Hoare triple {11296#(<= main_~b~0 2)} assume !(~c~0 >= ~b~0); {11309#(and (<= main_~b~0 2) (not (<= main_~b~0 main_~c~0)))} is VALID [2022-04-27 13:10:31,220 INFO L290 TraceCheckUtils]: 32: Hoare triple {11309#(and (<= main_~b~0 2) (not (<= main_~b~0 main_~c~0)))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {11313#(and (< main_~b~0 main_~a~0) (< main_~b~0 2))} is VALID [2022-04-27 13:10:31,221 INFO L290 TraceCheckUtils]: 33: Hoare triple {11313#(and (< main_~b~0 main_~a~0) (< main_~b~0 2))} assume !false; {11313#(and (< main_~b~0 main_~a~0) (< main_~b~0 2))} is VALID [2022-04-27 13:10:31,221 INFO L290 TraceCheckUtils]: 34: Hoare triple {11313#(and (< main_~b~0 main_~a~0) (< main_~b~0 2))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {11320#(and (< main_~b~0 main_~c~0) (< main_~b~0 2))} is VALID [2022-04-27 13:10:31,221 INFO L290 TraceCheckUtils]: 35: Hoare triple {11320#(and (< main_~b~0 main_~c~0) (< main_~b~0 2))} assume !false; {11320#(and (< main_~b~0 main_~c~0) (< main_~b~0 2))} is VALID [2022-04-27 13:10:31,222 INFO L290 TraceCheckUtils]: 36: Hoare triple {11320#(and (< main_~b~0 main_~c~0) (< main_~b~0 2))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {11327#(and (< main_~v~0 main_~c~0) (< main_~v~0 2))} is VALID [2022-04-27 13:10:31,222 INFO L290 TraceCheckUtils]: 37: Hoare triple {11327#(and (< main_~v~0 main_~c~0) (< main_~v~0 2))} assume !false; {11327#(and (< main_~v~0 main_~c~0) (< main_~v~0 2))} is VALID [2022-04-27 13:10:31,222 INFO L272 TraceCheckUtils]: 38: Hoare triple {11327#(and (< main_~v~0 main_~c~0) (< main_~v~0 2))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11207#true} is VALID [2022-04-27 13:10:31,222 INFO L290 TraceCheckUtils]: 39: Hoare triple {11207#true} ~cond := #in~cond; {11207#true} is VALID [2022-04-27 13:10:31,222 INFO L290 TraceCheckUtils]: 40: Hoare triple {11207#true} assume !(0 == ~cond); {11207#true} is VALID [2022-04-27 13:10:31,222 INFO L290 TraceCheckUtils]: 41: Hoare triple {11207#true} assume true; {11207#true} is VALID [2022-04-27 13:10:31,223 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {11207#true} {11327#(and (< main_~v~0 main_~c~0) (< main_~v~0 2))} #102#return; {11327#(and (< main_~v~0 main_~c~0) (< main_~v~0 2))} is VALID [2022-04-27 13:10:31,223 INFO L272 TraceCheckUtils]: 43: Hoare triple {11327#(and (< main_~v~0 main_~c~0) (< main_~v~0 2))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {11207#true} is VALID [2022-04-27 13:10:31,223 INFO L290 TraceCheckUtils]: 44: Hoare triple {11207#true} ~cond := #in~cond; {11207#true} is VALID [2022-04-27 13:10:31,223 INFO L290 TraceCheckUtils]: 45: Hoare triple {11207#true} assume !(0 == ~cond); {11207#true} is VALID [2022-04-27 13:10:31,223 INFO L290 TraceCheckUtils]: 46: Hoare triple {11207#true} assume true; {11207#true} is VALID [2022-04-27 13:10:31,224 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {11207#true} {11327#(and (< main_~v~0 main_~c~0) (< main_~v~0 2))} #104#return; {11327#(and (< main_~v~0 main_~c~0) (< main_~v~0 2))} is VALID [2022-04-27 13:10:31,224 INFO L272 TraceCheckUtils]: 48: Hoare triple {11327#(and (< main_~v~0 main_~c~0) (< main_~v~0 2))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {11207#true} is VALID [2022-04-27 13:10:31,224 INFO L290 TraceCheckUtils]: 49: Hoare triple {11207#true} ~cond := #in~cond; {11207#true} is VALID [2022-04-27 13:10:31,224 INFO L290 TraceCheckUtils]: 50: Hoare triple {11207#true} assume !(0 == ~cond); {11207#true} is VALID [2022-04-27 13:10:31,224 INFO L290 TraceCheckUtils]: 51: Hoare triple {11207#true} assume true; {11207#true} is VALID [2022-04-27 13:10:31,224 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {11207#true} {11327#(and (< main_~v~0 main_~c~0) (< main_~v~0 2))} #106#return; {11327#(and (< main_~v~0 main_~c~0) (< main_~v~0 2))} is VALID [2022-04-27 13:10:31,224 INFO L272 TraceCheckUtils]: 53: Hoare triple {11327#(and (< main_~v~0 main_~c~0) (< main_~v~0 2))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {11207#true} is VALID [2022-04-27 13:10:31,224 INFO L290 TraceCheckUtils]: 54: Hoare triple {11207#true} ~cond := #in~cond; {11207#true} is VALID [2022-04-27 13:10:31,224 INFO L290 TraceCheckUtils]: 55: Hoare triple {11207#true} assume !(0 == ~cond); {11207#true} is VALID [2022-04-27 13:10:31,225 INFO L290 TraceCheckUtils]: 56: Hoare triple {11207#true} assume true; {11207#true} is VALID [2022-04-27 13:10:31,225 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {11207#true} {11327#(and (< main_~v~0 main_~c~0) (< main_~v~0 2))} #108#return; {11327#(and (< main_~v~0 main_~c~0) (< main_~v~0 2))} is VALID [2022-04-27 13:10:31,225 INFO L290 TraceCheckUtils]: 58: Hoare triple {11327#(and (< main_~v~0 main_~c~0) (< main_~v~0 2))} assume !(~c~0 >= 2 * ~v~0); {11208#false} is VALID [2022-04-27 13:10:31,226 INFO L290 TraceCheckUtils]: 59: Hoare triple {11208#false} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {11208#false} is VALID [2022-04-27 13:10:31,226 INFO L290 TraceCheckUtils]: 60: Hoare triple {11208#false} assume !false; {11208#false} is VALID [2022-04-27 13:10:31,226 INFO L290 TraceCheckUtils]: 61: Hoare triple {11208#false} assume !(~c~0 >= ~b~0); {11208#false} is VALID [2022-04-27 13:10:31,226 INFO L290 TraceCheckUtils]: 62: Hoare triple {11208#false} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {11208#false} is VALID [2022-04-27 13:10:31,226 INFO L290 TraceCheckUtils]: 63: Hoare triple {11208#false} assume !false; {11208#false} is VALID [2022-04-27 13:10:31,226 INFO L290 TraceCheckUtils]: 64: Hoare triple {11208#false} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {11208#false} is VALID [2022-04-27 13:10:31,226 INFO L290 TraceCheckUtils]: 65: Hoare triple {11208#false} assume !false; {11208#false} is VALID [2022-04-27 13:10:31,226 INFO L290 TraceCheckUtils]: 66: Hoare triple {11208#false} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {11208#false} is VALID [2022-04-27 13:10:31,226 INFO L290 TraceCheckUtils]: 67: Hoare triple {11208#false} assume !false; {11208#false} is VALID [2022-04-27 13:10:31,226 INFO L272 TraceCheckUtils]: 68: Hoare triple {11208#false} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11208#false} is VALID [2022-04-27 13:10:31,226 INFO L290 TraceCheckUtils]: 69: Hoare triple {11208#false} ~cond := #in~cond; {11208#false} is VALID [2022-04-27 13:10:31,226 INFO L290 TraceCheckUtils]: 70: Hoare triple {11208#false} assume 0 == ~cond; {11208#false} is VALID [2022-04-27 13:10:31,227 INFO L290 TraceCheckUtils]: 71: Hoare triple {11208#false} assume !false; {11208#false} is VALID [2022-04-27 13:10:31,227 INFO L134 CoverageAnalysis]: Checked inductivity of 77 backedges. 30 proven. 6 refuted. 0 times theorem prover too weak. 41 trivial. 0 not checked. [2022-04-27 13:10:31,227 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:10:31,786 INFO L290 TraceCheckUtils]: 71: Hoare triple {11208#false} assume !false; {11208#false} is VALID [2022-04-27 13:10:31,786 INFO L290 TraceCheckUtils]: 70: Hoare triple {11208#false} assume 0 == ~cond; {11208#false} is VALID [2022-04-27 13:10:31,786 INFO L290 TraceCheckUtils]: 69: Hoare triple {11208#false} ~cond := #in~cond; {11208#false} is VALID [2022-04-27 13:10:31,786 INFO L272 TraceCheckUtils]: 68: Hoare triple {11208#false} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11208#false} is VALID [2022-04-27 13:10:31,786 INFO L290 TraceCheckUtils]: 67: Hoare triple {11208#false} assume !false; {11208#false} is VALID [2022-04-27 13:10:31,786 INFO L290 TraceCheckUtils]: 66: Hoare triple {11208#false} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {11208#false} is VALID [2022-04-27 13:10:31,786 INFO L290 TraceCheckUtils]: 65: Hoare triple {11208#false} assume !false; {11208#false} is VALID [2022-04-27 13:10:31,786 INFO L290 TraceCheckUtils]: 64: Hoare triple {11208#false} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {11208#false} is VALID [2022-04-27 13:10:31,787 INFO L290 TraceCheckUtils]: 63: Hoare triple {11208#false} assume !false; {11208#false} is VALID [2022-04-27 13:10:31,787 INFO L290 TraceCheckUtils]: 62: Hoare triple {11208#false} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {11208#false} is VALID [2022-04-27 13:10:31,787 INFO L290 TraceCheckUtils]: 61: Hoare triple {11208#false} assume !(~c~0 >= ~b~0); {11208#false} is VALID [2022-04-27 13:10:31,787 INFO L290 TraceCheckUtils]: 60: Hoare triple {11208#false} assume !false; {11208#false} is VALID [2022-04-27 13:10:31,787 INFO L290 TraceCheckUtils]: 59: Hoare triple {11208#false} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {11208#false} is VALID [2022-04-27 13:10:31,787 INFO L290 TraceCheckUtils]: 58: Hoare triple {11472#(<= (* main_~v~0 2) main_~c~0)} assume !(~c~0 >= 2 * ~v~0); {11208#false} is VALID [2022-04-27 13:10:31,788 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {11207#true} {11472#(<= (* main_~v~0 2) main_~c~0)} #108#return; {11472#(<= (* main_~v~0 2) main_~c~0)} is VALID [2022-04-27 13:10:31,788 INFO L290 TraceCheckUtils]: 56: Hoare triple {11207#true} assume true; {11207#true} is VALID [2022-04-27 13:10:31,788 INFO L290 TraceCheckUtils]: 55: Hoare triple {11207#true} assume !(0 == ~cond); {11207#true} is VALID [2022-04-27 13:10:31,788 INFO L290 TraceCheckUtils]: 54: Hoare triple {11207#true} ~cond := #in~cond; {11207#true} is VALID [2022-04-27 13:10:31,788 INFO L272 TraceCheckUtils]: 53: Hoare triple {11472#(<= (* main_~v~0 2) main_~c~0)} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {11207#true} is VALID [2022-04-27 13:10:31,788 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {11207#true} {11472#(<= (* main_~v~0 2) main_~c~0)} #106#return; {11472#(<= (* main_~v~0 2) main_~c~0)} is VALID [2022-04-27 13:10:31,788 INFO L290 TraceCheckUtils]: 51: Hoare triple {11207#true} assume true; {11207#true} is VALID [2022-04-27 13:10:31,788 INFO L290 TraceCheckUtils]: 50: Hoare triple {11207#true} assume !(0 == ~cond); {11207#true} is VALID [2022-04-27 13:10:31,789 INFO L290 TraceCheckUtils]: 49: Hoare triple {11207#true} ~cond := #in~cond; {11207#true} is VALID [2022-04-27 13:10:31,789 INFO L272 TraceCheckUtils]: 48: Hoare triple {11472#(<= (* main_~v~0 2) main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {11207#true} is VALID [2022-04-27 13:10:31,790 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {11207#true} {11472#(<= (* main_~v~0 2) main_~c~0)} #104#return; {11472#(<= (* main_~v~0 2) main_~c~0)} is VALID [2022-04-27 13:10:31,790 INFO L290 TraceCheckUtils]: 46: Hoare triple {11207#true} assume true; {11207#true} is VALID [2022-04-27 13:10:31,791 INFO L290 TraceCheckUtils]: 45: Hoare triple {11207#true} assume !(0 == ~cond); {11207#true} is VALID [2022-04-27 13:10:31,791 INFO L290 TraceCheckUtils]: 44: Hoare triple {11207#true} ~cond := #in~cond; {11207#true} is VALID [2022-04-27 13:10:31,791 INFO L272 TraceCheckUtils]: 43: Hoare triple {11472#(<= (* main_~v~0 2) main_~c~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {11207#true} is VALID [2022-04-27 13:10:31,791 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {11207#true} {11472#(<= (* main_~v~0 2) main_~c~0)} #102#return; {11472#(<= (* main_~v~0 2) main_~c~0)} is VALID [2022-04-27 13:10:31,791 INFO L290 TraceCheckUtils]: 41: Hoare triple {11207#true} assume true; {11207#true} is VALID [2022-04-27 13:10:31,791 INFO L290 TraceCheckUtils]: 40: Hoare triple {11207#true} assume !(0 == ~cond); {11207#true} is VALID [2022-04-27 13:10:31,791 INFO L290 TraceCheckUtils]: 39: Hoare triple {11207#true} ~cond := #in~cond; {11207#true} is VALID [2022-04-27 13:10:31,792 INFO L272 TraceCheckUtils]: 38: Hoare triple {11472#(<= (* main_~v~0 2) main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11207#true} is VALID [2022-04-27 13:10:31,792 INFO L290 TraceCheckUtils]: 37: Hoare triple {11472#(<= (* main_~v~0 2) main_~c~0)} assume !false; {11472#(<= (* main_~v~0 2) main_~c~0)} is VALID [2022-04-27 13:10:31,792 INFO L290 TraceCheckUtils]: 36: Hoare triple {11539#(<= main_~b~0 (div main_~c~0 2))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {11472#(<= (* main_~v~0 2) main_~c~0)} is VALID [2022-04-27 13:10:31,793 INFO L290 TraceCheckUtils]: 35: Hoare triple {11539#(<= main_~b~0 (div main_~c~0 2))} assume !false; {11539#(<= main_~b~0 (div main_~c~0 2))} is VALID [2022-04-27 13:10:31,793 INFO L290 TraceCheckUtils]: 34: Hoare triple {11546#(<= main_~b~0 (+ (div (+ (- 2) main_~a~0) 2) 1))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {11539#(<= main_~b~0 (div main_~c~0 2))} is VALID [2022-04-27 13:10:31,793 INFO L290 TraceCheckUtils]: 33: Hoare triple {11546#(<= main_~b~0 (+ (div (+ (- 2) main_~a~0) 2) 1))} assume !false; {11546#(<= main_~b~0 (+ (div (+ (- 2) main_~a~0) 2) 1))} is VALID [2022-04-27 13:10:31,794 INFO L290 TraceCheckUtils]: 32: Hoare triple {11553#(<= main_~c~0 (+ (div (+ main_~b~0 (- 4)) 2) 2))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {11546#(<= main_~b~0 (+ (div (+ (- 2) main_~a~0) 2) 1))} is VALID [2022-04-27 13:10:31,795 INFO L290 TraceCheckUtils]: 31: Hoare triple {11296#(<= main_~b~0 2)} assume !(~c~0 >= ~b~0); {11553#(<= main_~c~0 (+ (div (+ main_~b~0 (- 4)) 2) 2))} is VALID [2022-04-27 13:10:31,795 INFO L290 TraceCheckUtils]: 30: Hoare triple {11296#(<= main_~b~0 2)} assume !false; {11296#(<= main_~b~0 2)} is VALID [2022-04-27 13:10:31,795 INFO L290 TraceCheckUtils]: 29: Hoare triple {11296#(<= main_~b~0 2)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {11296#(<= main_~b~0 2)} is VALID [2022-04-27 13:10:31,796 INFO L290 TraceCheckUtils]: 28: Hoare triple {11296#(<= main_~b~0 2)} assume !false; {11296#(<= main_~b~0 2)} is VALID [2022-04-27 13:10:31,796 INFO L290 TraceCheckUtils]: 27: Hoare triple {11569#(<= main_~y~0 2)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {11296#(<= main_~b~0 2)} is VALID [2022-04-27 13:10:31,796 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {11207#true} {11569#(<= main_~y~0 2)} #100#return; {11569#(<= main_~y~0 2)} is VALID [2022-04-27 13:10:31,796 INFO L290 TraceCheckUtils]: 25: Hoare triple {11207#true} assume true; {11207#true} is VALID [2022-04-27 13:10:31,796 INFO L290 TraceCheckUtils]: 24: Hoare triple {11207#true} assume !(0 == ~cond); {11207#true} is VALID [2022-04-27 13:10:31,796 INFO L290 TraceCheckUtils]: 23: Hoare triple {11207#true} ~cond := #in~cond; {11207#true} is VALID [2022-04-27 13:10:31,796 INFO L272 TraceCheckUtils]: 22: Hoare triple {11569#(<= main_~y~0 2)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {11207#true} is VALID [2022-04-27 13:10:31,797 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {11207#true} {11569#(<= main_~y~0 2)} #98#return; {11569#(<= main_~y~0 2)} is VALID [2022-04-27 13:10:31,797 INFO L290 TraceCheckUtils]: 20: Hoare triple {11207#true} assume true; {11207#true} is VALID [2022-04-27 13:10:31,797 INFO L290 TraceCheckUtils]: 19: Hoare triple {11207#true} assume !(0 == ~cond); {11207#true} is VALID [2022-04-27 13:10:31,797 INFO L290 TraceCheckUtils]: 18: Hoare triple {11207#true} ~cond := #in~cond; {11207#true} is VALID [2022-04-27 13:10:31,797 INFO L272 TraceCheckUtils]: 17: Hoare triple {11569#(<= main_~y~0 2)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {11207#true} is VALID [2022-04-27 13:10:31,797 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {11255#(not (= |assume_abort_if_not_#in~cond| 0))} {11207#true} #96#return; {11569#(<= main_~y~0 2)} is VALID [2022-04-27 13:10:31,798 INFO L290 TraceCheckUtils]: 15: Hoare triple {11255#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {11255#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:10:31,798 INFO L290 TraceCheckUtils]: 14: Hoare triple {11612#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {11255#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:10:31,798 INFO L290 TraceCheckUtils]: 13: Hoare triple {11207#true} ~cond := #in~cond; {11612#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-27 13:10:31,798 INFO L272 TraceCheckUtils]: 12: Hoare triple {11207#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {11207#true} is VALID [2022-04-27 13:10:31,798 INFO L290 TraceCheckUtils]: 11: Hoare triple {11207#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {11207#true} is VALID [2022-04-27 13:10:31,798 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11207#true} {11207#true} #94#return; {11207#true} is VALID [2022-04-27 13:10:31,799 INFO L290 TraceCheckUtils]: 9: Hoare triple {11207#true} assume true; {11207#true} is VALID [2022-04-27 13:10:31,799 INFO L290 TraceCheckUtils]: 8: Hoare triple {11207#true} assume !(0 == ~cond); {11207#true} is VALID [2022-04-27 13:10:31,799 INFO L290 TraceCheckUtils]: 7: Hoare triple {11207#true} ~cond := #in~cond; {11207#true} is VALID [2022-04-27 13:10:31,799 INFO L272 TraceCheckUtils]: 6: Hoare triple {11207#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {11207#true} is VALID [2022-04-27 13:10:31,799 INFO L290 TraceCheckUtils]: 5: Hoare triple {11207#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {11207#true} is VALID [2022-04-27 13:10:31,799 INFO L272 TraceCheckUtils]: 4: Hoare triple {11207#true} call #t~ret6 := main(); {11207#true} is VALID [2022-04-27 13:10:31,799 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11207#true} {11207#true} #112#return; {11207#true} is VALID [2022-04-27 13:10:31,799 INFO L290 TraceCheckUtils]: 2: Hoare triple {11207#true} assume true; {11207#true} is VALID [2022-04-27 13:10:31,799 INFO L290 TraceCheckUtils]: 1: Hoare triple {11207#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(11, 2);call #Ultimate.allocInit(12, 3); {11207#true} is VALID [2022-04-27 13:10:31,799 INFO L272 TraceCheckUtils]: 0: Hoare triple {11207#true} call ULTIMATE.init(); {11207#true} is VALID [2022-04-27 13:10:31,799 INFO L134 CoverageAnalysis]: Checked inductivity of 77 backedges. 26 proven. 10 refuted. 0 times theorem prover too weak. 41 trivial. 0 not checked. [2022-04-27 13:10:31,799 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:10:31,799 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1845501354] [2022-04-27 13:10:31,800 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:10:31,800 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1589069467] [2022-04-27 13:10:31,800 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1589069467] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 13:10:31,800 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 13:10:31,800 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 10] total 16 [2022-04-27 13:10:31,800 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [378001785] [2022-04-27 13:10:31,800 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 13:10:31,800 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 16 states have (on average 2.9375) internal successors, (47), 14 states have internal predecessors, (47), 6 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (16), 5 states have call predecessors, (16), 5 states have call successors, (16) Word has length 72 [2022-04-27 13:10:31,801 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:10:31,801 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 16 states, 16 states have (on average 2.9375) internal successors, (47), 14 states have internal predecessors, (47), 6 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (16), 5 states have call predecessors, (16), 5 states have call successors, (16) [2022-04-27 13:10:31,858 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 80 edges. 80 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:10:31,858 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-04-27 13:10:31,858 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:10:31,859 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-04-27 13:10:31,859 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=39, Invalid=201, Unknown=0, NotChecked=0, Total=240 [2022-04-27 13:10:31,859 INFO L87 Difference]: Start difference. First operand 254 states and 354 transitions. Second operand has 16 states, 16 states have (on average 2.9375) internal successors, (47), 14 states have internal predecessors, (47), 6 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (16), 5 states have call predecessors, (16), 5 states have call successors, (16) [2022-04-27 13:10:33,375 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:10:33,375 INFO L93 Difference]: Finished difference Result 363 states and 502 transitions. [2022-04-27 13:10:33,375 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-27 13:10:33,375 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 16 states have (on average 2.9375) internal successors, (47), 14 states have internal predecessors, (47), 6 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (16), 5 states have call predecessors, (16), 5 states have call successors, (16) Word has length 72 [2022-04-27 13:10:33,375 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:10:33,375 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 16 states have (on average 2.9375) internal successors, (47), 14 states have internal predecessors, (47), 6 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (16), 5 states have call predecessors, (16), 5 states have call successors, (16) [2022-04-27 13:10:33,377 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 116 transitions. [2022-04-27 13:10:33,378 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 16 states have (on average 2.9375) internal successors, (47), 14 states have internal predecessors, (47), 6 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (16), 5 states have call predecessors, (16), 5 states have call successors, (16) [2022-04-27 13:10:33,379 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 116 transitions. [2022-04-27 13:10:33,379 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 116 transitions. [2022-04-27 13:10:33,486 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 116 edges. 116 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:10:33,490 INFO L225 Difference]: With dead ends: 363 [2022-04-27 13:10:33,490 INFO L226 Difference]: Without dead ends: 244 [2022-04-27 13:10:33,491 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 151 GetRequests, 128 SyntacticMatches, 1 SemanticMatches, 22 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 58 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=113, Invalid=439, Unknown=0, NotChecked=0, Total=552 [2022-04-27 13:10:33,493 INFO L413 NwaCegarLoop]: 53 mSDtfsCounter, 50 mSDsluCounter, 242 mSDsCounter, 0 mSdLazyCounter, 300 mSolverCounterSat, 56 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 50 SdHoareTripleChecker+Valid, 295 SdHoareTripleChecker+Invalid, 356 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 56 IncrementalHoareTripleChecker+Valid, 300 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-27 13:10:33,493 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [50 Valid, 295 Invalid, 356 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [56 Valid, 300 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-27 13:10:33,494 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 244 states. [2022-04-27 13:10:34,024 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 244 to 229. [2022-04-27 13:10:34,026 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:10:34,026 INFO L82 GeneralOperation]: Start isEquivalent. First operand 244 states. Second operand has 229 states, 128 states have (on average 1.171875) internal successors, (150), 134 states have internal predecessors, (150), 85 states have call successors, (85), 16 states have call predecessors, (85), 15 states have return successors, (83), 78 states have call predecessors, (83), 83 states have call successors, (83) [2022-04-27 13:10:34,027 INFO L74 IsIncluded]: Start isIncluded. First operand 244 states. Second operand has 229 states, 128 states have (on average 1.171875) internal successors, (150), 134 states have internal predecessors, (150), 85 states have call successors, (85), 16 states have call predecessors, (85), 15 states have return successors, (83), 78 states have call predecessors, (83), 83 states have call successors, (83) [2022-04-27 13:10:34,027 INFO L87 Difference]: Start difference. First operand 244 states. Second operand has 229 states, 128 states have (on average 1.171875) internal successors, (150), 134 states have internal predecessors, (150), 85 states have call successors, (85), 16 states have call predecessors, (85), 15 states have return successors, (83), 78 states have call predecessors, (83), 83 states have call successors, (83) [2022-04-27 13:10:34,031 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:10:34,031 INFO L93 Difference]: Finished difference Result 244 states and 338 transitions. [2022-04-27 13:10:34,032 INFO L276 IsEmpty]: Start isEmpty. Operand 244 states and 338 transitions. [2022-04-27 13:10:34,033 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:10:34,033 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:10:34,033 INFO L74 IsIncluded]: Start isIncluded. First operand has 229 states, 128 states have (on average 1.171875) internal successors, (150), 134 states have internal predecessors, (150), 85 states have call successors, (85), 16 states have call predecessors, (85), 15 states have return successors, (83), 78 states have call predecessors, (83), 83 states have call successors, (83) Second operand 244 states. [2022-04-27 13:10:34,033 INFO L87 Difference]: Start difference. First operand has 229 states, 128 states have (on average 1.171875) internal successors, (150), 134 states have internal predecessors, (150), 85 states have call successors, (85), 16 states have call predecessors, (85), 15 states have return successors, (83), 78 states have call predecessors, (83), 83 states have call successors, (83) Second operand 244 states. [2022-04-27 13:10:34,038 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:10:34,038 INFO L93 Difference]: Finished difference Result 244 states and 338 transitions. [2022-04-27 13:10:34,038 INFO L276 IsEmpty]: Start isEmpty. Operand 244 states and 338 transitions. [2022-04-27 13:10:34,039 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:10:34,039 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:10:34,039 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:10:34,039 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:10:34,039 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 229 states, 128 states have (on average 1.171875) internal successors, (150), 134 states have internal predecessors, (150), 85 states have call successors, (85), 16 states have call predecessors, (85), 15 states have return successors, (83), 78 states have call predecessors, (83), 83 states have call successors, (83) [2022-04-27 13:10:34,043 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 229 states to 229 states and 318 transitions. [2022-04-27 13:10:34,044 INFO L78 Accepts]: Start accepts. Automaton has 229 states and 318 transitions. Word has length 72 [2022-04-27 13:10:34,044 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:10:34,044 INFO L495 AbstractCegarLoop]: Abstraction has 229 states and 318 transitions. [2022-04-27 13:10:34,044 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 16 states, 16 states have (on average 2.9375) internal successors, (47), 14 states have internal predecessors, (47), 6 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (16), 5 states have call predecessors, (16), 5 states have call successors, (16) [2022-04-27 13:10:34,044 INFO L276 IsEmpty]: Start isEmpty. Operand 229 states and 318 transitions. [2022-04-27 13:10:34,045 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 92 [2022-04-27 13:10:34,045 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:10:34,045 INFO L195 NwaCegarLoop]: trace histogram [9, 8, 8, 4, 4, 4, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:10:34,077 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Forceful destruction successful, exit code 0 [2022-04-27 13:10:34,259 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 13 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable12 [2022-04-27 13:10:34,259 INFO L420 AbstractCegarLoop]: === Iteration 14 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:10:34,260 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:10:34,260 INFO L85 PathProgramCache]: Analyzing trace with hash -1455197645, now seen corresponding path program 1 times [2022-04-27 13:10:34,260 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:10:34,260 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [723321467] [2022-04-27 13:10:34,260 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:10:34,260 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:10:34,271 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:10:34,271 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1617246720] [2022-04-27 13:10:34,271 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:10:34,271 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:10:34,271 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:10:34,277 INFO L229 MonitoredProcess]: Starting monitored process 14 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 13:10:34,287 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Waiting until timeout for monitored process [2022-04-27 13:10:34,346 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:10:34,348 INFO L263 TraceCheckSpWp]: Trace formula consists of 241 conjuncts, 75 conjunts are in the unsatisfiable core [2022-04-27 13:10:34,361 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:10:34,362 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:10:35,281 INFO L272 TraceCheckUtils]: 0: Hoare triple {13100#true} call ULTIMATE.init(); {13100#true} is VALID [2022-04-27 13:10:35,281 INFO L290 TraceCheckUtils]: 1: Hoare triple {13100#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(11, 2);call #Ultimate.allocInit(12, 3); {13100#true} is VALID [2022-04-27 13:10:35,281 INFO L290 TraceCheckUtils]: 2: Hoare triple {13100#true} assume true; {13100#true} is VALID [2022-04-27 13:10:35,281 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13100#true} {13100#true} #112#return; {13100#true} is VALID [2022-04-27 13:10:35,281 INFO L272 TraceCheckUtils]: 4: Hoare triple {13100#true} call #t~ret6 := main(); {13100#true} is VALID [2022-04-27 13:10:35,281 INFO L290 TraceCheckUtils]: 5: Hoare triple {13100#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {13100#true} is VALID [2022-04-27 13:10:35,281 INFO L272 TraceCheckUtils]: 6: Hoare triple {13100#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {13100#true} is VALID [2022-04-27 13:10:35,281 INFO L290 TraceCheckUtils]: 7: Hoare triple {13100#true} ~cond := #in~cond; {13100#true} is VALID [2022-04-27 13:10:35,281 INFO L290 TraceCheckUtils]: 8: Hoare triple {13100#true} assume !(0 == ~cond); {13100#true} is VALID [2022-04-27 13:10:35,281 INFO L290 TraceCheckUtils]: 9: Hoare triple {13100#true} assume true; {13100#true} is VALID [2022-04-27 13:10:35,281 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {13100#true} {13100#true} #94#return; {13100#true} is VALID [2022-04-27 13:10:35,281 INFO L290 TraceCheckUtils]: 11: Hoare triple {13100#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {13100#true} is VALID [2022-04-27 13:10:35,282 INFO L272 TraceCheckUtils]: 12: Hoare triple {13100#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {13100#true} is VALID [2022-04-27 13:10:35,282 INFO L290 TraceCheckUtils]: 13: Hoare triple {13100#true} ~cond := #in~cond; {13100#true} is VALID [2022-04-27 13:10:35,282 INFO L290 TraceCheckUtils]: 14: Hoare triple {13100#true} assume !(0 == ~cond); {13100#true} is VALID [2022-04-27 13:10:35,282 INFO L290 TraceCheckUtils]: 15: Hoare triple {13100#true} assume true; {13100#true} is VALID [2022-04-27 13:10:35,282 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {13100#true} {13100#true} #96#return; {13100#true} is VALID [2022-04-27 13:10:35,282 INFO L272 TraceCheckUtils]: 17: Hoare triple {13100#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {13100#true} is VALID [2022-04-27 13:10:35,282 INFO L290 TraceCheckUtils]: 18: Hoare triple {13100#true} ~cond := #in~cond; {13100#true} is VALID [2022-04-27 13:10:35,282 INFO L290 TraceCheckUtils]: 19: Hoare triple {13100#true} assume !(0 == ~cond); {13100#true} is VALID [2022-04-27 13:10:35,282 INFO L290 TraceCheckUtils]: 20: Hoare triple {13100#true} assume true; {13100#true} is VALID [2022-04-27 13:10:35,282 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {13100#true} {13100#true} #98#return; {13100#true} is VALID [2022-04-27 13:10:35,282 INFO L272 TraceCheckUtils]: 22: Hoare triple {13100#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {13100#true} is VALID [2022-04-27 13:10:35,282 INFO L290 TraceCheckUtils]: 23: Hoare triple {13100#true} ~cond := #in~cond; {13100#true} is VALID [2022-04-27 13:10:35,282 INFO L290 TraceCheckUtils]: 24: Hoare triple {13100#true} assume !(0 == ~cond); {13100#true} is VALID [2022-04-27 13:10:35,282 INFO L290 TraceCheckUtils]: 25: Hoare triple {13100#true} assume true; {13100#true} is VALID [2022-04-27 13:10:35,282 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {13100#true} {13100#true} #100#return; {13100#true} is VALID [2022-04-27 13:10:35,283 INFO L290 TraceCheckUtils]: 27: Hoare triple {13100#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {13186#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:10:35,283 INFO L290 TraceCheckUtils]: 28: Hoare triple {13186#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {13186#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:10:35,284 INFO L290 TraceCheckUtils]: 29: Hoare triple {13186#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {13193#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:10:35,284 INFO L290 TraceCheckUtils]: 30: Hoare triple {13193#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !false; {13193#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:10:35,284 INFO L290 TraceCheckUtils]: 31: Hoare triple {13193#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !(~c~0 >= ~b~0); {13193#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:10:35,285 INFO L290 TraceCheckUtils]: 32: Hoare triple {13193#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {13203#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-27 13:10:35,285 INFO L290 TraceCheckUtils]: 33: Hoare triple {13203#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} assume !false; {13203#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-27 13:10:35,286 INFO L290 TraceCheckUtils]: 34: Hoare triple {13203#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {13210#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-27 13:10:35,286 INFO L290 TraceCheckUtils]: 35: Hoare triple {13210#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} assume !false; {13210#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-27 13:10:35,286 INFO L290 TraceCheckUtils]: 36: Hoare triple {13210#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {13217#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1))} is VALID [2022-04-27 13:10:35,287 INFO L290 TraceCheckUtils]: 37: Hoare triple {13217#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1))} assume !false; {13217#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1))} is VALID [2022-04-27 13:10:35,287 INFO L272 TraceCheckUtils]: 38: Hoare triple {13217#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {13100#true} is VALID [2022-04-27 13:10:35,287 INFO L290 TraceCheckUtils]: 39: Hoare triple {13100#true} ~cond := #in~cond; {13100#true} is VALID [2022-04-27 13:10:35,287 INFO L290 TraceCheckUtils]: 40: Hoare triple {13100#true} assume !(0 == ~cond); {13100#true} is VALID [2022-04-27 13:10:35,287 INFO L290 TraceCheckUtils]: 41: Hoare triple {13100#true} assume true; {13100#true} is VALID [2022-04-27 13:10:35,288 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {13100#true} {13217#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1))} #102#return; {13217#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1))} is VALID [2022-04-27 13:10:35,288 INFO L272 TraceCheckUtils]: 43: Hoare triple {13217#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {13100#true} is VALID [2022-04-27 13:10:35,288 INFO L290 TraceCheckUtils]: 44: Hoare triple {13100#true} ~cond := #in~cond; {13100#true} is VALID [2022-04-27 13:10:35,288 INFO L290 TraceCheckUtils]: 45: Hoare triple {13100#true} assume !(0 == ~cond); {13100#true} is VALID [2022-04-27 13:10:35,288 INFO L290 TraceCheckUtils]: 46: Hoare triple {13100#true} assume true; {13100#true} is VALID [2022-04-27 13:10:35,289 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {13100#true} {13217#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1))} #104#return; {13217#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1))} is VALID [2022-04-27 13:10:35,289 INFO L272 TraceCheckUtils]: 48: Hoare triple {13217#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {13100#true} is VALID [2022-04-27 13:10:35,289 INFO L290 TraceCheckUtils]: 49: Hoare triple {13100#true} ~cond := #in~cond; {13100#true} is VALID [2022-04-27 13:10:35,289 INFO L290 TraceCheckUtils]: 50: Hoare triple {13100#true} assume !(0 == ~cond); {13100#true} is VALID [2022-04-27 13:10:35,289 INFO L290 TraceCheckUtils]: 51: Hoare triple {13100#true} assume true; {13100#true} is VALID [2022-04-27 13:10:35,290 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {13100#true} {13217#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1))} #106#return; {13217#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1))} is VALID [2022-04-27 13:10:35,290 INFO L272 TraceCheckUtils]: 53: Hoare triple {13217#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {13100#true} is VALID [2022-04-27 13:10:35,290 INFO L290 TraceCheckUtils]: 54: Hoare triple {13100#true} ~cond := #in~cond; {13100#true} is VALID [2022-04-27 13:10:35,290 INFO L290 TraceCheckUtils]: 55: Hoare triple {13100#true} assume !(0 == ~cond); {13100#true} is VALID [2022-04-27 13:10:35,290 INFO L290 TraceCheckUtils]: 56: Hoare triple {13100#true} assume true; {13100#true} is VALID [2022-04-27 13:10:35,291 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {13100#true} {13217#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1))} #108#return; {13217#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1))} is VALID [2022-04-27 13:10:35,291 INFO L290 TraceCheckUtils]: 58: Hoare triple {13217#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1))} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {13284#(and (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~q~0 1))} is VALID [2022-04-27 13:10:35,292 INFO L290 TraceCheckUtils]: 59: Hoare triple {13284#(and (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~q~0 1))} assume !false; {13284#(and (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~q~0 1))} is VALID [2022-04-27 13:10:35,292 INFO L272 TraceCheckUtils]: 60: Hoare triple {13284#(and (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~q~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {13100#true} is VALID [2022-04-27 13:10:35,292 INFO L290 TraceCheckUtils]: 61: Hoare triple {13100#true} ~cond := #in~cond; {13100#true} is VALID [2022-04-27 13:10:35,292 INFO L290 TraceCheckUtils]: 62: Hoare triple {13100#true} assume !(0 == ~cond); {13100#true} is VALID [2022-04-27 13:10:35,292 INFO L290 TraceCheckUtils]: 63: Hoare triple {13100#true} assume true; {13100#true} is VALID [2022-04-27 13:10:35,293 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {13100#true} {13284#(and (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~q~0 1))} #102#return; {13284#(and (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~q~0 1))} is VALID [2022-04-27 13:10:35,293 INFO L272 TraceCheckUtils]: 65: Hoare triple {13284#(and (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~q~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {13100#true} is VALID [2022-04-27 13:10:35,293 INFO L290 TraceCheckUtils]: 66: Hoare triple {13100#true} ~cond := #in~cond; {13309#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:10:35,293 INFO L290 TraceCheckUtils]: 67: Hoare triple {13309#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {13313#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:10:35,294 INFO L290 TraceCheckUtils]: 68: Hoare triple {13313#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {13313#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:10:35,294 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {13313#(not (= |__VERIFIER_assert_#in~cond| 0))} {13284#(and (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~q~0 1))} #104#return; {13284#(and (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~q~0 1))} is VALID [2022-04-27 13:10:35,295 INFO L272 TraceCheckUtils]: 70: Hoare triple {13284#(and (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~q~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {13100#true} is VALID [2022-04-27 13:10:35,295 INFO L290 TraceCheckUtils]: 71: Hoare triple {13100#true} ~cond := #in~cond; {13309#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:10:35,295 INFO L290 TraceCheckUtils]: 72: Hoare triple {13309#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {13313#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:10:35,295 INFO L290 TraceCheckUtils]: 73: Hoare triple {13313#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {13313#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:10:35,296 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {13313#(not (= |__VERIFIER_assert_#in~cond| 0))} {13284#(and (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~q~0 1))} #106#return; {13335#(and (= main_~s~0 0) (= main_~y~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~q~0 1))} is VALID [2022-04-27 13:10:35,296 INFO L272 TraceCheckUtils]: 75: Hoare triple {13335#(and (= main_~s~0 0) (= main_~y~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~q~0 1))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {13100#true} is VALID [2022-04-27 13:10:35,297 INFO L290 TraceCheckUtils]: 76: Hoare triple {13100#true} ~cond := #in~cond; {13100#true} is VALID [2022-04-27 13:10:35,297 INFO L290 TraceCheckUtils]: 77: Hoare triple {13100#true} assume !(0 == ~cond); {13100#true} is VALID [2022-04-27 13:10:35,297 INFO L290 TraceCheckUtils]: 78: Hoare triple {13100#true} assume true; {13100#true} is VALID [2022-04-27 13:10:35,297 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {13100#true} {13335#(and (= main_~s~0 0) (= main_~y~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~q~0 1))} #108#return; {13335#(and (= main_~s~0 0) (= main_~y~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~q~0 1))} is VALID [2022-04-27 13:10:35,298 INFO L290 TraceCheckUtils]: 80: Hoare triple {13335#(and (= main_~s~0 0) (= main_~y~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~q~0 1))} assume !(~c~0 >= 2 * ~v~0); {13335#(and (= main_~s~0 0) (= main_~y~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~q~0 1))} is VALID [2022-04-27 13:10:35,299 INFO L290 TraceCheckUtils]: 81: Hoare triple {13335#(and (= main_~s~0 0) (= main_~y~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~q~0 1))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {13357#(and (= main_~s~0 0) (= (+ (* (- 1) main_~c~0) main_~y~0 (* (- 1) main_~b~0 main_~k~0) (* main_~b~0 main_~k~0)) (* main_~b~0 2)) (= main_~p~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~k~0 2) (= main_~q~0 1))} is VALID [2022-04-27 13:10:35,299 INFO L290 TraceCheckUtils]: 82: Hoare triple {13357#(and (= main_~s~0 0) (= (+ (* (- 1) main_~c~0) main_~y~0 (* (- 1) main_~b~0 main_~k~0) (* main_~b~0 main_~k~0)) (* main_~b~0 2)) (= main_~p~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~k~0 2) (= main_~q~0 1))} assume !false; {13357#(and (= main_~s~0 0) (= (+ (* (- 1) main_~c~0) main_~y~0 (* (- 1) main_~b~0 main_~k~0) (* main_~b~0 main_~k~0)) (* main_~b~0 2)) (= main_~p~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~k~0 2) (= main_~q~0 1))} is VALID [2022-04-27 13:10:35,300 INFO L290 TraceCheckUtils]: 83: Hoare triple {13357#(and (= main_~s~0 0) (= (+ (* (- 1) main_~c~0) main_~y~0 (* (- 1) main_~b~0 main_~k~0) (* main_~b~0 main_~k~0)) (* main_~b~0 2)) (= main_~p~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~k~0 2) (= main_~q~0 1))} assume !(~c~0 >= ~b~0); {13357#(and (= main_~s~0 0) (= (+ (* (- 1) main_~c~0) main_~y~0 (* (- 1) main_~b~0 main_~k~0) (* main_~b~0 main_~k~0)) (* main_~b~0 2)) (= main_~p~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~k~0 2) (= main_~q~0 1))} is VALID [2022-04-27 13:10:35,300 INFO L290 TraceCheckUtils]: 84: Hoare triple {13357#(and (= main_~s~0 0) (= (+ (* (- 1) main_~c~0) main_~y~0 (* (- 1) main_~b~0 main_~k~0) (* main_~b~0 main_~k~0)) (* main_~b~0 2)) (= main_~p~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~k~0 2) (= main_~q~0 1))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {13367#(and (= main_~r~0 0) (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (= main_~s~0 (+ (* (- 2) main_~r~0) 1)) (= main_~a~0 main_~x~0) (= (+ (* main_~p~0 2) main_~q~0) 0) (= main_~p~0 1))} is VALID [2022-04-27 13:10:35,301 INFO L290 TraceCheckUtils]: 85: Hoare triple {13367#(and (= main_~r~0 0) (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (= main_~s~0 (+ (* (- 2) main_~r~0) 1)) (= main_~a~0 main_~x~0) (= (+ (* main_~p~0 2) main_~q~0) 0) (= main_~p~0 1))} assume !false; {13367#(and (= main_~r~0 0) (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (= main_~s~0 (+ (* (- 2) main_~r~0) 1)) (= main_~a~0 main_~x~0) (= (+ (* main_~p~0 2) main_~q~0) 0) (= main_~p~0 1))} is VALID [2022-04-27 13:10:35,301 INFO L290 TraceCheckUtils]: 86: Hoare triple {13367#(and (= main_~r~0 0) (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (= main_~s~0 (+ (* (- 2) main_~r~0) 1)) (= main_~a~0 main_~x~0) (= (+ (* main_~p~0 2) main_~q~0) 0) (= main_~p~0 1))} assume !(0 != ~b~0); {13374#(and (= main_~r~0 0) (= main_~s~0 (+ (* (- 2) main_~r~0) 1)) (= (+ (* (- 2) main_~x~0) main_~y~0) 0) (= main_~a~0 main_~x~0) (= (+ (* main_~p~0 2) main_~q~0) 0) (= main_~p~0 1))} is VALID [2022-04-27 13:10:35,302 INFO L272 TraceCheckUtils]: 87: Hoare triple {13374#(and (= main_~r~0 0) (= main_~s~0 (+ (* (- 2) main_~r~0) 1)) (= (+ (* (- 2) main_~x~0) main_~y~0) 0) (= main_~a~0 main_~x~0) (= (+ (* main_~p~0 2) main_~q~0) 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {13378#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:10:35,302 INFO L290 TraceCheckUtils]: 88: Hoare triple {13378#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {13382#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:10:35,302 INFO L290 TraceCheckUtils]: 89: Hoare triple {13382#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {13101#false} is VALID [2022-04-27 13:10:35,302 INFO L290 TraceCheckUtils]: 90: Hoare triple {13101#false} assume !false; {13101#false} is VALID [2022-04-27 13:10:35,303 INFO L134 CoverageAnalysis]: Checked inductivity of 171 backedges. 44 proven. 27 refuted. 0 times theorem prover too weak. 100 trivial. 0 not checked. [2022-04-27 13:10:35,303 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:11:04,828 INFO L290 TraceCheckUtils]: 90: Hoare triple {13101#false} assume !false; {13101#false} is VALID [2022-04-27 13:11:04,829 INFO L290 TraceCheckUtils]: 89: Hoare triple {13382#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {13101#false} is VALID [2022-04-27 13:11:04,829 INFO L290 TraceCheckUtils]: 88: Hoare triple {13378#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {13382#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:11:04,830 INFO L272 TraceCheckUtils]: 87: Hoare triple {13398#(= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {13378#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:11:04,830 INFO L290 TraceCheckUtils]: 86: Hoare triple {13402#(or (= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 0)))} assume !(0 != ~b~0); {13398#(= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-27 13:11:04,830 INFO L290 TraceCheckUtils]: 85: Hoare triple {13402#(or (= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 0)))} assume !false; {13402#(or (= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 0)))} is VALID [2022-04-27 13:11:05,184 INFO L290 TraceCheckUtils]: 84: Hoare triple {13409#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {13402#(or (= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 0)))} is VALID [2022-04-27 13:11:05,184 INFO L290 TraceCheckUtils]: 83: Hoare triple {13409#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !(~c~0 >= ~b~0); {13409#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-27 13:11:05,185 INFO L290 TraceCheckUtils]: 82: Hoare triple {13409#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !false; {13409#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-27 13:11:05,240 INFO L290 TraceCheckUtils]: 81: Hoare triple {13419#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {13409#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-27 13:11:05,240 INFO L290 TraceCheckUtils]: 80: Hoare triple {13419#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !(~c~0 >= 2 * ~v~0); {13419#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-27 13:11:05,241 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {13100#true} {13419#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} #108#return; {13419#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-27 13:11:05,241 INFO L290 TraceCheckUtils]: 78: Hoare triple {13100#true} assume true; {13100#true} is VALID [2022-04-27 13:11:05,241 INFO L290 TraceCheckUtils]: 77: Hoare triple {13100#true} assume !(0 == ~cond); {13100#true} is VALID [2022-04-27 13:11:05,241 INFO L290 TraceCheckUtils]: 76: Hoare triple {13100#true} ~cond := #in~cond; {13100#true} is VALID [2022-04-27 13:11:05,241 INFO L272 TraceCheckUtils]: 75: Hoare triple {13419#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {13100#true} is VALID [2022-04-27 13:11:05,242 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {13313#(not (= |__VERIFIER_assert_#in~cond| 0))} {13441#(or (not (= main_~a~0 (+ main_~v~0 (* main_~b~0 main_~k~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} #106#return; {13419#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-27 13:11:05,243 INFO L290 TraceCheckUtils]: 73: Hoare triple {13313#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {13313#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:11:05,243 INFO L290 TraceCheckUtils]: 72: Hoare triple {13451#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {13313#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:11:05,243 INFO L290 TraceCheckUtils]: 71: Hoare triple {13100#true} ~cond := #in~cond; {13451#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 13:11:05,243 INFO L272 TraceCheckUtils]: 70: Hoare triple {13441#(or (not (= main_~a~0 (+ main_~v~0 (* main_~b~0 main_~k~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {13100#true} is VALID [2022-04-27 13:11:05,244 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {13313#(not (= |__VERIFIER_assert_#in~cond| 0))} {13458#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~a~0 (+ main_~v~0 (* main_~b~0 main_~k~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} #104#return; {13441#(or (not (= main_~a~0 (+ main_~v~0 (* main_~b~0 main_~k~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-27 13:11:05,245 INFO L290 TraceCheckUtils]: 68: Hoare triple {13313#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {13313#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:11:05,245 INFO L290 TraceCheckUtils]: 67: Hoare triple {13451#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {13313#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:11:05,245 INFO L290 TraceCheckUtils]: 66: Hoare triple {13100#true} ~cond := #in~cond; {13451#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 13:11:05,245 INFO L272 TraceCheckUtils]: 65: Hoare triple {13458#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~a~0 (+ main_~v~0 (* main_~b~0 main_~k~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {13100#true} is VALID [2022-04-27 13:11:05,246 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {13100#true} {13458#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~a~0 (+ main_~v~0 (* main_~b~0 main_~k~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} #102#return; {13458#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~a~0 (+ main_~v~0 (* main_~b~0 main_~k~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-27 13:11:05,246 INFO L290 TraceCheckUtils]: 63: Hoare triple {13100#true} assume true; {13100#true} is VALID [2022-04-27 13:11:05,246 INFO L290 TraceCheckUtils]: 62: Hoare triple {13100#true} assume !(0 == ~cond); {13100#true} is VALID [2022-04-27 13:11:05,246 INFO L290 TraceCheckUtils]: 61: Hoare triple {13100#true} ~cond := #in~cond; {13100#true} is VALID [2022-04-27 13:11:05,246 INFO L272 TraceCheckUtils]: 60: Hoare triple {13458#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~a~0 (+ main_~v~0 (* main_~b~0 main_~k~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {13100#true} is VALID [2022-04-27 13:11:05,247 INFO L290 TraceCheckUtils]: 59: Hoare triple {13458#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~a~0 (+ main_~v~0 (* main_~b~0 main_~k~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !false; {13458#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~a~0 (+ main_~v~0 (* main_~b~0 main_~k~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-27 13:11:05,329 INFO L290 TraceCheckUtils]: 58: Hoare triple {13492#(or (not (= main_~a~0 (+ (* main_~v~0 2) (* main_~b~0 main_~k~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))))} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {13458#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~a~0 (+ main_~v~0 (* main_~b~0 main_~k~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-27 13:11:05,330 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {13100#true} {13492#(or (not (= main_~a~0 (+ (* main_~v~0 2) (* main_~b~0 main_~k~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))))} #108#return; {13492#(or (not (= main_~a~0 (+ (* main_~v~0 2) (* main_~b~0 main_~k~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))))} is VALID [2022-04-27 13:11:05,330 INFO L290 TraceCheckUtils]: 56: Hoare triple {13100#true} assume true; {13100#true} is VALID [2022-04-27 13:11:05,330 INFO L290 TraceCheckUtils]: 55: Hoare triple {13100#true} assume !(0 == ~cond); {13100#true} is VALID [2022-04-27 13:11:05,330 INFO L290 TraceCheckUtils]: 54: Hoare triple {13100#true} ~cond := #in~cond; {13100#true} is VALID [2022-04-27 13:11:05,330 INFO L272 TraceCheckUtils]: 53: Hoare triple {13492#(or (not (= main_~a~0 (+ (* main_~v~0 2) (* main_~b~0 main_~k~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {13100#true} is VALID [2022-04-27 13:11:05,331 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {13100#true} {13492#(or (not (= main_~a~0 (+ (* main_~v~0 2) (* main_~b~0 main_~k~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))))} #106#return; {13492#(or (not (= main_~a~0 (+ (* main_~v~0 2) (* main_~b~0 main_~k~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))))} is VALID [2022-04-27 13:11:05,331 INFO L290 TraceCheckUtils]: 51: Hoare triple {13100#true} assume true; {13100#true} is VALID [2022-04-27 13:11:05,331 INFO L290 TraceCheckUtils]: 50: Hoare triple {13100#true} assume !(0 == ~cond); {13100#true} is VALID [2022-04-27 13:11:05,331 INFO L290 TraceCheckUtils]: 49: Hoare triple {13100#true} ~cond := #in~cond; {13100#true} is VALID [2022-04-27 13:11:05,331 INFO L272 TraceCheckUtils]: 48: Hoare triple {13492#(or (not (= main_~a~0 (+ (* main_~v~0 2) (* main_~b~0 main_~k~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {13100#true} is VALID [2022-04-27 13:11:05,332 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {13100#true} {13492#(or (not (= main_~a~0 (+ (* main_~v~0 2) (* main_~b~0 main_~k~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))))} #104#return; {13492#(or (not (= main_~a~0 (+ (* main_~v~0 2) (* main_~b~0 main_~k~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))))} is VALID [2022-04-27 13:11:05,332 INFO L290 TraceCheckUtils]: 46: Hoare triple {13100#true} assume true; {13100#true} is VALID [2022-04-27 13:11:05,332 INFO L290 TraceCheckUtils]: 45: Hoare triple {13100#true} assume !(0 == ~cond); {13100#true} is VALID [2022-04-27 13:11:05,332 INFO L290 TraceCheckUtils]: 44: Hoare triple {13100#true} ~cond := #in~cond; {13100#true} is VALID [2022-04-27 13:11:05,332 INFO L272 TraceCheckUtils]: 43: Hoare triple {13492#(or (not (= main_~a~0 (+ (* main_~v~0 2) (* main_~b~0 main_~k~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {13100#true} is VALID [2022-04-27 13:11:05,333 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {13100#true} {13492#(or (not (= main_~a~0 (+ (* main_~v~0 2) (* main_~b~0 main_~k~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))))} #102#return; {13492#(or (not (= main_~a~0 (+ (* main_~v~0 2) (* main_~b~0 main_~k~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))))} is VALID [2022-04-27 13:11:05,333 INFO L290 TraceCheckUtils]: 41: Hoare triple {13100#true} assume true; {13100#true} is VALID [2022-04-27 13:11:05,333 INFO L290 TraceCheckUtils]: 40: Hoare triple {13100#true} assume !(0 == ~cond); {13100#true} is VALID [2022-04-27 13:11:05,333 INFO L290 TraceCheckUtils]: 39: Hoare triple {13100#true} ~cond := #in~cond; {13100#true} is VALID [2022-04-27 13:11:05,333 INFO L272 TraceCheckUtils]: 38: Hoare triple {13492#(or (not (= main_~a~0 (+ (* main_~v~0 2) (* main_~b~0 main_~k~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {13100#true} is VALID [2022-04-27 13:11:05,334 INFO L290 TraceCheckUtils]: 37: Hoare triple {13492#(or (not (= main_~a~0 (+ (* main_~v~0 2) (* main_~b~0 main_~k~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))))} assume !false; {13492#(or (not (= main_~a~0 (+ (* main_~v~0 2) (* main_~b~0 main_~k~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))))} is VALID [2022-04-27 13:11:05,334 INFO L290 TraceCheckUtils]: 36: Hoare triple {13559#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= (+ (* main_~b~0 main_~k~0) (* main_~b~0 2)) main_~a~0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ main_~b~0 (* main_~y~0 (+ (* (* (+ main_~k~0 2) main_~s~0) (- 1)) main_~r~0)) (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 2) main_~q~0))))))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {13492#(or (not (= main_~a~0 (+ (* main_~v~0 2) (* main_~b~0 main_~k~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))))} is VALID [2022-04-27 13:11:05,335 INFO L290 TraceCheckUtils]: 35: Hoare triple {13559#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= (+ (* main_~b~0 main_~k~0) (* main_~b~0 2)) main_~a~0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ main_~b~0 (* main_~y~0 (+ (* (* (+ main_~k~0 2) main_~s~0) (- 1)) main_~r~0)) (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 2) main_~q~0))))))} assume !false; {13559#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= (+ (* main_~b~0 main_~k~0) (* main_~b~0 2)) main_~a~0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ main_~b~0 (* main_~y~0 (+ (* (* (+ main_~k~0 2) main_~s~0) (- 1)) main_~r~0)) (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 2) main_~q~0))))))} is VALID [2022-04-27 13:11:05,335 INFO L290 TraceCheckUtils]: 34: Hoare triple {13566#(or (not (= main_~a~0 (* main_~b~0 2))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {13559#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= (+ (* main_~b~0 main_~k~0) (* main_~b~0 2)) main_~a~0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ main_~b~0 (* main_~y~0 (+ (* (* (+ main_~k~0 2) main_~s~0) (- 1)) main_~r~0)) (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 2) main_~q~0))))))} is VALID [2022-04-27 13:11:05,336 INFO L290 TraceCheckUtils]: 33: Hoare triple {13566#(or (not (= main_~a~0 (* main_~b~0 2))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !false; {13566#(or (not (= main_~a~0 (* main_~b~0 2))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-27 13:11:07,242 INFO L290 TraceCheckUtils]: 32: Hoare triple {13573#(or (not (= main_~b~0 (+ (* 2 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (* (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) 2)))) (not (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~x~0 (+ main_~q~0 (* (- 2) main_~p~0) (* (- 2) (* (- 1) main_~q~0 main_~k~0)))) (* (+ (* (- 2) main_~r~0) main_~s~0 (* (* main_~k~0 main_~s~0) 2)) main_~y~0) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0))))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {13566#(or (not (= main_~a~0 (* main_~b~0 2))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-27 13:11:07,243 INFO L290 TraceCheckUtils]: 31: Hoare triple {13573#(or (not (= main_~b~0 (+ (* 2 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (* (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) 2)))) (not (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~x~0 (+ main_~q~0 (* (- 2) main_~p~0) (* (- 2) (* (- 1) main_~q~0 main_~k~0)))) (* (+ (* (- 2) main_~r~0) main_~s~0 (* (* main_~k~0 main_~s~0) 2)) main_~y~0) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0))))} assume !(~c~0 >= ~b~0); {13573#(or (not (= main_~b~0 (+ (* 2 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (* (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) 2)))) (not (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~x~0 (+ main_~q~0 (* (- 2) main_~p~0) (* (- 2) (* (- 1) main_~q~0 main_~k~0)))) (* (+ (* (- 2) main_~r~0) main_~s~0 (* (* main_~k~0 main_~s~0) 2)) main_~y~0) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0))))} is VALID [2022-04-27 13:11:07,244 INFO L290 TraceCheckUtils]: 30: Hoare triple {13573#(or (not (= main_~b~0 (+ (* 2 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (* (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) 2)))) (not (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~x~0 (+ main_~q~0 (* (- 2) main_~p~0) (* (- 2) (* (- 1) main_~q~0 main_~k~0)))) (* (+ (* (- 2) main_~r~0) main_~s~0 (* (* main_~k~0 main_~s~0) 2)) main_~y~0) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0))))} assume !false; {13573#(or (not (= main_~b~0 (+ (* 2 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (* (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) 2)))) (not (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~x~0 (+ main_~q~0 (* (- 2) main_~p~0) (* (- 2) (* (- 1) main_~q~0 main_~k~0)))) (* (+ (* (- 2) main_~r~0) main_~s~0 (* (* main_~k~0 main_~s~0) 2)) main_~y~0) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0))))} is VALID [2022-04-27 13:11:07,244 INFO L290 TraceCheckUtils]: 29: Hoare triple {13583#(or (not (= main_~b~0 (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0))))) (= (+ (* main_~y~0 main_~r~0) (* main_~y~0 (+ (* (- 2) main_~r~0) main_~s~0)) (* main_~x~0 (+ main_~q~0 (* (- 2) main_~p~0))) (* main_~p~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {13573#(or (not (= main_~b~0 (+ (* 2 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (* (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) 2)))) (not (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~x~0 (+ main_~q~0 (* (- 2) main_~p~0) (* (- 2) (* (- 1) main_~q~0 main_~k~0)))) (* (+ (* (- 2) main_~r~0) main_~s~0 (* (* main_~k~0 main_~s~0) 2)) main_~y~0) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0))))} is VALID [2022-04-27 13:11:07,245 INFO L290 TraceCheckUtils]: 28: Hoare triple {13583#(or (not (= main_~b~0 (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0))))) (= (+ (* main_~y~0 main_~r~0) (* main_~y~0 (+ (* (- 2) main_~r~0) main_~s~0)) (* main_~x~0 (+ main_~q~0 (* (- 2) main_~p~0))) (* main_~p~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} assume !false; {13583#(or (not (= main_~b~0 (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0))))) (= (+ (* main_~y~0 main_~r~0) (* main_~y~0 (+ (* (- 2) main_~r~0) main_~s~0)) (* main_~x~0 (+ main_~q~0 (* (- 2) main_~p~0))) (* main_~p~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-27 13:11:07,245 INFO L290 TraceCheckUtils]: 27: Hoare triple {13100#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {13583#(or (not (= main_~b~0 (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0))))) (= (+ (* main_~y~0 main_~r~0) (* main_~y~0 (+ (* (- 2) main_~r~0) main_~s~0)) (* main_~x~0 (+ main_~q~0 (* (- 2) main_~p~0))) (* main_~p~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-27 13:11:07,245 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {13100#true} {13100#true} #100#return; {13100#true} is VALID [2022-04-27 13:11:07,246 INFO L290 TraceCheckUtils]: 25: Hoare triple {13100#true} assume true; {13100#true} is VALID [2022-04-27 13:11:07,246 INFO L290 TraceCheckUtils]: 24: Hoare triple {13100#true} assume !(0 == ~cond); {13100#true} is VALID [2022-04-27 13:11:07,246 INFO L290 TraceCheckUtils]: 23: Hoare triple {13100#true} ~cond := #in~cond; {13100#true} is VALID [2022-04-27 13:11:07,246 INFO L272 TraceCheckUtils]: 22: Hoare triple {13100#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {13100#true} is VALID [2022-04-27 13:11:07,246 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {13100#true} {13100#true} #98#return; {13100#true} is VALID [2022-04-27 13:11:07,246 INFO L290 TraceCheckUtils]: 20: Hoare triple {13100#true} assume true; {13100#true} is VALID [2022-04-27 13:11:07,246 INFO L290 TraceCheckUtils]: 19: Hoare triple {13100#true} assume !(0 == ~cond); {13100#true} is VALID [2022-04-27 13:11:07,246 INFO L290 TraceCheckUtils]: 18: Hoare triple {13100#true} ~cond := #in~cond; {13100#true} is VALID [2022-04-27 13:11:07,246 INFO L272 TraceCheckUtils]: 17: Hoare triple {13100#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {13100#true} is VALID [2022-04-27 13:11:07,246 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {13100#true} {13100#true} #96#return; {13100#true} is VALID [2022-04-27 13:11:07,246 INFO L290 TraceCheckUtils]: 15: Hoare triple {13100#true} assume true; {13100#true} is VALID [2022-04-27 13:11:07,246 INFO L290 TraceCheckUtils]: 14: Hoare triple {13100#true} assume !(0 == ~cond); {13100#true} is VALID [2022-04-27 13:11:07,246 INFO L290 TraceCheckUtils]: 13: Hoare triple {13100#true} ~cond := #in~cond; {13100#true} is VALID [2022-04-27 13:11:07,246 INFO L272 TraceCheckUtils]: 12: Hoare triple {13100#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {13100#true} is VALID [2022-04-27 13:11:07,246 INFO L290 TraceCheckUtils]: 11: Hoare triple {13100#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {13100#true} is VALID [2022-04-27 13:11:07,246 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {13100#true} {13100#true} #94#return; {13100#true} is VALID [2022-04-27 13:11:07,247 INFO L290 TraceCheckUtils]: 9: Hoare triple {13100#true} assume true; {13100#true} is VALID [2022-04-27 13:11:07,247 INFO L290 TraceCheckUtils]: 8: Hoare triple {13100#true} assume !(0 == ~cond); {13100#true} is VALID [2022-04-27 13:11:07,247 INFO L290 TraceCheckUtils]: 7: Hoare triple {13100#true} ~cond := #in~cond; {13100#true} is VALID [2022-04-27 13:11:07,247 INFO L272 TraceCheckUtils]: 6: Hoare triple {13100#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {13100#true} is VALID [2022-04-27 13:11:07,247 INFO L290 TraceCheckUtils]: 5: Hoare triple {13100#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {13100#true} is VALID [2022-04-27 13:11:07,247 INFO L272 TraceCheckUtils]: 4: Hoare triple {13100#true} call #t~ret6 := main(); {13100#true} is VALID [2022-04-27 13:11:07,247 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13100#true} {13100#true} #112#return; {13100#true} is VALID [2022-04-27 13:11:07,247 INFO L290 TraceCheckUtils]: 2: Hoare triple {13100#true} assume true; {13100#true} is VALID [2022-04-27 13:11:07,247 INFO L290 TraceCheckUtils]: 1: Hoare triple {13100#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(11, 2);call #Ultimate.allocInit(12, 3); {13100#true} is VALID [2022-04-27 13:11:07,247 INFO L272 TraceCheckUtils]: 0: Hoare triple {13100#true} call ULTIMATE.init(); {13100#true} is VALID [2022-04-27 13:11:07,248 INFO L134 CoverageAnalysis]: Checked inductivity of 171 backedges. 44 proven. 27 refuted. 0 times theorem prover too weak. 100 trivial. 0 not checked. [2022-04-27 13:11:07,248 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:11:07,248 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [723321467] [2022-04-27 13:11:07,248 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:11:07,248 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1617246720] [2022-04-27 13:11:07,248 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1617246720] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 13:11:07,248 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 13:11:07,248 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 17] total 28 [2022-04-27 13:11:07,248 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [953831134] [2022-04-27 13:11:07,248 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 13:11:07,249 INFO L78 Accepts]: Start accepts. Automaton has has 28 states, 25 states have (on average 2.32) internal successors, (58), 26 states have internal predecessors, (58), 10 states have call successors, (24), 2 states have call predecessors, (24), 2 states have return successors, (21), 8 states have call predecessors, (21), 8 states have call successors, (21) Word has length 91 [2022-04-27 13:11:07,249 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:11:07,249 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 28 states, 25 states have (on average 2.32) internal successors, (58), 26 states have internal predecessors, (58), 10 states have call successors, (24), 2 states have call predecessors, (24), 2 states have return successors, (21), 8 states have call predecessors, (21), 8 states have call successors, (21) [2022-04-27 13:11:07,609 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 103 edges. 103 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:11:07,609 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 28 states [2022-04-27 13:11:07,609 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:11:07,609 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 28 interpolants. [2022-04-27 13:11:07,610 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=114, Invalid=642, Unknown=0, NotChecked=0, Total=756 [2022-04-27 13:11:07,610 INFO L87 Difference]: Start difference. First operand 229 states and 318 transitions. Second operand has 28 states, 25 states have (on average 2.32) internal successors, (58), 26 states have internal predecessors, (58), 10 states have call successors, (24), 2 states have call predecessors, (24), 2 states have return successors, (21), 8 states have call predecessors, (21), 8 states have call successors, (21) [2022-04-27 13:11:34,245 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 13:11:52,521 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.96s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 13:11:55,477 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 13:11:59,048 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.10s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 13:12:01,994 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.08s for a HTC check with result VALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 13:12:10,152 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 13:12:11,481 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:12:11,481 INFO L93 Difference]: Finished difference Result 435 states and 636 transitions. [2022-04-27 13:12:11,481 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 58 states. [2022-04-27 13:12:11,482 INFO L78 Accepts]: Start accepts. Automaton has has 28 states, 25 states have (on average 2.32) internal successors, (58), 26 states have internal predecessors, (58), 10 states have call successors, (24), 2 states have call predecessors, (24), 2 states have return successors, (21), 8 states have call predecessors, (21), 8 states have call successors, (21) Word has length 91 [2022-04-27 13:12:11,482 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:12:11,482 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 28 states, 25 states have (on average 2.32) internal successors, (58), 26 states have internal predecessors, (58), 10 states have call successors, (24), 2 states have call predecessors, (24), 2 states have return successors, (21), 8 states have call predecessors, (21), 8 states have call successors, (21) [2022-04-27 13:12:11,500 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 58 states to 58 states and 308 transitions. [2022-04-27 13:12:11,501 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 28 states, 25 states have (on average 2.32) internal successors, (58), 26 states have internal predecessors, (58), 10 states have call successors, (24), 2 states have call predecessors, (24), 2 states have return successors, (21), 8 states have call predecessors, (21), 8 states have call successors, (21) [2022-04-27 13:12:11,507 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 58 states to 58 states and 308 transitions. [2022-04-27 13:12:11,508 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 58 states and 308 transitions. [2022-04-27 13:12:28,628 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 308 edges. 305 inductive. 0 not inductive. 3 times theorem prover too weak to decide inductivity. [2022-04-27 13:12:28,638 INFO L225 Difference]: With dead ends: 435 [2022-04-27 13:12:28,638 INFO L226 Difference]: Without dead ends: 430 [2022-04-27 13:12:28,640 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 231 GetRequests, 154 SyntacticMatches, 1 SemanticMatches, 76 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1546 ImplicationChecksByTransitivity, 16.3s TimeCoverageRelationStatistics Valid=1211, Invalid=4795, Unknown=0, NotChecked=0, Total=6006 [2022-04-27 13:12:28,640 INFO L413 NwaCegarLoop]: 59 mSDtfsCounter, 224 mSDsluCounter, 400 mSDsCounter, 0 mSdLazyCounter, 1822 mSolverCounterSat, 671 mSolverCounterUnsat, 3 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 28.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 225 SdHoareTripleChecker+Valid, 459 SdHoareTripleChecker+Invalid, 2496 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 671 IncrementalHoareTripleChecker+Valid, 1822 IncrementalHoareTripleChecker+Invalid, 3 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 28.1s IncrementalHoareTripleChecker+Time [2022-04-27 13:12:28,640 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [225 Valid, 459 Invalid, 2496 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [671 Valid, 1822 Invalid, 3 Unknown, 0 Unchecked, 28.1s Time] [2022-04-27 13:12:28,641 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 430 states. [2022-04-27 13:12:29,902 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 430 to 351. [2022-04-27 13:12:29,902 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:12:29,903 INFO L82 GeneralOperation]: Start isEquivalent. First operand 430 states. Second operand has 351 states, 191 states have (on average 1.1727748691099475) internal successors, (224), 200 states have internal predecessors, (224), 139 states have call successors, (139), 21 states have call predecessors, (139), 20 states have return successors, (137), 129 states have call predecessors, (137), 137 states have call successors, (137) [2022-04-27 13:12:29,903 INFO L74 IsIncluded]: Start isIncluded. First operand 430 states. Second operand has 351 states, 191 states have (on average 1.1727748691099475) internal successors, (224), 200 states have internal predecessors, (224), 139 states have call successors, (139), 21 states have call predecessors, (139), 20 states have return successors, (137), 129 states have call predecessors, (137), 137 states have call successors, (137) [2022-04-27 13:12:29,903 INFO L87 Difference]: Start difference. First operand 430 states. Second operand has 351 states, 191 states have (on average 1.1727748691099475) internal successors, (224), 200 states have internal predecessors, (224), 139 states have call successors, (139), 21 states have call predecessors, (139), 20 states have return successors, (137), 129 states have call predecessors, (137), 137 states have call successors, (137) [2022-04-27 13:12:29,914 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:12:29,915 INFO L93 Difference]: Finished difference Result 430 states and 626 transitions. [2022-04-27 13:12:29,915 INFO L276 IsEmpty]: Start isEmpty. Operand 430 states and 626 transitions. [2022-04-27 13:12:29,916 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:12:29,916 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:12:29,916 INFO L74 IsIncluded]: Start isIncluded. First operand has 351 states, 191 states have (on average 1.1727748691099475) internal successors, (224), 200 states have internal predecessors, (224), 139 states have call successors, (139), 21 states have call predecessors, (139), 20 states have return successors, (137), 129 states have call predecessors, (137), 137 states have call successors, (137) Second operand 430 states. [2022-04-27 13:12:29,917 INFO L87 Difference]: Start difference. First operand has 351 states, 191 states have (on average 1.1727748691099475) internal successors, (224), 200 states have internal predecessors, (224), 139 states have call successors, (139), 21 states have call predecessors, (139), 20 states have return successors, (137), 129 states have call predecessors, (137), 137 states have call successors, (137) Second operand 430 states. [2022-04-27 13:12:29,927 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:12:29,928 INFO L93 Difference]: Finished difference Result 430 states and 626 transitions. [2022-04-27 13:12:29,928 INFO L276 IsEmpty]: Start isEmpty. Operand 430 states and 626 transitions. [2022-04-27 13:12:29,929 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:12:29,929 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:12:29,929 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:12:29,929 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:12:29,929 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 351 states, 191 states have (on average 1.1727748691099475) internal successors, (224), 200 states have internal predecessors, (224), 139 states have call successors, (139), 21 states have call predecessors, (139), 20 states have return successors, (137), 129 states have call predecessors, (137), 137 states have call successors, (137) [2022-04-27 13:12:29,938 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 351 states to 351 states and 500 transitions. [2022-04-27 13:12:29,938 INFO L78 Accepts]: Start accepts. Automaton has 351 states and 500 transitions. Word has length 91 [2022-04-27 13:12:29,938 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:12:29,938 INFO L495 AbstractCegarLoop]: Abstraction has 351 states and 500 transitions. [2022-04-27 13:12:29,938 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 28 states, 25 states have (on average 2.32) internal successors, (58), 26 states have internal predecessors, (58), 10 states have call successors, (24), 2 states have call predecessors, (24), 2 states have return successors, (21), 8 states have call predecessors, (21), 8 states have call successors, (21) [2022-04-27 13:12:29,939 INFO L276 IsEmpty]: Start isEmpty. Operand 351 states and 500 transitions. [2022-04-27 13:12:29,939 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 95 [2022-04-27 13:12:29,939 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:12:29,939 INFO L195 NwaCegarLoop]: trace histogram [11, 10, 10, 4, 4, 4, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:12:29,955 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Forceful destruction successful, exit code 0 [2022-04-27 13:12:30,155 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 14 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable13 [2022-04-27 13:12:30,155 INFO L420 AbstractCegarLoop]: === Iteration 15 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:12:30,156 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:12:30,156 INFO L85 PathProgramCache]: Analyzing trace with hash -801999833, now seen corresponding path program 1 times [2022-04-27 13:12:30,156 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:12:30,156 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [755358442] [2022-04-27 13:12:30,156 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:12:30,156 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:12:30,171 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:12:30,171 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [417589821] [2022-04-27 13:12:30,172 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:12:30,172 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:12:30,172 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:12:30,173 INFO L229 MonitoredProcess]: Starting monitored process 15 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 13:12:30,173 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (15)] Waiting until timeout for monitored process [2022-04-27 13:12:30,218 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:12:30,219 INFO L263 TraceCheckSpWp]: Trace formula consists of 225 conjuncts, 12 conjunts are in the unsatisfiable core [2022-04-27 13:12:30,232 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:12:30,233 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:12:31,001 INFO L272 TraceCheckUtils]: 0: Hoare triple {15915#true} call ULTIMATE.init(); {15915#true} is VALID [2022-04-27 13:12:31,001 INFO L290 TraceCheckUtils]: 1: Hoare triple {15915#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(11, 2);call #Ultimate.allocInit(12, 3); {15915#true} is VALID [2022-04-27 13:12:31,001 INFO L290 TraceCheckUtils]: 2: Hoare triple {15915#true} assume true; {15915#true} is VALID [2022-04-27 13:12:31,001 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15915#true} {15915#true} #112#return; {15915#true} is VALID [2022-04-27 13:12:31,001 INFO L272 TraceCheckUtils]: 4: Hoare triple {15915#true} call #t~ret6 := main(); {15915#true} is VALID [2022-04-27 13:12:31,001 INFO L290 TraceCheckUtils]: 5: Hoare triple {15915#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {15915#true} is VALID [2022-04-27 13:12:31,001 INFO L272 TraceCheckUtils]: 6: Hoare triple {15915#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {15915#true} is VALID [2022-04-27 13:12:31,002 INFO L290 TraceCheckUtils]: 7: Hoare triple {15915#true} ~cond := #in~cond; {15941#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 13:12:31,002 INFO L290 TraceCheckUtils]: 8: Hoare triple {15941#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {15945#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:12:31,002 INFO L290 TraceCheckUtils]: 9: Hoare triple {15945#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {15945#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:12:31,003 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {15945#(not (= |assume_abort_if_not_#in~cond| 0))} {15915#true} #94#return; {15952#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-27 13:12:31,003 INFO L290 TraceCheckUtils]: 11: Hoare triple {15952#(and (<= 0 main_~x~0) (<= main_~x~0 2))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {15952#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-27 13:12:31,003 INFO L272 TraceCheckUtils]: 12: Hoare triple {15952#(and (<= 0 main_~x~0) (<= main_~x~0 2))} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {15915#true} is VALID [2022-04-27 13:12:31,003 INFO L290 TraceCheckUtils]: 13: Hoare triple {15915#true} ~cond := #in~cond; {15915#true} is VALID [2022-04-27 13:12:31,003 INFO L290 TraceCheckUtils]: 14: Hoare triple {15915#true} assume !(0 == ~cond); {15915#true} is VALID [2022-04-27 13:12:31,003 INFO L290 TraceCheckUtils]: 15: Hoare triple {15915#true} assume true; {15915#true} is VALID [2022-04-27 13:12:31,004 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {15915#true} {15952#(and (<= 0 main_~x~0) (<= main_~x~0 2))} #96#return; {15952#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-27 13:12:31,004 INFO L272 TraceCheckUtils]: 17: Hoare triple {15952#(and (<= 0 main_~x~0) (<= main_~x~0 2))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {15915#true} is VALID [2022-04-27 13:12:31,004 INFO L290 TraceCheckUtils]: 18: Hoare triple {15915#true} ~cond := #in~cond; {15915#true} is VALID [2022-04-27 13:12:31,004 INFO L290 TraceCheckUtils]: 19: Hoare triple {15915#true} assume !(0 == ~cond); {15915#true} is VALID [2022-04-27 13:12:31,004 INFO L290 TraceCheckUtils]: 20: Hoare triple {15915#true} assume true; {15915#true} is VALID [2022-04-27 13:12:31,004 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {15915#true} {15952#(and (<= 0 main_~x~0) (<= main_~x~0 2))} #98#return; {15952#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-27 13:12:31,004 INFO L272 TraceCheckUtils]: 22: Hoare triple {15952#(and (<= 0 main_~x~0) (<= main_~x~0 2))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {15915#true} is VALID [2022-04-27 13:12:31,005 INFO L290 TraceCheckUtils]: 23: Hoare triple {15915#true} ~cond := #in~cond; {15915#true} is VALID [2022-04-27 13:12:31,005 INFO L290 TraceCheckUtils]: 24: Hoare triple {15915#true} assume !(0 == ~cond); {15915#true} is VALID [2022-04-27 13:12:31,005 INFO L290 TraceCheckUtils]: 25: Hoare triple {15915#true} assume true; {15915#true} is VALID [2022-04-27 13:12:31,005 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {15915#true} {15952#(and (<= 0 main_~x~0) (<= main_~x~0 2))} #100#return; {15952#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-27 13:12:31,005 INFO L290 TraceCheckUtils]: 27: Hoare triple {15952#(and (<= 0 main_~x~0) (<= main_~x~0 2))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {16004#(<= main_~a~0 2)} is VALID [2022-04-27 13:12:31,006 INFO L290 TraceCheckUtils]: 28: Hoare triple {16004#(<= main_~a~0 2)} assume !false; {16004#(<= main_~a~0 2)} is VALID [2022-04-27 13:12:31,006 INFO L290 TraceCheckUtils]: 29: Hoare triple {16004#(<= main_~a~0 2)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {16011#(<= main_~c~0 2)} is VALID [2022-04-27 13:12:31,006 INFO L290 TraceCheckUtils]: 30: Hoare triple {16011#(<= main_~c~0 2)} assume !false; {16011#(<= main_~c~0 2)} is VALID [2022-04-27 13:12:31,007 INFO L290 TraceCheckUtils]: 31: Hoare triple {16011#(<= main_~c~0 2)} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {16018#(and (<= main_~v~0 main_~b~0) (<= main_~c~0 2))} is VALID [2022-04-27 13:12:31,007 INFO L290 TraceCheckUtils]: 32: Hoare triple {16018#(and (<= main_~v~0 main_~b~0) (<= main_~c~0 2))} assume !false; {16018#(and (<= main_~v~0 main_~b~0) (<= main_~c~0 2))} is VALID [2022-04-27 13:12:31,007 INFO L272 TraceCheckUtils]: 33: Hoare triple {16018#(and (<= main_~v~0 main_~b~0) (<= main_~c~0 2))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {15915#true} is VALID [2022-04-27 13:12:31,007 INFO L290 TraceCheckUtils]: 34: Hoare triple {15915#true} ~cond := #in~cond; {15915#true} is VALID [2022-04-27 13:12:31,007 INFO L290 TraceCheckUtils]: 35: Hoare triple {15915#true} assume !(0 == ~cond); {15915#true} is VALID [2022-04-27 13:12:31,007 INFO L290 TraceCheckUtils]: 36: Hoare triple {15915#true} assume true; {15915#true} is VALID [2022-04-27 13:12:31,008 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {15915#true} {16018#(and (<= main_~v~0 main_~b~0) (<= main_~c~0 2))} #102#return; {16018#(and (<= main_~v~0 main_~b~0) (<= main_~c~0 2))} is VALID [2022-04-27 13:12:31,008 INFO L272 TraceCheckUtils]: 38: Hoare triple {16018#(and (<= main_~v~0 main_~b~0) (<= main_~c~0 2))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {15915#true} is VALID [2022-04-27 13:12:31,008 INFO L290 TraceCheckUtils]: 39: Hoare triple {15915#true} ~cond := #in~cond; {15915#true} is VALID [2022-04-27 13:12:31,008 INFO L290 TraceCheckUtils]: 40: Hoare triple {15915#true} assume !(0 == ~cond); {15915#true} is VALID [2022-04-27 13:12:31,008 INFO L290 TraceCheckUtils]: 41: Hoare triple {15915#true} assume true; {15915#true} is VALID [2022-04-27 13:12:31,009 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {15915#true} {16018#(and (<= main_~v~0 main_~b~0) (<= main_~c~0 2))} #104#return; {16018#(and (<= main_~v~0 main_~b~0) (<= main_~c~0 2))} is VALID [2022-04-27 13:12:31,009 INFO L272 TraceCheckUtils]: 43: Hoare triple {16018#(and (<= main_~v~0 main_~b~0) (<= main_~c~0 2))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {15915#true} is VALID [2022-04-27 13:12:31,009 INFO L290 TraceCheckUtils]: 44: Hoare triple {15915#true} ~cond := #in~cond; {15915#true} is VALID [2022-04-27 13:12:31,009 INFO L290 TraceCheckUtils]: 45: Hoare triple {15915#true} assume !(0 == ~cond); {15915#true} is VALID [2022-04-27 13:12:31,009 INFO L290 TraceCheckUtils]: 46: Hoare triple {15915#true} assume true; {15915#true} is VALID [2022-04-27 13:12:31,009 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {15915#true} {16018#(and (<= main_~v~0 main_~b~0) (<= main_~c~0 2))} #106#return; {16018#(and (<= main_~v~0 main_~b~0) (<= main_~c~0 2))} is VALID [2022-04-27 13:12:31,010 INFO L272 TraceCheckUtils]: 48: Hoare triple {16018#(and (<= main_~v~0 main_~b~0) (<= main_~c~0 2))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {15915#true} is VALID [2022-04-27 13:12:31,010 INFO L290 TraceCheckUtils]: 49: Hoare triple {15915#true} ~cond := #in~cond; {15915#true} is VALID [2022-04-27 13:12:31,010 INFO L290 TraceCheckUtils]: 50: Hoare triple {15915#true} assume !(0 == ~cond); {15915#true} is VALID [2022-04-27 13:12:31,010 INFO L290 TraceCheckUtils]: 51: Hoare triple {15915#true} assume true; {15915#true} is VALID [2022-04-27 13:12:31,010 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {15915#true} {16018#(and (<= main_~v~0 main_~b~0) (<= main_~c~0 2))} #108#return; {16018#(and (<= main_~v~0 main_~b~0) (<= main_~c~0 2))} is VALID [2022-04-27 13:12:31,011 INFO L290 TraceCheckUtils]: 53: Hoare triple {16018#(and (<= main_~v~0 main_~b~0) (<= main_~c~0 2))} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {16085#(and (<= main_~c~0 2) (<= (div (- main_~v~0) (- 2)) main_~b~0))} is VALID [2022-04-27 13:12:31,011 INFO L290 TraceCheckUtils]: 54: Hoare triple {16085#(and (<= main_~c~0 2) (<= (div (- main_~v~0) (- 2)) main_~b~0))} assume !false; {16085#(and (<= main_~c~0 2) (<= (div (- main_~v~0) (- 2)) main_~b~0))} is VALID [2022-04-27 13:12:31,011 INFO L272 TraceCheckUtils]: 55: Hoare triple {16085#(and (<= main_~c~0 2) (<= (div (- main_~v~0) (- 2)) main_~b~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {15915#true} is VALID [2022-04-27 13:12:31,011 INFO L290 TraceCheckUtils]: 56: Hoare triple {15915#true} ~cond := #in~cond; {15915#true} is VALID [2022-04-27 13:12:31,012 INFO L290 TraceCheckUtils]: 57: Hoare triple {15915#true} assume !(0 == ~cond); {15915#true} is VALID [2022-04-27 13:12:31,012 INFO L290 TraceCheckUtils]: 58: Hoare triple {15915#true} assume true; {15915#true} is VALID [2022-04-27 13:12:31,012 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {15915#true} {16085#(and (<= main_~c~0 2) (<= (div (- main_~v~0) (- 2)) main_~b~0))} #102#return; {16085#(and (<= main_~c~0 2) (<= (div (- main_~v~0) (- 2)) main_~b~0))} is VALID [2022-04-27 13:12:31,012 INFO L272 TraceCheckUtils]: 60: Hoare triple {16085#(and (<= main_~c~0 2) (<= (div (- main_~v~0) (- 2)) main_~b~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {15915#true} is VALID [2022-04-27 13:12:31,012 INFO L290 TraceCheckUtils]: 61: Hoare triple {15915#true} ~cond := #in~cond; {15915#true} is VALID [2022-04-27 13:12:31,012 INFO L290 TraceCheckUtils]: 62: Hoare triple {15915#true} assume !(0 == ~cond); {15915#true} is VALID [2022-04-27 13:12:31,012 INFO L290 TraceCheckUtils]: 63: Hoare triple {15915#true} assume true; {15915#true} is VALID [2022-04-27 13:12:31,013 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {15915#true} {16085#(and (<= main_~c~0 2) (<= (div (- main_~v~0) (- 2)) main_~b~0))} #104#return; {16085#(and (<= main_~c~0 2) (<= (div (- main_~v~0) (- 2)) main_~b~0))} is VALID [2022-04-27 13:12:31,013 INFO L272 TraceCheckUtils]: 65: Hoare triple {16085#(and (<= main_~c~0 2) (<= (div (- main_~v~0) (- 2)) main_~b~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {15915#true} is VALID [2022-04-27 13:12:31,013 INFO L290 TraceCheckUtils]: 66: Hoare triple {15915#true} ~cond := #in~cond; {15915#true} is VALID [2022-04-27 13:12:31,013 INFO L290 TraceCheckUtils]: 67: Hoare triple {15915#true} assume !(0 == ~cond); {15915#true} is VALID [2022-04-27 13:12:31,013 INFO L290 TraceCheckUtils]: 68: Hoare triple {15915#true} assume true; {15915#true} is VALID [2022-04-27 13:12:31,014 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {15915#true} {16085#(and (<= main_~c~0 2) (<= (div (- main_~v~0) (- 2)) main_~b~0))} #106#return; {16085#(and (<= main_~c~0 2) (<= (div (- main_~v~0) (- 2)) main_~b~0))} is VALID [2022-04-27 13:12:31,014 INFO L272 TraceCheckUtils]: 70: Hoare triple {16085#(and (<= main_~c~0 2) (<= (div (- main_~v~0) (- 2)) main_~b~0))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {15915#true} is VALID [2022-04-27 13:12:31,014 INFO L290 TraceCheckUtils]: 71: Hoare triple {15915#true} ~cond := #in~cond; {15915#true} is VALID [2022-04-27 13:12:31,014 INFO L290 TraceCheckUtils]: 72: Hoare triple {15915#true} assume !(0 == ~cond); {15915#true} is VALID [2022-04-27 13:12:31,014 INFO L290 TraceCheckUtils]: 73: Hoare triple {15915#true} assume true; {15915#true} is VALID [2022-04-27 13:12:31,015 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {15915#true} {16085#(and (<= main_~c~0 2) (<= (div (- main_~v~0) (- 2)) main_~b~0))} #108#return; {16085#(and (<= main_~c~0 2) (<= (div (- main_~v~0) (- 2)) main_~b~0))} is VALID [2022-04-27 13:12:31,015 INFO L290 TraceCheckUtils]: 75: Hoare triple {16085#(and (<= main_~c~0 2) (<= (div (- main_~v~0) (- 2)) main_~b~0))} assume !(~c~0 >= 2 * ~v~0); {16152#(and (<= main_~c~0 2) (not (<= (* main_~v~0 2) main_~c~0)) (<= (div (- main_~v~0) (- 2)) main_~b~0))} is VALID [2022-04-27 13:12:31,016 INFO L290 TraceCheckUtils]: 76: Hoare triple {16152#(and (<= main_~c~0 2) (not (<= (* main_~v~0 2) main_~c~0)) (<= (div (- main_~v~0) (- 2)) main_~b~0))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {16156#(and (< (* main_~c~0 2) 2) (< (div (+ (- 1) (* (- 1) main_~c~0)) (- 2)) (+ main_~b~0 1)))} is VALID [2022-04-27 13:12:31,016 INFO L290 TraceCheckUtils]: 77: Hoare triple {16156#(and (< (* main_~c~0 2) 2) (< (div (+ (- 1) (* (- 1) main_~c~0)) (- 2)) (+ main_~b~0 1)))} assume !false; {16156#(and (< (* main_~c~0 2) 2) (< (div (+ (- 1) (* (- 1) main_~c~0)) (- 2)) (+ main_~b~0 1)))} is VALID [2022-04-27 13:12:31,017 INFO L290 TraceCheckUtils]: 78: Hoare triple {16156#(and (< (* main_~c~0 2) 2) (< (div (+ (- 1) (* (- 1) main_~c~0)) (- 2)) (+ main_~b~0 1)))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {15916#false} is VALID [2022-04-27 13:12:31,017 INFO L290 TraceCheckUtils]: 79: Hoare triple {15916#false} assume !false; {15916#false} is VALID [2022-04-27 13:12:31,017 INFO L272 TraceCheckUtils]: 80: Hoare triple {15916#false} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {15916#false} is VALID [2022-04-27 13:12:31,017 INFO L290 TraceCheckUtils]: 81: Hoare triple {15916#false} ~cond := #in~cond; {15916#false} is VALID [2022-04-27 13:12:31,017 INFO L290 TraceCheckUtils]: 82: Hoare triple {15916#false} assume !(0 == ~cond); {15916#false} is VALID [2022-04-27 13:12:31,018 INFO L290 TraceCheckUtils]: 83: Hoare triple {15916#false} assume true; {15916#false} is VALID [2022-04-27 13:12:31,018 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {15916#false} {15916#false} #102#return; {15916#false} is VALID [2022-04-27 13:12:31,018 INFO L272 TraceCheckUtils]: 85: Hoare triple {15916#false} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {15916#false} is VALID [2022-04-27 13:12:31,018 INFO L290 TraceCheckUtils]: 86: Hoare triple {15916#false} ~cond := #in~cond; {15916#false} is VALID [2022-04-27 13:12:31,018 INFO L290 TraceCheckUtils]: 87: Hoare triple {15916#false} assume !(0 == ~cond); {15916#false} is VALID [2022-04-27 13:12:31,018 INFO L290 TraceCheckUtils]: 88: Hoare triple {15916#false} assume true; {15916#false} is VALID [2022-04-27 13:12:31,018 INFO L284 TraceCheckUtils]: 89: Hoare quadruple {15916#false} {15916#false} #104#return; {15916#false} is VALID [2022-04-27 13:12:31,018 INFO L272 TraceCheckUtils]: 90: Hoare triple {15916#false} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {15916#false} is VALID [2022-04-27 13:12:31,018 INFO L290 TraceCheckUtils]: 91: Hoare triple {15916#false} ~cond := #in~cond; {15916#false} is VALID [2022-04-27 13:12:31,018 INFO L290 TraceCheckUtils]: 92: Hoare triple {15916#false} assume 0 == ~cond; {15916#false} is VALID [2022-04-27 13:12:31,018 INFO L290 TraceCheckUtils]: 93: Hoare triple {15916#false} assume !false; {15916#false} is VALID [2022-04-27 13:12:31,018 INFO L134 CoverageAnalysis]: Checked inductivity of 240 backedges. 90 proven. 15 refuted. 0 times theorem prover too weak. 135 trivial. 0 not checked. [2022-04-27 13:12:31,018 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:12:31,726 INFO L290 TraceCheckUtils]: 93: Hoare triple {15916#false} assume !false; {15916#false} is VALID [2022-04-27 13:12:31,726 INFO L290 TraceCheckUtils]: 92: Hoare triple {15916#false} assume 0 == ~cond; {15916#false} is VALID [2022-04-27 13:12:31,727 INFO L290 TraceCheckUtils]: 91: Hoare triple {15916#false} ~cond := #in~cond; {15916#false} is VALID [2022-04-27 13:12:31,727 INFO L272 TraceCheckUtils]: 90: Hoare triple {15916#false} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {15916#false} is VALID [2022-04-27 13:12:31,727 INFO L284 TraceCheckUtils]: 89: Hoare quadruple {15915#true} {15916#false} #104#return; {15916#false} is VALID [2022-04-27 13:12:31,727 INFO L290 TraceCheckUtils]: 88: Hoare triple {15915#true} assume true; {15915#true} is VALID [2022-04-27 13:12:31,727 INFO L290 TraceCheckUtils]: 87: Hoare triple {15915#true} assume !(0 == ~cond); {15915#true} is VALID [2022-04-27 13:12:31,727 INFO L290 TraceCheckUtils]: 86: Hoare triple {15915#true} ~cond := #in~cond; {15915#true} is VALID [2022-04-27 13:12:31,727 INFO L272 TraceCheckUtils]: 85: Hoare triple {15916#false} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {15915#true} is VALID [2022-04-27 13:12:31,727 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {15915#true} {15916#false} #102#return; {15916#false} is VALID [2022-04-27 13:12:31,727 INFO L290 TraceCheckUtils]: 83: Hoare triple {15915#true} assume true; {15915#true} is VALID [2022-04-27 13:12:31,727 INFO L290 TraceCheckUtils]: 82: Hoare triple {15915#true} assume !(0 == ~cond); {15915#true} is VALID [2022-04-27 13:12:31,727 INFO L290 TraceCheckUtils]: 81: Hoare triple {15915#true} ~cond := #in~cond; {15915#true} is VALID [2022-04-27 13:12:31,727 INFO L272 TraceCheckUtils]: 80: Hoare triple {15916#false} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {15915#true} is VALID [2022-04-27 13:12:31,727 INFO L290 TraceCheckUtils]: 79: Hoare triple {15916#false} assume !false; {15916#false} is VALID [2022-04-27 13:12:31,728 INFO L290 TraceCheckUtils]: 78: Hoare triple {16253#(not (<= main_~b~0 main_~c~0))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {15916#false} is VALID [2022-04-27 13:12:31,728 INFO L290 TraceCheckUtils]: 77: Hoare triple {16253#(not (<= main_~b~0 main_~c~0))} assume !false; {16253#(not (<= main_~b~0 main_~c~0))} is VALID [2022-04-27 13:12:31,728 INFO L290 TraceCheckUtils]: 76: Hoare triple {16260#(< main_~c~0 (+ main_~b~0 main_~v~0))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {16253#(not (<= main_~b~0 main_~c~0))} is VALID [2022-04-27 13:12:31,729 INFO L290 TraceCheckUtils]: 75: Hoare triple {16264#(or (< main_~c~0 (+ main_~b~0 main_~v~0)) (<= (* main_~v~0 2) main_~c~0))} assume !(~c~0 >= 2 * ~v~0); {16260#(< main_~c~0 (+ main_~b~0 main_~v~0))} is VALID [2022-04-27 13:12:31,729 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {15915#true} {16264#(or (< main_~c~0 (+ main_~b~0 main_~v~0)) (<= (* main_~v~0 2) main_~c~0))} #108#return; {16264#(or (< main_~c~0 (+ main_~b~0 main_~v~0)) (<= (* main_~v~0 2) main_~c~0))} is VALID [2022-04-27 13:12:31,729 INFO L290 TraceCheckUtils]: 73: Hoare triple {15915#true} assume true; {15915#true} is VALID [2022-04-27 13:12:31,729 INFO L290 TraceCheckUtils]: 72: Hoare triple {15915#true} assume !(0 == ~cond); {15915#true} is VALID [2022-04-27 13:12:31,730 INFO L290 TraceCheckUtils]: 71: Hoare triple {15915#true} ~cond := #in~cond; {15915#true} is VALID [2022-04-27 13:12:31,730 INFO L272 TraceCheckUtils]: 70: Hoare triple {16264#(or (< main_~c~0 (+ main_~b~0 main_~v~0)) (<= (* main_~v~0 2) main_~c~0))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {15915#true} is VALID [2022-04-27 13:12:31,730 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {15915#true} {16264#(or (< main_~c~0 (+ main_~b~0 main_~v~0)) (<= (* main_~v~0 2) main_~c~0))} #106#return; {16264#(or (< main_~c~0 (+ main_~b~0 main_~v~0)) (<= (* main_~v~0 2) main_~c~0))} is VALID [2022-04-27 13:12:31,730 INFO L290 TraceCheckUtils]: 68: Hoare triple {15915#true} assume true; {15915#true} is VALID [2022-04-27 13:12:31,730 INFO L290 TraceCheckUtils]: 67: Hoare triple {15915#true} assume !(0 == ~cond); {15915#true} is VALID [2022-04-27 13:12:31,730 INFO L290 TraceCheckUtils]: 66: Hoare triple {15915#true} ~cond := #in~cond; {15915#true} is VALID [2022-04-27 13:12:31,730 INFO L272 TraceCheckUtils]: 65: Hoare triple {16264#(or (< main_~c~0 (+ main_~b~0 main_~v~0)) (<= (* main_~v~0 2) main_~c~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {15915#true} is VALID [2022-04-27 13:12:31,731 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {15915#true} {16264#(or (< main_~c~0 (+ main_~b~0 main_~v~0)) (<= (* main_~v~0 2) main_~c~0))} #104#return; {16264#(or (< main_~c~0 (+ main_~b~0 main_~v~0)) (<= (* main_~v~0 2) main_~c~0))} is VALID [2022-04-27 13:12:31,731 INFO L290 TraceCheckUtils]: 63: Hoare triple {15915#true} assume true; {15915#true} is VALID [2022-04-27 13:12:31,731 INFO L290 TraceCheckUtils]: 62: Hoare triple {15915#true} assume !(0 == ~cond); {15915#true} is VALID [2022-04-27 13:12:31,731 INFO L290 TraceCheckUtils]: 61: Hoare triple {15915#true} ~cond := #in~cond; {15915#true} is VALID [2022-04-27 13:12:31,731 INFO L272 TraceCheckUtils]: 60: Hoare triple {16264#(or (< main_~c~0 (+ main_~b~0 main_~v~0)) (<= (* main_~v~0 2) main_~c~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {15915#true} is VALID [2022-04-27 13:12:31,732 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {15915#true} {16264#(or (< main_~c~0 (+ main_~b~0 main_~v~0)) (<= (* main_~v~0 2) main_~c~0))} #102#return; {16264#(or (< main_~c~0 (+ main_~b~0 main_~v~0)) (<= (* main_~v~0 2) main_~c~0))} is VALID [2022-04-27 13:12:31,732 INFO L290 TraceCheckUtils]: 58: Hoare triple {15915#true} assume true; {15915#true} is VALID [2022-04-27 13:12:31,732 INFO L290 TraceCheckUtils]: 57: Hoare triple {15915#true} assume !(0 == ~cond); {15915#true} is VALID [2022-04-27 13:12:31,732 INFO L290 TraceCheckUtils]: 56: Hoare triple {15915#true} ~cond := #in~cond; {15915#true} is VALID [2022-04-27 13:12:31,732 INFO L272 TraceCheckUtils]: 55: Hoare triple {16264#(or (< main_~c~0 (+ main_~b~0 main_~v~0)) (<= (* main_~v~0 2) main_~c~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {15915#true} is VALID [2022-04-27 13:12:31,732 INFO L290 TraceCheckUtils]: 54: Hoare triple {16264#(or (< main_~c~0 (+ main_~b~0 main_~v~0)) (<= (* main_~v~0 2) main_~c~0))} assume !false; {16264#(or (< main_~c~0 (+ main_~b~0 main_~v~0)) (<= (* main_~v~0 2) main_~c~0))} is VALID [2022-04-27 13:12:31,733 INFO L290 TraceCheckUtils]: 53: Hoare triple {16331#(or (<= (* main_~v~0 2) (div main_~c~0 2)) (<= main_~c~0 (+ main_~b~0 (div main_~c~0 2))))} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {16264#(or (< main_~c~0 (+ main_~b~0 main_~v~0)) (<= (* main_~v~0 2) main_~c~0))} is VALID [2022-04-27 13:12:31,734 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {15915#true} {16331#(or (<= (* main_~v~0 2) (div main_~c~0 2)) (<= main_~c~0 (+ main_~b~0 (div main_~c~0 2))))} #108#return; {16331#(or (<= (* main_~v~0 2) (div main_~c~0 2)) (<= main_~c~0 (+ main_~b~0 (div main_~c~0 2))))} is VALID [2022-04-27 13:12:31,734 INFO L290 TraceCheckUtils]: 51: Hoare triple {15915#true} assume true; {15915#true} is VALID [2022-04-27 13:12:31,734 INFO L290 TraceCheckUtils]: 50: Hoare triple {15915#true} assume !(0 == ~cond); {15915#true} is VALID [2022-04-27 13:12:31,734 INFO L290 TraceCheckUtils]: 49: Hoare triple {15915#true} ~cond := #in~cond; {15915#true} is VALID [2022-04-27 13:12:31,734 INFO L272 TraceCheckUtils]: 48: Hoare triple {16331#(or (<= (* main_~v~0 2) (div main_~c~0 2)) (<= main_~c~0 (+ main_~b~0 (div main_~c~0 2))))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {15915#true} is VALID [2022-04-27 13:12:31,734 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {15915#true} {16331#(or (<= (* main_~v~0 2) (div main_~c~0 2)) (<= main_~c~0 (+ main_~b~0 (div main_~c~0 2))))} #106#return; {16331#(or (<= (* main_~v~0 2) (div main_~c~0 2)) (<= main_~c~0 (+ main_~b~0 (div main_~c~0 2))))} is VALID [2022-04-27 13:12:31,734 INFO L290 TraceCheckUtils]: 46: Hoare triple {15915#true} assume true; {15915#true} is VALID [2022-04-27 13:12:31,735 INFO L290 TraceCheckUtils]: 45: Hoare triple {15915#true} assume !(0 == ~cond); {15915#true} is VALID [2022-04-27 13:12:31,735 INFO L290 TraceCheckUtils]: 44: Hoare triple {15915#true} ~cond := #in~cond; {15915#true} is VALID [2022-04-27 13:12:31,735 INFO L272 TraceCheckUtils]: 43: Hoare triple {16331#(or (<= (* main_~v~0 2) (div main_~c~0 2)) (<= main_~c~0 (+ main_~b~0 (div main_~c~0 2))))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {15915#true} is VALID [2022-04-27 13:12:31,735 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {15915#true} {16331#(or (<= (* main_~v~0 2) (div main_~c~0 2)) (<= main_~c~0 (+ main_~b~0 (div main_~c~0 2))))} #104#return; {16331#(or (<= (* main_~v~0 2) (div main_~c~0 2)) (<= main_~c~0 (+ main_~b~0 (div main_~c~0 2))))} is VALID [2022-04-27 13:12:31,735 INFO L290 TraceCheckUtils]: 41: Hoare triple {15915#true} assume true; {15915#true} is VALID [2022-04-27 13:12:31,735 INFO L290 TraceCheckUtils]: 40: Hoare triple {15915#true} assume !(0 == ~cond); {15915#true} is VALID [2022-04-27 13:12:31,735 INFO L290 TraceCheckUtils]: 39: Hoare triple {15915#true} ~cond := #in~cond; {15915#true} is VALID [2022-04-27 13:12:31,736 INFO L272 TraceCheckUtils]: 38: Hoare triple {16331#(or (<= (* main_~v~0 2) (div main_~c~0 2)) (<= main_~c~0 (+ main_~b~0 (div main_~c~0 2))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {15915#true} is VALID [2022-04-27 13:12:31,736 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {15915#true} {16331#(or (<= (* main_~v~0 2) (div main_~c~0 2)) (<= main_~c~0 (+ main_~b~0 (div main_~c~0 2))))} #102#return; {16331#(or (<= (* main_~v~0 2) (div main_~c~0 2)) (<= main_~c~0 (+ main_~b~0 (div main_~c~0 2))))} is VALID [2022-04-27 13:12:31,736 INFO L290 TraceCheckUtils]: 36: Hoare triple {15915#true} assume true; {15915#true} is VALID [2022-04-27 13:12:31,736 INFO L290 TraceCheckUtils]: 35: Hoare triple {15915#true} assume !(0 == ~cond); {15915#true} is VALID [2022-04-27 13:12:31,736 INFO L290 TraceCheckUtils]: 34: Hoare triple {15915#true} ~cond := #in~cond; {15915#true} is VALID [2022-04-27 13:12:31,736 INFO L272 TraceCheckUtils]: 33: Hoare triple {16331#(or (<= (* main_~v~0 2) (div main_~c~0 2)) (<= main_~c~0 (+ main_~b~0 (div main_~c~0 2))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {15915#true} is VALID [2022-04-27 13:12:31,737 INFO L290 TraceCheckUtils]: 32: Hoare triple {16331#(or (<= (* main_~v~0 2) (div main_~c~0 2)) (<= main_~c~0 (+ main_~b~0 (div main_~c~0 2))))} assume !false; {16331#(or (<= (* main_~v~0 2) (div main_~c~0 2)) (<= main_~c~0 (+ main_~b~0 (div main_~c~0 2))))} is VALID [2022-04-27 13:12:31,738 INFO L290 TraceCheckUtils]: 31: Hoare triple {16398#(<= main_~c~0 (+ (div main_~c~0 2) (div (div main_~c~0 2) 2) 1))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {16331#(or (<= (* main_~v~0 2) (div main_~c~0 2)) (<= main_~c~0 (+ main_~b~0 (div main_~c~0 2))))} is VALID [2022-04-27 13:12:31,738 INFO L290 TraceCheckUtils]: 30: Hoare triple {16398#(<= main_~c~0 (+ (div main_~c~0 2) (div (div main_~c~0 2) 2) 1))} assume !false; {16398#(<= main_~c~0 (+ (div main_~c~0 2) (div (div main_~c~0 2) 2) 1))} is VALID [2022-04-27 13:12:31,738 INFO L290 TraceCheckUtils]: 29: Hoare triple {16004#(<= main_~a~0 2)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {16398#(<= main_~c~0 (+ (div main_~c~0 2) (div (div main_~c~0 2) 2) 1))} is VALID [2022-04-27 13:12:31,739 INFO L290 TraceCheckUtils]: 28: Hoare triple {16004#(<= main_~a~0 2)} assume !false; {16004#(<= main_~a~0 2)} is VALID [2022-04-27 13:12:31,739 INFO L290 TraceCheckUtils]: 27: Hoare triple {16411#(<= main_~x~0 2)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {16004#(<= main_~a~0 2)} is VALID [2022-04-27 13:12:31,739 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {15915#true} {16411#(<= main_~x~0 2)} #100#return; {16411#(<= main_~x~0 2)} is VALID [2022-04-27 13:12:31,740 INFO L290 TraceCheckUtils]: 25: Hoare triple {15915#true} assume true; {15915#true} is VALID [2022-04-27 13:12:31,740 INFO L290 TraceCheckUtils]: 24: Hoare triple {15915#true} assume !(0 == ~cond); {15915#true} is VALID [2022-04-27 13:12:31,740 INFO L290 TraceCheckUtils]: 23: Hoare triple {15915#true} ~cond := #in~cond; {15915#true} is VALID [2022-04-27 13:12:31,740 INFO L272 TraceCheckUtils]: 22: Hoare triple {16411#(<= main_~x~0 2)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {15915#true} is VALID [2022-04-27 13:12:31,740 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {15915#true} {16411#(<= main_~x~0 2)} #98#return; {16411#(<= main_~x~0 2)} is VALID [2022-04-27 13:12:31,740 INFO L290 TraceCheckUtils]: 20: Hoare triple {15915#true} assume true; {15915#true} is VALID [2022-04-27 13:12:31,740 INFO L290 TraceCheckUtils]: 19: Hoare triple {15915#true} assume !(0 == ~cond); {15915#true} is VALID [2022-04-27 13:12:31,740 INFO L290 TraceCheckUtils]: 18: Hoare triple {15915#true} ~cond := #in~cond; {15915#true} is VALID [2022-04-27 13:12:31,740 INFO L272 TraceCheckUtils]: 17: Hoare triple {16411#(<= main_~x~0 2)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {15915#true} is VALID [2022-04-27 13:12:31,741 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {15915#true} {16411#(<= main_~x~0 2)} #96#return; {16411#(<= main_~x~0 2)} is VALID [2022-04-27 13:12:31,741 INFO L290 TraceCheckUtils]: 15: Hoare triple {15915#true} assume true; {15915#true} is VALID [2022-04-27 13:12:31,741 INFO L290 TraceCheckUtils]: 14: Hoare triple {15915#true} assume !(0 == ~cond); {15915#true} is VALID [2022-04-27 13:12:31,741 INFO L290 TraceCheckUtils]: 13: Hoare triple {15915#true} ~cond := #in~cond; {15915#true} is VALID [2022-04-27 13:12:31,741 INFO L272 TraceCheckUtils]: 12: Hoare triple {16411#(<= main_~x~0 2)} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {15915#true} is VALID [2022-04-27 13:12:31,741 INFO L290 TraceCheckUtils]: 11: Hoare triple {16411#(<= main_~x~0 2)} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {16411#(<= main_~x~0 2)} is VALID [2022-04-27 13:12:31,742 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {15945#(not (= |assume_abort_if_not_#in~cond| 0))} {15915#true} #94#return; {16411#(<= main_~x~0 2)} is VALID [2022-04-27 13:12:31,742 INFO L290 TraceCheckUtils]: 9: Hoare triple {15945#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {15945#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:12:31,742 INFO L290 TraceCheckUtils]: 8: Hoare triple {16472#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {15945#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:12:31,743 INFO L290 TraceCheckUtils]: 7: Hoare triple {15915#true} ~cond := #in~cond; {16472#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-27 13:12:31,743 INFO L272 TraceCheckUtils]: 6: Hoare triple {15915#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {15915#true} is VALID [2022-04-27 13:12:31,743 INFO L290 TraceCheckUtils]: 5: Hoare triple {15915#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {15915#true} is VALID [2022-04-27 13:12:31,743 INFO L272 TraceCheckUtils]: 4: Hoare triple {15915#true} call #t~ret6 := main(); {15915#true} is VALID [2022-04-27 13:12:31,743 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15915#true} {15915#true} #112#return; {15915#true} is VALID [2022-04-27 13:12:31,743 INFO L290 TraceCheckUtils]: 2: Hoare triple {15915#true} assume true; {15915#true} is VALID [2022-04-27 13:12:31,743 INFO L290 TraceCheckUtils]: 1: Hoare triple {15915#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(11, 2);call #Ultimate.allocInit(12, 3); {15915#true} is VALID [2022-04-27 13:12:31,743 INFO L272 TraceCheckUtils]: 0: Hoare triple {15915#true} call ULTIMATE.init(); {15915#true} is VALID [2022-04-27 13:12:31,743 INFO L134 CoverageAnalysis]: Checked inductivity of 240 backedges. 28 proven. 17 refuted. 0 times theorem prover too weak. 195 trivial. 0 not checked. [2022-04-27 13:12:31,743 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:12:31,743 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [755358442] [2022-04-27 13:12:31,743 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:12:31,744 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [417589821] [2022-04-27 13:12:31,744 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [417589821] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 13:12:31,744 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 13:12:31,744 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 11] total 18 [2022-04-27 13:12:31,744 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [617263193] [2022-04-27 13:12:31,744 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 13:12:31,744 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 18 states have (on average 2.5) internal successors, (45), 18 states have internal predecessors, (45), 8 states have call successors, (30), 2 states have call predecessors, (30), 3 states have return successors, (29), 8 states have call predecessors, (29), 8 states have call successors, (29) Word has length 94 [2022-04-27 13:12:31,745 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:12:31,745 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 18 states, 18 states have (on average 2.5) internal successors, (45), 18 states have internal predecessors, (45), 8 states have call successors, (30), 2 states have call predecessors, (30), 3 states have return successors, (29), 8 states have call predecessors, (29), 8 states have call successors, (29) [2022-04-27 13:12:31,830 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 104 edges. 104 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:12:31,831 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 18 states [2022-04-27 13:12:31,831 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:12:31,831 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2022-04-27 13:12:31,831 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=57, Invalid=249, Unknown=0, NotChecked=0, Total=306 [2022-04-27 13:12:31,831 INFO L87 Difference]: Start difference. First operand 351 states and 500 transitions. Second operand has 18 states, 18 states have (on average 2.5) internal successors, (45), 18 states have internal predecessors, (45), 8 states have call successors, (30), 2 states have call predecessors, (30), 3 states have return successors, (29), 8 states have call predecessors, (29), 8 states have call successors, (29) [2022-04-27 13:12:34,364 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:12:34,364 INFO L93 Difference]: Finished difference Result 570 states and 802 transitions. [2022-04-27 13:12:34,364 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2022-04-27 13:12:34,364 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 18 states have (on average 2.5) internal successors, (45), 18 states have internal predecessors, (45), 8 states have call successors, (30), 2 states have call predecessors, (30), 3 states have return successors, (29), 8 states have call predecessors, (29), 8 states have call successors, (29) Word has length 94 [2022-04-27 13:12:34,365 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:12:34,365 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 18 states have (on average 2.5) internal successors, (45), 18 states have internal predecessors, (45), 8 states have call successors, (30), 2 states have call predecessors, (30), 3 states have return successors, (29), 8 states have call predecessors, (29), 8 states have call successors, (29) [2022-04-27 13:12:34,366 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 124 transitions. [2022-04-27 13:12:34,366 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 18 states have (on average 2.5) internal successors, (45), 18 states have internal predecessors, (45), 8 states have call successors, (30), 2 states have call predecessors, (30), 3 states have return successors, (29), 8 states have call predecessors, (29), 8 states have call successors, (29) [2022-04-27 13:12:34,367 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 124 transitions. [2022-04-27 13:12:34,367 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 18 states and 124 transitions. [2022-04-27 13:12:34,480 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 124 edges. 124 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:12:34,487 INFO L225 Difference]: With dead ends: 570 [2022-04-27 13:12:34,487 INFO L226 Difference]: Without dead ends: 350 [2022-04-27 13:12:34,488 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 201 GetRequests, 170 SyntacticMatches, 1 SemanticMatches, 30 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 148 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=205, Invalid=787, Unknown=0, NotChecked=0, Total=992 [2022-04-27 13:12:34,488 INFO L413 NwaCegarLoop]: 52 mSDtfsCounter, 55 mSDsluCounter, 317 mSDsCounter, 0 mSdLazyCounter, 387 mSolverCounterSat, 53 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 59 SdHoareTripleChecker+Valid, 369 SdHoareTripleChecker+Invalid, 440 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 53 IncrementalHoareTripleChecker+Valid, 387 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-27 13:12:34,488 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [59 Valid, 369 Invalid, 440 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [53 Valid, 387 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-27 13:12:34,499 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 350 states. [2022-04-27 13:12:35,890 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 350 to 341. [2022-04-27 13:12:35,890 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:12:35,891 INFO L82 GeneralOperation]: Start isEquivalent. First operand 350 states. Second operand has 341 states, 197 states have (on average 1.1776649746192893) internal successors, (232), 198 states have internal predecessors, (232), 123 states have call successors, (123), 21 states have call predecessors, (123), 20 states have return successors, (121), 121 states have call predecessors, (121), 121 states have call successors, (121) [2022-04-27 13:12:35,891 INFO L74 IsIncluded]: Start isIncluded. First operand 350 states. Second operand has 341 states, 197 states have (on average 1.1776649746192893) internal successors, (232), 198 states have internal predecessors, (232), 123 states have call successors, (123), 21 states have call predecessors, (123), 20 states have return successors, (121), 121 states have call predecessors, (121), 121 states have call successors, (121) [2022-04-27 13:12:35,891 INFO L87 Difference]: Start difference. First operand 350 states. Second operand has 341 states, 197 states have (on average 1.1776649746192893) internal successors, (232), 198 states have internal predecessors, (232), 123 states have call successors, (123), 21 states have call predecessors, (123), 20 states have return successors, (121), 121 states have call predecessors, (121), 121 states have call successors, (121) [2022-04-27 13:12:35,899 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:12:35,899 INFO L93 Difference]: Finished difference Result 350 states and 485 transitions. [2022-04-27 13:12:35,899 INFO L276 IsEmpty]: Start isEmpty. Operand 350 states and 485 transitions. [2022-04-27 13:12:35,900 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:12:35,900 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:12:35,900 INFO L74 IsIncluded]: Start isIncluded. First operand has 341 states, 197 states have (on average 1.1776649746192893) internal successors, (232), 198 states have internal predecessors, (232), 123 states have call successors, (123), 21 states have call predecessors, (123), 20 states have return successors, (121), 121 states have call predecessors, (121), 121 states have call successors, (121) Second operand 350 states. [2022-04-27 13:12:35,900 INFO L87 Difference]: Start difference. First operand has 341 states, 197 states have (on average 1.1776649746192893) internal successors, (232), 198 states have internal predecessors, (232), 123 states have call successors, (123), 21 states have call predecessors, (123), 20 states have return successors, (121), 121 states have call predecessors, (121), 121 states have call successors, (121) Second operand 350 states. [2022-04-27 13:12:35,907 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:12:35,907 INFO L93 Difference]: Finished difference Result 350 states and 485 transitions. [2022-04-27 13:12:35,908 INFO L276 IsEmpty]: Start isEmpty. Operand 350 states and 485 transitions. [2022-04-27 13:12:35,908 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:12:35,908 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:12:35,909 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:12:35,909 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:12:35,909 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 341 states, 197 states have (on average 1.1776649746192893) internal successors, (232), 198 states have internal predecessors, (232), 123 states have call successors, (123), 21 states have call predecessors, (123), 20 states have return successors, (121), 121 states have call predecessors, (121), 121 states have call successors, (121) [2022-04-27 13:12:35,917 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 341 states to 341 states and 476 transitions. [2022-04-27 13:12:35,917 INFO L78 Accepts]: Start accepts. Automaton has 341 states and 476 transitions. Word has length 94 [2022-04-27 13:12:35,917 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:12:35,917 INFO L495 AbstractCegarLoop]: Abstraction has 341 states and 476 transitions. [2022-04-27 13:12:35,917 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 18 states, 18 states have (on average 2.5) internal successors, (45), 18 states have internal predecessors, (45), 8 states have call successors, (30), 2 states have call predecessors, (30), 3 states have return successors, (29), 8 states have call predecessors, (29), 8 states have call successors, (29) [2022-04-27 13:12:35,917 INFO L276 IsEmpty]: Start isEmpty. Operand 341 states and 476 transitions. [2022-04-27 13:12:35,918 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 95 [2022-04-27 13:12:35,918 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:12:35,918 INFO L195 NwaCegarLoop]: trace histogram [10, 9, 9, 4, 4, 4, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:12:35,934 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (15)] Forceful destruction successful, exit code 0 [2022-04-27 13:12:36,131 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable14,15 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:12:36,132 INFO L420 AbstractCegarLoop]: === Iteration 16 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:12:36,132 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:12:36,132 INFO L85 PathProgramCache]: Analyzing trace with hash 640779908, now seen corresponding path program 1 times [2022-04-27 13:12:36,132 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:12:36,132 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1408567579] [2022-04-27 13:12:36,132 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:12:36,132 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:12:36,164 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:12:36,164 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [711631095] [2022-04-27 13:12:36,164 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:12:36,164 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:12:36,164 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:12:36,187 INFO L229 MonitoredProcess]: Starting monitored process 16 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 13:12:36,223 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (16)] Waiting until timeout for monitored process [2022-04-27 13:12:36,253 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:12:36,254 INFO L263 TraceCheckSpWp]: Trace formula consists of 238 conjuncts, 19 conjunts are in the unsatisfiable core [2022-04-27 13:12:36,268 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:12:36,269 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:12:40,405 INFO L272 TraceCheckUtils]: 0: Hoare triple {18675#true} call ULTIMATE.init(); {18675#true} is VALID [2022-04-27 13:12:40,405 INFO L290 TraceCheckUtils]: 1: Hoare triple {18675#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(11, 2);call #Ultimate.allocInit(12, 3); {18675#true} is VALID [2022-04-27 13:12:40,405 INFO L290 TraceCheckUtils]: 2: Hoare triple {18675#true} assume true; {18675#true} is VALID [2022-04-27 13:12:40,405 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {18675#true} {18675#true} #112#return; {18675#true} is VALID [2022-04-27 13:12:40,405 INFO L272 TraceCheckUtils]: 4: Hoare triple {18675#true} call #t~ret6 := main(); {18675#true} is VALID [2022-04-27 13:12:40,406 INFO L290 TraceCheckUtils]: 5: Hoare triple {18675#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {18675#true} is VALID [2022-04-27 13:12:40,406 INFO L272 TraceCheckUtils]: 6: Hoare triple {18675#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {18675#true} is VALID [2022-04-27 13:12:40,406 INFO L290 TraceCheckUtils]: 7: Hoare triple {18675#true} ~cond := #in~cond; {18701#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 13:12:40,406 INFO L290 TraceCheckUtils]: 8: Hoare triple {18701#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {18705#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:12:40,406 INFO L290 TraceCheckUtils]: 9: Hoare triple {18705#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {18705#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:12:40,407 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {18705#(not (= |assume_abort_if_not_#in~cond| 0))} {18675#true} #94#return; {18712#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-27 13:12:40,407 INFO L290 TraceCheckUtils]: 11: Hoare triple {18712#(and (<= 0 main_~x~0) (<= main_~x~0 2))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {18712#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-27 13:12:40,407 INFO L272 TraceCheckUtils]: 12: Hoare triple {18712#(and (<= 0 main_~x~0) (<= main_~x~0 2))} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {18675#true} is VALID [2022-04-27 13:12:40,407 INFO L290 TraceCheckUtils]: 13: Hoare triple {18675#true} ~cond := #in~cond; {18675#true} is VALID [2022-04-27 13:12:40,407 INFO L290 TraceCheckUtils]: 14: Hoare triple {18675#true} assume !(0 == ~cond); {18675#true} is VALID [2022-04-27 13:12:40,407 INFO L290 TraceCheckUtils]: 15: Hoare triple {18675#true} assume true; {18675#true} is VALID [2022-04-27 13:12:40,408 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {18675#true} {18712#(and (<= 0 main_~x~0) (<= main_~x~0 2))} #96#return; {18712#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-27 13:12:40,408 INFO L272 TraceCheckUtils]: 17: Hoare triple {18712#(and (<= 0 main_~x~0) (<= main_~x~0 2))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {18675#true} is VALID [2022-04-27 13:12:40,408 INFO L290 TraceCheckUtils]: 18: Hoare triple {18675#true} ~cond := #in~cond; {18675#true} is VALID [2022-04-27 13:12:40,408 INFO L290 TraceCheckUtils]: 19: Hoare triple {18675#true} assume !(0 == ~cond); {18675#true} is VALID [2022-04-27 13:12:40,408 INFO L290 TraceCheckUtils]: 20: Hoare triple {18675#true} assume true; {18675#true} is VALID [2022-04-27 13:12:40,408 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {18675#true} {18712#(and (<= 0 main_~x~0) (<= main_~x~0 2))} #98#return; {18712#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-27 13:12:40,408 INFO L272 TraceCheckUtils]: 22: Hoare triple {18712#(and (<= 0 main_~x~0) (<= main_~x~0 2))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {18675#true} is VALID [2022-04-27 13:12:40,408 INFO L290 TraceCheckUtils]: 23: Hoare triple {18675#true} ~cond := #in~cond; {18675#true} is VALID [2022-04-27 13:12:40,408 INFO L290 TraceCheckUtils]: 24: Hoare triple {18675#true} assume !(0 == ~cond); {18675#true} is VALID [2022-04-27 13:12:40,409 INFO L290 TraceCheckUtils]: 25: Hoare triple {18675#true} assume true; {18675#true} is VALID [2022-04-27 13:12:40,409 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {18675#true} {18712#(and (<= 0 main_~x~0) (<= main_~x~0 2))} #100#return; {18712#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-27 13:12:40,409 INFO L290 TraceCheckUtils]: 27: Hoare triple {18712#(and (<= 0 main_~x~0) (<= main_~x~0 2))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {18764#(<= main_~a~0 2)} is VALID [2022-04-27 13:12:40,409 INFO L290 TraceCheckUtils]: 28: Hoare triple {18764#(<= main_~a~0 2)} assume !false; {18764#(<= main_~a~0 2)} is VALID [2022-04-27 13:12:40,410 INFO L290 TraceCheckUtils]: 29: Hoare triple {18764#(<= main_~a~0 2)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {18771#(<= main_~c~0 2)} is VALID [2022-04-27 13:12:40,410 INFO L290 TraceCheckUtils]: 30: Hoare triple {18771#(<= main_~c~0 2)} assume !false; {18771#(<= main_~c~0 2)} is VALID [2022-04-27 13:12:40,410 INFO L290 TraceCheckUtils]: 31: Hoare triple {18771#(<= main_~c~0 2)} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {18778#(and (<= main_~c~0 2) (<= main_~b~0 main_~v~0))} is VALID [2022-04-27 13:12:40,410 INFO L290 TraceCheckUtils]: 32: Hoare triple {18778#(and (<= main_~c~0 2) (<= main_~b~0 main_~v~0))} assume !false; {18778#(and (<= main_~c~0 2) (<= main_~b~0 main_~v~0))} is VALID [2022-04-27 13:12:40,411 INFO L272 TraceCheckUtils]: 33: Hoare triple {18778#(and (<= main_~c~0 2) (<= main_~b~0 main_~v~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {18675#true} is VALID [2022-04-27 13:12:40,411 INFO L290 TraceCheckUtils]: 34: Hoare triple {18675#true} ~cond := #in~cond; {18675#true} is VALID [2022-04-27 13:12:40,411 INFO L290 TraceCheckUtils]: 35: Hoare triple {18675#true} assume !(0 == ~cond); {18675#true} is VALID [2022-04-27 13:12:40,411 INFO L290 TraceCheckUtils]: 36: Hoare triple {18675#true} assume true; {18675#true} is VALID [2022-04-27 13:12:40,411 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {18675#true} {18778#(and (<= main_~c~0 2) (<= main_~b~0 main_~v~0))} #102#return; {18778#(and (<= main_~c~0 2) (<= main_~b~0 main_~v~0))} is VALID [2022-04-27 13:12:40,411 INFO L272 TraceCheckUtils]: 38: Hoare triple {18778#(and (<= main_~c~0 2) (<= main_~b~0 main_~v~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {18675#true} is VALID [2022-04-27 13:12:40,411 INFO L290 TraceCheckUtils]: 39: Hoare triple {18675#true} ~cond := #in~cond; {18675#true} is VALID [2022-04-27 13:12:40,411 INFO L290 TraceCheckUtils]: 40: Hoare triple {18675#true} assume !(0 == ~cond); {18675#true} is VALID [2022-04-27 13:12:40,411 INFO L290 TraceCheckUtils]: 41: Hoare triple {18675#true} assume true; {18675#true} is VALID [2022-04-27 13:12:40,412 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {18675#true} {18778#(and (<= main_~c~0 2) (<= main_~b~0 main_~v~0))} #104#return; {18778#(and (<= main_~c~0 2) (<= main_~b~0 main_~v~0))} is VALID [2022-04-27 13:12:40,412 INFO L272 TraceCheckUtils]: 43: Hoare triple {18778#(and (<= main_~c~0 2) (<= main_~b~0 main_~v~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {18675#true} is VALID [2022-04-27 13:12:40,412 INFO L290 TraceCheckUtils]: 44: Hoare triple {18675#true} ~cond := #in~cond; {18675#true} is VALID [2022-04-27 13:12:40,412 INFO L290 TraceCheckUtils]: 45: Hoare triple {18675#true} assume !(0 == ~cond); {18675#true} is VALID [2022-04-27 13:12:40,423 INFO L290 TraceCheckUtils]: 46: Hoare triple {18675#true} assume true; {18675#true} is VALID [2022-04-27 13:12:40,424 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {18675#true} {18778#(and (<= main_~c~0 2) (<= main_~b~0 main_~v~0))} #106#return; {18778#(and (<= main_~c~0 2) (<= main_~b~0 main_~v~0))} is VALID [2022-04-27 13:12:40,424 INFO L272 TraceCheckUtils]: 48: Hoare triple {18778#(and (<= main_~c~0 2) (<= main_~b~0 main_~v~0))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {18675#true} is VALID [2022-04-27 13:12:40,424 INFO L290 TraceCheckUtils]: 49: Hoare triple {18675#true} ~cond := #in~cond; {18675#true} is VALID [2022-04-27 13:12:40,424 INFO L290 TraceCheckUtils]: 50: Hoare triple {18675#true} assume !(0 == ~cond); {18675#true} is VALID [2022-04-27 13:12:40,424 INFO L290 TraceCheckUtils]: 51: Hoare triple {18675#true} assume true; {18675#true} is VALID [2022-04-27 13:12:40,425 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {18675#true} {18778#(and (<= main_~c~0 2) (<= main_~b~0 main_~v~0))} #108#return; {18778#(and (<= main_~c~0 2) (<= main_~b~0 main_~v~0))} is VALID [2022-04-27 13:12:40,426 INFO L290 TraceCheckUtils]: 53: Hoare triple {18778#(and (<= main_~c~0 2) (<= main_~b~0 main_~v~0))} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {18845#(and (<= (* 2 (div (* (- 1) main_~v~0) (- 2))) main_~c~0) (= (mod main_~v~0 2) 0) (<= main_~c~0 2) (<= main_~b~0 (div (* (- 1) main_~v~0) (- 2))))} is VALID [2022-04-27 13:12:40,426 INFO L290 TraceCheckUtils]: 54: Hoare triple {18845#(and (<= (* 2 (div (* (- 1) main_~v~0) (- 2))) main_~c~0) (= (mod main_~v~0 2) 0) (<= main_~c~0 2) (<= main_~b~0 (div (* (- 1) main_~v~0) (- 2))))} assume !false; {18845#(and (<= (* 2 (div (* (- 1) main_~v~0) (- 2))) main_~c~0) (= (mod main_~v~0 2) 0) (<= main_~c~0 2) (<= main_~b~0 (div (* (- 1) main_~v~0) (- 2))))} is VALID [2022-04-27 13:12:40,426 INFO L272 TraceCheckUtils]: 55: Hoare triple {18845#(and (<= (* 2 (div (* (- 1) main_~v~0) (- 2))) main_~c~0) (= (mod main_~v~0 2) 0) (<= main_~c~0 2) (<= main_~b~0 (div (* (- 1) main_~v~0) (- 2))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {18675#true} is VALID [2022-04-27 13:12:40,426 INFO L290 TraceCheckUtils]: 56: Hoare triple {18675#true} ~cond := #in~cond; {18675#true} is VALID [2022-04-27 13:12:40,426 INFO L290 TraceCheckUtils]: 57: Hoare triple {18675#true} assume !(0 == ~cond); {18675#true} is VALID [2022-04-27 13:12:40,426 INFO L290 TraceCheckUtils]: 58: Hoare triple {18675#true} assume true; {18675#true} is VALID [2022-04-27 13:12:40,427 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {18675#true} {18845#(and (<= (* 2 (div (* (- 1) main_~v~0) (- 2))) main_~c~0) (= (mod main_~v~0 2) 0) (<= main_~c~0 2) (<= main_~b~0 (div (* (- 1) main_~v~0) (- 2))))} #102#return; {18845#(and (<= (* 2 (div (* (- 1) main_~v~0) (- 2))) main_~c~0) (= (mod main_~v~0 2) 0) (<= main_~c~0 2) (<= main_~b~0 (div (* (- 1) main_~v~0) (- 2))))} is VALID [2022-04-27 13:12:40,427 INFO L272 TraceCheckUtils]: 60: Hoare triple {18845#(and (<= (* 2 (div (* (- 1) main_~v~0) (- 2))) main_~c~0) (= (mod main_~v~0 2) 0) (<= main_~c~0 2) (<= main_~b~0 (div (* (- 1) main_~v~0) (- 2))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {18675#true} is VALID [2022-04-27 13:12:40,427 INFO L290 TraceCheckUtils]: 61: Hoare triple {18675#true} ~cond := #in~cond; {18675#true} is VALID [2022-04-27 13:12:40,427 INFO L290 TraceCheckUtils]: 62: Hoare triple {18675#true} assume !(0 == ~cond); {18675#true} is VALID [2022-04-27 13:12:40,427 INFO L290 TraceCheckUtils]: 63: Hoare triple {18675#true} assume true; {18675#true} is VALID [2022-04-27 13:12:40,428 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {18675#true} {18845#(and (<= (* 2 (div (* (- 1) main_~v~0) (- 2))) main_~c~0) (= (mod main_~v~0 2) 0) (<= main_~c~0 2) (<= main_~b~0 (div (* (- 1) main_~v~0) (- 2))))} #104#return; {18845#(and (<= (* 2 (div (* (- 1) main_~v~0) (- 2))) main_~c~0) (= (mod main_~v~0 2) 0) (<= main_~c~0 2) (<= main_~b~0 (div (* (- 1) main_~v~0) (- 2))))} is VALID [2022-04-27 13:12:40,428 INFO L272 TraceCheckUtils]: 65: Hoare triple {18845#(and (<= (* 2 (div (* (- 1) main_~v~0) (- 2))) main_~c~0) (= (mod main_~v~0 2) 0) (<= main_~c~0 2) (<= main_~b~0 (div (* (- 1) main_~v~0) (- 2))))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {18675#true} is VALID [2022-04-27 13:12:40,428 INFO L290 TraceCheckUtils]: 66: Hoare triple {18675#true} ~cond := #in~cond; {18675#true} is VALID [2022-04-27 13:12:40,428 INFO L290 TraceCheckUtils]: 67: Hoare triple {18675#true} assume !(0 == ~cond); {18675#true} is VALID [2022-04-27 13:12:40,428 INFO L290 TraceCheckUtils]: 68: Hoare triple {18675#true} assume true; {18675#true} is VALID [2022-04-27 13:12:40,429 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {18675#true} {18845#(and (<= (* 2 (div (* (- 1) main_~v~0) (- 2))) main_~c~0) (= (mod main_~v~0 2) 0) (<= main_~c~0 2) (<= main_~b~0 (div (* (- 1) main_~v~0) (- 2))))} #106#return; {18845#(and (<= (* 2 (div (* (- 1) main_~v~0) (- 2))) main_~c~0) (= (mod main_~v~0 2) 0) (<= main_~c~0 2) (<= main_~b~0 (div (* (- 1) main_~v~0) (- 2))))} is VALID [2022-04-27 13:12:40,429 INFO L272 TraceCheckUtils]: 70: Hoare triple {18845#(and (<= (* 2 (div (* (- 1) main_~v~0) (- 2))) main_~c~0) (= (mod main_~v~0 2) 0) (<= main_~c~0 2) (<= main_~b~0 (div (* (- 1) main_~v~0) (- 2))))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {18675#true} is VALID [2022-04-27 13:12:40,429 INFO L290 TraceCheckUtils]: 71: Hoare triple {18675#true} ~cond := #in~cond; {18675#true} is VALID [2022-04-27 13:12:40,429 INFO L290 TraceCheckUtils]: 72: Hoare triple {18675#true} assume !(0 == ~cond); {18675#true} is VALID [2022-04-27 13:12:40,429 INFO L290 TraceCheckUtils]: 73: Hoare triple {18675#true} assume true; {18675#true} is VALID [2022-04-27 13:12:40,430 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {18675#true} {18845#(and (<= (* 2 (div (* (- 1) main_~v~0) (- 2))) main_~c~0) (= (mod main_~v~0 2) 0) (<= main_~c~0 2) (<= main_~b~0 (div (* (- 1) main_~v~0) (- 2))))} #108#return; {18845#(and (<= (* 2 (div (* (- 1) main_~v~0) (- 2))) main_~c~0) (= (mod main_~v~0 2) 0) (<= main_~c~0 2) (<= main_~b~0 (div (* (- 1) main_~v~0) (- 2))))} is VALID [2022-04-27 13:12:40,430 INFO L290 TraceCheckUtils]: 75: Hoare triple {18845#(and (<= (* 2 (div (* (- 1) main_~v~0) (- 2))) main_~c~0) (= (mod main_~v~0 2) 0) (<= main_~c~0 2) (<= main_~b~0 (div (* (- 1) main_~v~0) (- 2))))} assume !(~c~0 >= 2 * ~v~0); {18845#(and (<= (* 2 (div (* (- 1) main_~v~0) (- 2))) main_~c~0) (= (mod main_~v~0 2) 0) (<= main_~c~0 2) (<= main_~b~0 (div (* (- 1) main_~v~0) (- 2))))} is VALID [2022-04-27 13:12:40,431 INFO L290 TraceCheckUtils]: 76: Hoare triple {18845#(and (<= (* 2 (div (* (- 1) main_~v~0) (- 2))) main_~c~0) (= (mod main_~v~0 2) 0) (<= main_~c~0 2) (<= main_~b~0 (div (* (- 1) main_~v~0) (- 2))))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {18915#(and (<= 0 main_~c~0) (<= main_~b~0 (div (+ (* (- 1) main_~c~0) 2) 2)))} is VALID [2022-04-27 13:12:40,432 INFO L290 TraceCheckUtils]: 77: Hoare triple {18915#(and (<= 0 main_~c~0) (<= main_~b~0 (div (+ (* (- 1) main_~c~0) 2) 2)))} assume !false; {18915#(and (<= 0 main_~c~0) (<= main_~b~0 (div (+ (* (- 1) main_~c~0) 2) 2)))} is VALID [2022-04-27 13:12:40,432 INFO L290 TraceCheckUtils]: 78: Hoare triple {18915#(and (<= 0 main_~c~0) (<= main_~b~0 (div (+ (* (- 1) main_~c~0) 2) 2)))} assume !(~c~0 >= ~b~0); {18922#(and (< main_~c~0 (div (+ (* (- 1) main_~c~0) 2) 2)) (<= 0 main_~c~0))} is VALID [2022-04-27 13:12:40,433 INFO L290 TraceCheckUtils]: 79: Hoare triple {18922#(and (< main_~c~0 (div (+ (* (- 1) main_~c~0) 2) 2)) (<= 0 main_~c~0))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {18926#(and (< main_~b~0 (div (+ 2 (* (- 1) main_~b~0)) 2)) (<= 0 main_~b~0))} is VALID [2022-04-27 13:12:40,433 INFO L290 TraceCheckUtils]: 80: Hoare triple {18926#(and (< main_~b~0 (div (+ 2 (* (- 1) main_~b~0)) 2)) (<= 0 main_~b~0))} assume !false; {18926#(and (< main_~b~0 (div (+ 2 (* (- 1) main_~b~0)) 2)) (<= 0 main_~b~0))} is VALID [2022-04-27 13:12:40,434 INFO L290 TraceCheckUtils]: 81: Hoare triple {18926#(and (< main_~b~0 (div (+ 2 (* (- 1) main_~b~0)) 2)) (<= 0 main_~b~0))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {18676#false} is VALID [2022-04-27 13:12:40,434 INFO L290 TraceCheckUtils]: 82: Hoare triple {18676#false} assume !false; {18676#false} is VALID [2022-04-27 13:12:40,434 INFO L290 TraceCheckUtils]: 83: Hoare triple {18676#false} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {18676#false} is VALID [2022-04-27 13:12:40,434 INFO L290 TraceCheckUtils]: 84: Hoare triple {18676#false} assume !false; {18676#false} is VALID [2022-04-27 13:12:40,434 INFO L272 TraceCheckUtils]: 85: Hoare triple {18676#false} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {18676#false} is VALID [2022-04-27 13:12:40,434 INFO L290 TraceCheckUtils]: 86: Hoare triple {18676#false} ~cond := #in~cond; {18676#false} is VALID [2022-04-27 13:12:40,434 INFO L290 TraceCheckUtils]: 87: Hoare triple {18676#false} assume !(0 == ~cond); {18676#false} is VALID [2022-04-27 13:12:40,434 INFO L290 TraceCheckUtils]: 88: Hoare triple {18676#false} assume true; {18676#false} is VALID [2022-04-27 13:12:40,434 INFO L284 TraceCheckUtils]: 89: Hoare quadruple {18676#false} {18676#false} #102#return; {18676#false} is VALID [2022-04-27 13:12:40,435 INFO L272 TraceCheckUtils]: 90: Hoare triple {18676#false} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {18676#false} is VALID [2022-04-27 13:12:40,435 INFO L290 TraceCheckUtils]: 91: Hoare triple {18676#false} ~cond := #in~cond; {18676#false} is VALID [2022-04-27 13:12:40,435 INFO L290 TraceCheckUtils]: 92: Hoare triple {18676#false} assume 0 == ~cond; {18676#false} is VALID [2022-04-27 13:12:40,435 INFO L290 TraceCheckUtils]: 93: Hoare triple {18676#false} assume !false; {18676#false} is VALID [2022-04-27 13:12:40,435 INFO L134 CoverageAnalysis]: Checked inductivity of 206 backedges. 58 proven. 19 refuted. 0 times theorem prover too weak. 129 trivial. 0 not checked. [2022-04-27 13:12:40,435 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:13:00,306 INFO L290 TraceCheckUtils]: 93: Hoare triple {18676#false} assume !false; {18676#false} is VALID [2022-04-27 13:13:00,306 INFO L290 TraceCheckUtils]: 92: Hoare triple {18676#false} assume 0 == ~cond; {18676#false} is VALID [2022-04-27 13:13:00,306 INFO L290 TraceCheckUtils]: 91: Hoare triple {18676#false} ~cond := #in~cond; {18676#false} is VALID [2022-04-27 13:13:00,306 INFO L272 TraceCheckUtils]: 90: Hoare triple {18676#false} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {18676#false} is VALID [2022-04-27 13:13:00,306 INFO L284 TraceCheckUtils]: 89: Hoare quadruple {18675#true} {18676#false} #102#return; {18676#false} is VALID [2022-04-27 13:13:00,306 INFO L290 TraceCheckUtils]: 88: Hoare triple {18675#true} assume true; {18675#true} is VALID [2022-04-27 13:13:00,306 INFO L290 TraceCheckUtils]: 87: Hoare triple {18675#true} assume !(0 == ~cond); {18675#true} is VALID [2022-04-27 13:13:00,306 INFO L290 TraceCheckUtils]: 86: Hoare triple {18675#true} ~cond := #in~cond; {18675#true} is VALID [2022-04-27 13:13:00,306 INFO L272 TraceCheckUtils]: 85: Hoare triple {18676#false} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {18675#true} is VALID [2022-04-27 13:13:00,306 INFO L290 TraceCheckUtils]: 84: Hoare triple {18676#false} assume !false; {18676#false} is VALID [2022-04-27 13:13:00,306 INFO L290 TraceCheckUtils]: 83: Hoare triple {18676#false} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {18676#false} is VALID [2022-04-27 13:13:00,306 INFO L290 TraceCheckUtils]: 82: Hoare triple {18676#false} assume !false; {18676#false} is VALID [2022-04-27 13:13:00,307 INFO L290 TraceCheckUtils]: 81: Hoare triple {18926#(and (< main_~b~0 (div (+ 2 (* (- 1) main_~b~0)) 2)) (<= 0 main_~b~0))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {18676#false} is VALID [2022-04-27 13:13:00,308 INFO L290 TraceCheckUtils]: 80: Hoare triple {18926#(and (< main_~b~0 (div (+ 2 (* (- 1) main_~b~0)) 2)) (<= 0 main_~b~0))} assume !false; {18926#(and (< main_~b~0 (div (+ 2 (* (- 1) main_~b~0)) 2)) (<= 0 main_~b~0))} is VALID [2022-04-27 13:13:00,308 INFO L290 TraceCheckUtils]: 79: Hoare triple {18922#(and (< main_~c~0 (div (+ (* (- 1) main_~c~0) 2) 2)) (<= 0 main_~c~0))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {18926#(and (< main_~b~0 (div (+ 2 (* (- 1) main_~b~0)) 2)) (<= 0 main_~b~0))} is VALID [2022-04-27 13:13:00,309 INFO L290 TraceCheckUtils]: 78: Hoare triple {19014#(or (and (< main_~c~0 (div (+ (* (- 1) main_~c~0) 2) 2)) (<= 0 main_~c~0)) (<= main_~b~0 main_~c~0))} assume !(~c~0 >= ~b~0); {18922#(and (< main_~c~0 (div (+ (* (- 1) main_~c~0) 2) 2)) (<= 0 main_~c~0))} is VALID [2022-04-27 13:13:00,309 INFO L290 TraceCheckUtils]: 77: Hoare triple {19014#(or (and (< main_~c~0 (div (+ (* (- 1) main_~c~0) 2) 2)) (<= 0 main_~c~0)) (<= main_~b~0 main_~c~0))} assume !false; {19014#(or (and (< main_~c~0 (div (+ (* (- 1) main_~c~0) 2) 2)) (<= 0 main_~c~0)) (<= main_~b~0 main_~c~0))} is VALID [2022-04-27 13:13:00,310 INFO L290 TraceCheckUtils]: 76: Hoare triple {19021#(or (and (<= main_~v~0 main_~c~0) (< main_~c~0 (+ (div (+ (* (- 1) main_~c~0) main_~v~0 2) 2) main_~v~0))) (<= (+ main_~b~0 main_~v~0) main_~c~0))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {19014#(or (and (< main_~c~0 (div (+ (* (- 1) main_~c~0) 2) 2)) (<= 0 main_~c~0)) (<= main_~b~0 main_~c~0))} is VALID [2022-04-27 13:13:00,311 INFO L290 TraceCheckUtils]: 75: Hoare triple {19021#(or (and (<= main_~v~0 main_~c~0) (< main_~c~0 (+ (div (+ (* (- 1) main_~c~0) main_~v~0 2) 2) main_~v~0))) (<= (+ main_~b~0 main_~v~0) main_~c~0))} assume !(~c~0 >= 2 * ~v~0); {19021#(or (and (<= main_~v~0 main_~c~0) (< main_~c~0 (+ (div (+ (* (- 1) main_~c~0) main_~v~0 2) 2) main_~v~0))) (<= (+ main_~b~0 main_~v~0) main_~c~0))} is VALID [2022-04-27 13:13:00,311 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {18675#true} {19021#(or (and (<= main_~v~0 main_~c~0) (< main_~c~0 (+ (div (+ (* (- 1) main_~c~0) main_~v~0 2) 2) main_~v~0))) (<= (+ main_~b~0 main_~v~0) main_~c~0))} #108#return; {19021#(or (and (<= main_~v~0 main_~c~0) (< main_~c~0 (+ (div (+ (* (- 1) main_~c~0) main_~v~0 2) 2) main_~v~0))) (<= (+ main_~b~0 main_~v~0) main_~c~0))} is VALID [2022-04-27 13:13:00,311 INFO L290 TraceCheckUtils]: 73: Hoare triple {18675#true} assume true; {18675#true} is VALID [2022-04-27 13:13:00,312 INFO L290 TraceCheckUtils]: 72: Hoare triple {18675#true} assume !(0 == ~cond); {18675#true} is VALID [2022-04-27 13:13:00,312 INFO L290 TraceCheckUtils]: 71: Hoare triple {18675#true} ~cond := #in~cond; {18675#true} is VALID [2022-04-27 13:13:00,312 INFO L272 TraceCheckUtils]: 70: Hoare triple {19021#(or (and (<= main_~v~0 main_~c~0) (< main_~c~0 (+ (div (+ (* (- 1) main_~c~0) main_~v~0 2) 2) main_~v~0))) (<= (+ main_~b~0 main_~v~0) main_~c~0))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {18675#true} is VALID [2022-04-27 13:13:00,312 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {18675#true} {19021#(or (and (<= main_~v~0 main_~c~0) (< main_~c~0 (+ (div (+ (* (- 1) main_~c~0) main_~v~0 2) 2) main_~v~0))) (<= (+ main_~b~0 main_~v~0) main_~c~0))} #106#return; {19021#(or (and (<= main_~v~0 main_~c~0) (< main_~c~0 (+ (div (+ (* (- 1) main_~c~0) main_~v~0 2) 2) main_~v~0))) (<= (+ main_~b~0 main_~v~0) main_~c~0))} is VALID [2022-04-27 13:13:00,312 INFO L290 TraceCheckUtils]: 68: Hoare triple {18675#true} assume true; {18675#true} is VALID [2022-04-27 13:13:00,312 INFO L290 TraceCheckUtils]: 67: Hoare triple {18675#true} assume !(0 == ~cond); {18675#true} is VALID [2022-04-27 13:13:00,312 INFO L290 TraceCheckUtils]: 66: Hoare triple {18675#true} ~cond := #in~cond; {18675#true} is VALID [2022-04-27 13:13:00,312 INFO L272 TraceCheckUtils]: 65: Hoare triple {19021#(or (and (<= main_~v~0 main_~c~0) (< main_~c~0 (+ (div (+ (* (- 1) main_~c~0) main_~v~0 2) 2) main_~v~0))) (<= (+ main_~b~0 main_~v~0) main_~c~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {18675#true} is VALID [2022-04-27 13:13:00,313 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {18675#true} {19021#(or (and (<= main_~v~0 main_~c~0) (< main_~c~0 (+ (div (+ (* (- 1) main_~c~0) main_~v~0 2) 2) main_~v~0))) (<= (+ main_~b~0 main_~v~0) main_~c~0))} #104#return; {19021#(or (and (<= main_~v~0 main_~c~0) (< main_~c~0 (+ (div (+ (* (- 1) main_~c~0) main_~v~0 2) 2) main_~v~0))) (<= (+ main_~b~0 main_~v~0) main_~c~0))} is VALID [2022-04-27 13:13:00,313 INFO L290 TraceCheckUtils]: 63: Hoare triple {18675#true} assume true; {18675#true} is VALID [2022-04-27 13:13:00,313 INFO L290 TraceCheckUtils]: 62: Hoare triple {18675#true} assume !(0 == ~cond); {18675#true} is VALID [2022-04-27 13:13:00,313 INFO L290 TraceCheckUtils]: 61: Hoare triple {18675#true} ~cond := #in~cond; {18675#true} is VALID [2022-04-27 13:13:00,313 INFO L272 TraceCheckUtils]: 60: Hoare triple {19021#(or (and (<= main_~v~0 main_~c~0) (< main_~c~0 (+ (div (+ (* (- 1) main_~c~0) main_~v~0 2) 2) main_~v~0))) (<= (+ main_~b~0 main_~v~0) main_~c~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {18675#true} is VALID [2022-04-27 13:13:00,314 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {18675#true} {19021#(or (and (<= main_~v~0 main_~c~0) (< main_~c~0 (+ (div (+ (* (- 1) main_~c~0) main_~v~0 2) 2) main_~v~0))) (<= (+ main_~b~0 main_~v~0) main_~c~0))} #102#return; {19021#(or (and (<= main_~v~0 main_~c~0) (< main_~c~0 (+ (div (+ (* (- 1) main_~c~0) main_~v~0 2) 2) main_~v~0))) (<= (+ main_~b~0 main_~v~0) main_~c~0))} is VALID [2022-04-27 13:13:00,314 INFO L290 TraceCheckUtils]: 58: Hoare triple {18675#true} assume true; {18675#true} is VALID [2022-04-27 13:13:00,314 INFO L290 TraceCheckUtils]: 57: Hoare triple {18675#true} assume !(0 == ~cond); {18675#true} is VALID [2022-04-27 13:13:00,314 INFO L290 TraceCheckUtils]: 56: Hoare triple {18675#true} ~cond := #in~cond; {18675#true} is VALID [2022-04-27 13:13:00,314 INFO L272 TraceCheckUtils]: 55: Hoare triple {19021#(or (and (<= main_~v~0 main_~c~0) (< main_~c~0 (+ (div (+ (* (- 1) main_~c~0) main_~v~0 2) 2) main_~v~0))) (<= (+ main_~b~0 main_~v~0) main_~c~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {18675#true} is VALID [2022-04-27 13:13:00,314 INFO L290 TraceCheckUtils]: 54: Hoare triple {19021#(or (and (<= main_~v~0 main_~c~0) (< main_~c~0 (+ (div (+ (* (- 1) main_~c~0) main_~v~0 2) 2) main_~v~0))) (<= (+ main_~b~0 main_~v~0) main_~c~0))} assume !false; {19021#(or (and (<= main_~v~0 main_~c~0) (< main_~c~0 (+ (div (+ (* (- 1) main_~c~0) main_~v~0 2) 2) main_~v~0))) (<= (+ main_~b~0 main_~v~0) main_~c~0))} is VALID [2022-04-27 13:13:00,316 INFO L290 TraceCheckUtils]: 53: Hoare triple {19091#(or (< main_~c~0 (+ (* main_~v~0 2) (div (+ (* main_~v~0 2) (* (- 1) main_~c~0) 2) 2))) (<= (+ (* main_~v~0 2) main_~b~0) main_~c~0))} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {19021#(or (and (<= main_~v~0 main_~c~0) (< main_~c~0 (+ (div (+ (* (- 1) main_~c~0) main_~v~0 2) 2) main_~v~0))) (<= (+ main_~b~0 main_~v~0) main_~c~0))} is VALID [2022-04-27 13:13:00,317 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {18675#true} {19091#(or (< main_~c~0 (+ (* main_~v~0 2) (div (+ (* main_~v~0 2) (* (- 1) main_~c~0) 2) 2))) (<= (+ (* main_~v~0 2) main_~b~0) main_~c~0))} #108#return; {19091#(or (< main_~c~0 (+ (* main_~v~0 2) (div (+ (* main_~v~0 2) (* (- 1) main_~c~0) 2) 2))) (<= (+ (* main_~v~0 2) main_~b~0) main_~c~0))} is VALID [2022-04-27 13:13:00,317 INFO L290 TraceCheckUtils]: 51: Hoare triple {18675#true} assume true; {18675#true} is VALID [2022-04-27 13:13:00,317 INFO L290 TraceCheckUtils]: 50: Hoare triple {18675#true} assume !(0 == ~cond); {18675#true} is VALID [2022-04-27 13:13:00,317 INFO L290 TraceCheckUtils]: 49: Hoare triple {18675#true} ~cond := #in~cond; {18675#true} is VALID [2022-04-27 13:13:00,317 INFO L272 TraceCheckUtils]: 48: Hoare triple {19091#(or (< main_~c~0 (+ (* main_~v~0 2) (div (+ (* main_~v~0 2) (* (- 1) main_~c~0) 2) 2))) (<= (+ (* main_~v~0 2) main_~b~0) main_~c~0))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {18675#true} is VALID [2022-04-27 13:13:00,317 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {18675#true} {19091#(or (< main_~c~0 (+ (* main_~v~0 2) (div (+ (* main_~v~0 2) (* (- 1) main_~c~0) 2) 2))) (<= (+ (* main_~v~0 2) main_~b~0) main_~c~0))} #106#return; {19091#(or (< main_~c~0 (+ (* main_~v~0 2) (div (+ (* main_~v~0 2) (* (- 1) main_~c~0) 2) 2))) (<= (+ (* main_~v~0 2) main_~b~0) main_~c~0))} is VALID [2022-04-27 13:13:00,317 INFO L290 TraceCheckUtils]: 46: Hoare triple {18675#true} assume true; {18675#true} is VALID [2022-04-27 13:13:00,317 INFO L290 TraceCheckUtils]: 45: Hoare triple {18675#true} assume !(0 == ~cond); {18675#true} is VALID [2022-04-27 13:13:00,317 INFO L290 TraceCheckUtils]: 44: Hoare triple {18675#true} ~cond := #in~cond; {18675#true} is VALID [2022-04-27 13:13:00,318 INFO L272 TraceCheckUtils]: 43: Hoare triple {19091#(or (< main_~c~0 (+ (* main_~v~0 2) (div (+ (* main_~v~0 2) (* (- 1) main_~c~0) 2) 2))) (<= (+ (* main_~v~0 2) main_~b~0) main_~c~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {18675#true} is VALID [2022-04-27 13:13:00,318 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {18675#true} {19091#(or (< main_~c~0 (+ (* main_~v~0 2) (div (+ (* main_~v~0 2) (* (- 1) main_~c~0) 2) 2))) (<= (+ (* main_~v~0 2) main_~b~0) main_~c~0))} #104#return; {19091#(or (< main_~c~0 (+ (* main_~v~0 2) (div (+ (* main_~v~0 2) (* (- 1) main_~c~0) 2) 2))) (<= (+ (* main_~v~0 2) main_~b~0) main_~c~0))} is VALID [2022-04-27 13:13:00,318 INFO L290 TraceCheckUtils]: 41: Hoare triple {18675#true} assume true; {18675#true} is VALID [2022-04-27 13:13:00,318 INFO L290 TraceCheckUtils]: 40: Hoare triple {18675#true} assume !(0 == ~cond); {18675#true} is VALID [2022-04-27 13:13:00,318 INFO L290 TraceCheckUtils]: 39: Hoare triple {18675#true} ~cond := #in~cond; {18675#true} is VALID [2022-04-27 13:13:00,318 INFO L272 TraceCheckUtils]: 38: Hoare triple {19091#(or (< main_~c~0 (+ (* main_~v~0 2) (div (+ (* main_~v~0 2) (* (- 1) main_~c~0) 2) 2))) (<= (+ (* main_~v~0 2) main_~b~0) main_~c~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {18675#true} is VALID [2022-04-27 13:13:00,319 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {18675#true} {19091#(or (< main_~c~0 (+ (* main_~v~0 2) (div (+ (* main_~v~0 2) (* (- 1) main_~c~0) 2) 2))) (<= (+ (* main_~v~0 2) main_~b~0) main_~c~0))} #102#return; {19091#(or (< main_~c~0 (+ (* main_~v~0 2) (div (+ (* main_~v~0 2) (* (- 1) main_~c~0) 2) 2))) (<= (+ (* main_~v~0 2) main_~b~0) main_~c~0))} is VALID [2022-04-27 13:13:00,319 INFO L290 TraceCheckUtils]: 36: Hoare triple {18675#true} assume true; {18675#true} is VALID [2022-04-27 13:13:00,319 INFO L290 TraceCheckUtils]: 35: Hoare triple {18675#true} assume !(0 == ~cond); {18675#true} is VALID [2022-04-27 13:13:00,319 INFO L290 TraceCheckUtils]: 34: Hoare triple {18675#true} ~cond := #in~cond; {18675#true} is VALID [2022-04-27 13:13:00,319 INFO L272 TraceCheckUtils]: 33: Hoare triple {19091#(or (< main_~c~0 (+ (* main_~v~0 2) (div (+ (* main_~v~0 2) (* (- 1) main_~c~0) 2) 2))) (<= (+ (* main_~v~0 2) main_~b~0) main_~c~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {18675#true} is VALID [2022-04-27 13:13:00,320 INFO L290 TraceCheckUtils]: 32: Hoare triple {19091#(or (< main_~c~0 (+ (* main_~v~0 2) (div (+ (* main_~v~0 2) (* (- 1) main_~c~0) 2) 2))) (<= (+ (* main_~v~0 2) main_~b~0) main_~c~0))} assume !false; {19091#(or (< main_~c~0 (+ (* main_~v~0 2) (div (+ (* main_~v~0 2) (* (- 1) main_~c~0) 2) 2))) (<= (+ (* main_~v~0 2) main_~b~0) main_~c~0))} is VALID [2022-04-27 13:13:00,321 INFO L290 TraceCheckUtils]: 31: Hoare triple {19158#(forall ((v_main_~v~0_28 Int)) (or (< main_~c~0 (+ (* v_main_~v~0_28 2) (div (+ (* (- 1) main_~c~0) (* v_main_~v~0_28 2) 2) 2))) (not (<= main_~b~0 v_main_~v~0_28)) (<= (+ (* v_main_~v~0_28 2) main_~b~0) main_~c~0)))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {19091#(or (< main_~c~0 (+ (* main_~v~0 2) (div (+ (* main_~v~0 2) (* (- 1) main_~c~0) 2) 2))) (<= (+ (* main_~v~0 2) main_~b~0) main_~c~0))} is VALID [2022-04-27 13:13:00,321 INFO L290 TraceCheckUtils]: 30: Hoare triple {19158#(forall ((v_main_~v~0_28 Int)) (or (< main_~c~0 (+ (* v_main_~v~0_28 2) (div (+ (* (- 1) main_~c~0) (* v_main_~v~0_28 2) 2) 2))) (not (<= main_~b~0 v_main_~v~0_28)) (<= (+ (* v_main_~v~0_28 2) main_~b~0) main_~c~0)))} assume !false; {19158#(forall ((v_main_~v~0_28 Int)) (or (< main_~c~0 (+ (* v_main_~v~0_28 2) (div (+ (* (- 1) main_~c~0) (* v_main_~v~0_28 2) 2) 2))) (not (<= main_~b~0 v_main_~v~0_28)) (<= (+ (* v_main_~v~0_28 2) main_~b~0) main_~c~0)))} is VALID [2022-04-27 13:13:00,322 INFO L290 TraceCheckUtils]: 29: Hoare triple {19165#(or (<= 0 (div (+ (* (- 1) main_~b~0) 1) 2)) (<= 0 (+ (div (* (- 1) main_~a~0) 2) main_~b~0)))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {19158#(forall ((v_main_~v~0_28 Int)) (or (< main_~c~0 (+ (* v_main_~v~0_28 2) (div (+ (* (- 1) main_~c~0) (* v_main_~v~0_28 2) 2) 2))) (not (<= main_~b~0 v_main_~v~0_28)) (<= (+ (* v_main_~v~0_28 2) main_~b~0) main_~c~0)))} is VALID [2022-04-27 13:13:00,323 INFO L290 TraceCheckUtils]: 28: Hoare triple {19165#(or (<= 0 (div (+ (* (- 1) main_~b~0) 1) 2)) (<= 0 (+ (div (* (- 1) main_~a~0) 2) main_~b~0)))} assume !false; {19165#(or (<= 0 (div (+ (* (- 1) main_~b~0) 1) 2)) (<= 0 (+ (div (* (- 1) main_~a~0) 2) main_~b~0)))} is VALID [2022-04-27 13:13:00,324 INFO L290 TraceCheckUtils]: 27: Hoare triple {19172#(<= 0 (+ (div (+ (div (+ (- 2) (* (- 1) main_~x~0)) 2) 1) 2) 1))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {19165#(or (<= 0 (div (+ (* (- 1) main_~b~0) 1) 2)) (<= 0 (+ (div (* (- 1) main_~a~0) 2) main_~b~0)))} is VALID [2022-04-27 13:13:00,324 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {18675#true} {19172#(<= 0 (+ (div (+ (div (+ (- 2) (* (- 1) main_~x~0)) 2) 1) 2) 1))} #100#return; {19172#(<= 0 (+ (div (+ (div (+ (- 2) (* (- 1) main_~x~0)) 2) 1) 2) 1))} is VALID [2022-04-27 13:13:00,324 INFO L290 TraceCheckUtils]: 25: Hoare triple {18675#true} assume true; {18675#true} is VALID [2022-04-27 13:13:00,324 INFO L290 TraceCheckUtils]: 24: Hoare triple {18675#true} assume !(0 == ~cond); {18675#true} is VALID [2022-04-27 13:13:00,324 INFO L290 TraceCheckUtils]: 23: Hoare triple {18675#true} ~cond := #in~cond; {18675#true} is VALID [2022-04-27 13:13:00,324 INFO L272 TraceCheckUtils]: 22: Hoare triple {19172#(<= 0 (+ (div (+ (div (+ (- 2) (* (- 1) main_~x~0)) 2) 1) 2) 1))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {18675#true} is VALID [2022-04-27 13:13:00,325 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {18675#true} {19172#(<= 0 (+ (div (+ (div (+ (- 2) (* (- 1) main_~x~0)) 2) 1) 2) 1))} #98#return; {19172#(<= 0 (+ (div (+ (div (+ (- 2) (* (- 1) main_~x~0)) 2) 1) 2) 1))} is VALID [2022-04-27 13:13:00,325 INFO L290 TraceCheckUtils]: 20: Hoare triple {18675#true} assume true; {18675#true} is VALID [2022-04-27 13:13:00,325 INFO L290 TraceCheckUtils]: 19: Hoare triple {18675#true} assume !(0 == ~cond); {18675#true} is VALID [2022-04-27 13:13:00,325 INFO L290 TraceCheckUtils]: 18: Hoare triple {18675#true} ~cond := #in~cond; {18675#true} is VALID [2022-04-27 13:13:00,325 INFO L272 TraceCheckUtils]: 17: Hoare triple {19172#(<= 0 (+ (div (+ (div (+ (- 2) (* (- 1) main_~x~0)) 2) 1) 2) 1))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {18675#true} is VALID [2022-04-27 13:13:00,325 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {18675#true} {19172#(<= 0 (+ (div (+ (div (+ (- 2) (* (- 1) main_~x~0)) 2) 1) 2) 1))} #96#return; {19172#(<= 0 (+ (div (+ (div (+ (- 2) (* (- 1) main_~x~0)) 2) 1) 2) 1))} is VALID [2022-04-27 13:13:00,325 INFO L290 TraceCheckUtils]: 15: Hoare triple {18675#true} assume true; {18675#true} is VALID [2022-04-27 13:13:00,325 INFO L290 TraceCheckUtils]: 14: Hoare triple {18675#true} assume !(0 == ~cond); {18675#true} is VALID [2022-04-27 13:13:00,325 INFO L290 TraceCheckUtils]: 13: Hoare triple {18675#true} ~cond := #in~cond; {18675#true} is VALID [2022-04-27 13:13:00,326 INFO L272 TraceCheckUtils]: 12: Hoare triple {19172#(<= 0 (+ (div (+ (div (+ (- 2) (* (- 1) main_~x~0)) 2) 1) 2) 1))} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {18675#true} is VALID [2022-04-27 13:13:00,326 INFO L290 TraceCheckUtils]: 11: Hoare triple {19172#(<= 0 (+ (div (+ (div (+ (- 2) (* (- 1) main_~x~0)) 2) 1) 2) 1))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {19172#(<= 0 (+ (div (+ (div (+ (- 2) (* (- 1) main_~x~0)) 2) 1) 2) 1))} is VALID [2022-04-27 13:13:00,327 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {18705#(not (= |assume_abort_if_not_#in~cond| 0))} {18675#true} #94#return; {19172#(<= 0 (+ (div (+ (div (+ (- 2) (* (- 1) main_~x~0)) 2) 1) 2) 1))} is VALID [2022-04-27 13:13:00,327 INFO L290 TraceCheckUtils]: 9: Hoare triple {18705#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {18705#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:13:00,327 INFO L290 TraceCheckUtils]: 8: Hoare triple {19233#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {18705#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:13:00,328 INFO L290 TraceCheckUtils]: 7: Hoare triple {18675#true} ~cond := #in~cond; {19233#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-27 13:13:00,328 INFO L272 TraceCheckUtils]: 6: Hoare triple {18675#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {18675#true} is VALID [2022-04-27 13:13:00,328 INFO L290 TraceCheckUtils]: 5: Hoare triple {18675#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {18675#true} is VALID [2022-04-27 13:13:00,328 INFO L272 TraceCheckUtils]: 4: Hoare triple {18675#true} call #t~ret6 := main(); {18675#true} is VALID [2022-04-27 13:13:00,328 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {18675#true} {18675#true} #112#return; {18675#true} is VALID [2022-04-27 13:13:00,328 INFO L290 TraceCheckUtils]: 2: Hoare triple {18675#true} assume true; {18675#true} is VALID [2022-04-27 13:13:00,328 INFO L290 TraceCheckUtils]: 1: Hoare triple {18675#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(11, 2);call #Ultimate.allocInit(12, 3); {18675#true} is VALID [2022-04-27 13:13:00,328 INFO L272 TraceCheckUtils]: 0: Hoare triple {18675#true} call ULTIMATE.init(); {18675#true} is VALID [2022-04-27 13:13:00,328 INFO L134 CoverageAnalysis]: Checked inductivity of 206 backedges. 30 proven. 17 refuted. 0 times theorem prover too weak. 159 trivial. 0 not checked. [2022-04-27 13:13:00,328 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:13:00,328 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1408567579] [2022-04-27 13:13:00,329 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:13:00,329 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [711631095] [2022-04-27 13:13:00,329 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [711631095] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 13:13:00,329 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 13:13:00,329 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 12] total 19 [2022-04-27 13:13:00,329 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [979974327] [2022-04-27 13:13:00,329 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 13:13:00,329 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 19 states have (on average 2.6842105263157894) internal successors, (51), 19 states have internal predecessors, (51), 8 states have call successors, (28), 2 states have call predecessors, (28), 3 states have return successors, (27), 8 states have call predecessors, (27), 8 states have call successors, (27) Word has length 94 [2022-04-27 13:13:00,330 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:13:00,330 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 19 states, 19 states have (on average 2.6842105263157894) internal successors, (51), 19 states have internal predecessors, (51), 8 states have call successors, (28), 2 states have call predecessors, (28), 3 states have return successors, (27), 8 states have call predecessors, (27), 8 states have call successors, (27) [2022-04-27 13:13:00,432 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 106 edges. 106 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:13:00,433 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 19 states [2022-04-27 13:13:00,433 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:13:00,433 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2022-04-27 13:13:00,433 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=58, Invalid=283, Unknown=1, NotChecked=0, Total=342 [2022-04-27 13:13:00,433 INFO L87 Difference]: Start difference. First operand 341 states and 476 transitions. Second operand has 19 states, 19 states have (on average 2.6842105263157894) internal successors, (51), 19 states have internal predecessors, (51), 8 states have call successors, (28), 2 states have call predecessors, (28), 3 states have return successors, (27), 8 states have call predecessors, (27), 8 states have call successors, (27) [2022-04-27 13:13:04,821 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:13:04,821 INFO L93 Difference]: Finished difference Result 474 states and 665 transitions. [2022-04-27 13:13:04,821 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 23 states. [2022-04-27 13:13:04,821 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 19 states have (on average 2.6842105263157894) internal successors, (51), 19 states have internal predecessors, (51), 8 states have call successors, (28), 2 states have call predecessors, (28), 3 states have return successors, (27), 8 states have call predecessors, (27), 8 states have call successors, (27) Word has length 94 [2022-04-27 13:13:04,822 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:13:04,822 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 19 states have (on average 2.6842105263157894) internal successors, (51), 19 states have internal predecessors, (51), 8 states have call successors, (28), 2 states have call predecessors, (28), 3 states have return successors, (27), 8 states have call predecessors, (27), 8 states have call successors, (27) [2022-04-27 13:13:04,823 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 152 transitions. [2022-04-27 13:13:04,823 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 19 states have (on average 2.6842105263157894) internal successors, (51), 19 states have internal predecessors, (51), 8 states have call successors, (28), 2 states have call predecessors, (28), 3 states have return successors, (27), 8 states have call predecessors, (27), 8 states have call successors, (27) [2022-04-27 13:13:04,825 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 152 transitions. [2022-04-27 13:13:04,825 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 23 states and 152 transitions. [2022-04-27 13:13:04,999 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 152 edges. 152 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:13:05,007 INFO L225 Difference]: With dead ends: 474 [2022-04-27 13:13:05,007 INFO L226 Difference]: Without dead ends: 303 [2022-04-27 13:13:05,008 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 209 GetRequests, 172 SyntacticMatches, 1 SemanticMatches, 36 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 214 ImplicationChecksByTransitivity, 3.0s TimeCoverageRelationStatistics Valid=319, Invalid=1086, Unknown=1, NotChecked=0, Total=1406 [2022-04-27 13:13:05,008 INFO L413 NwaCegarLoop]: 60 mSDtfsCounter, 113 mSDsluCounter, 242 mSDsCounter, 0 mSdLazyCounter, 395 mSolverCounterSat, 158 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 113 SdHoareTripleChecker+Valid, 302 SdHoareTripleChecker+Invalid, 610 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 158 IncrementalHoareTripleChecker+Valid, 395 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 57 IncrementalHoareTripleChecker+Unchecked, 1.0s IncrementalHoareTripleChecker+Time [2022-04-27 13:13:05,008 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [113 Valid, 302 Invalid, 610 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [158 Valid, 395 Invalid, 0 Unknown, 57 Unchecked, 1.0s Time] [2022-04-27 13:13:05,009 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 303 states. [2022-04-27 13:13:06,381 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 303 to 303. [2022-04-27 13:13:06,382 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:13:06,387 INFO L82 GeneralOperation]: Start isEquivalent. First operand 303 states. Second operand has 303 states, 170 states have (on average 1.1647058823529413) internal successors, (198), 171 states have internal predecessors, (198), 115 states have call successors, (115), 18 states have call predecessors, (115), 17 states have return successors, (113), 113 states have call predecessors, (113), 113 states have call successors, (113) [2022-04-27 13:13:06,387 INFO L74 IsIncluded]: Start isIncluded. First operand 303 states. Second operand has 303 states, 170 states have (on average 1.1647058823529413) internal successors, (198), 171 states have internal predecessors, (198), 115 states have call successors, (115), 18 states have call predecessors, (115), 17 states have return successors, (113), 113 states have call predecessors, (113), 113 states have call successors, (113) [2022-04-27 13:13:06,388 INFO L87 Difference]: Start difference. First operand 303 states. Second operand has 303 states, 170 states have (on average 1.1647058823529413) internal successors, (198), 171 states have internal predecessors, (198), 115 states have call successors, (115), 18 states have call predecessors, (115), 17 states have return successors, (113), 113 states have call predecessors, (113), 113 states have call successors, (113) [2022-04-27 13:13:06,421 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:13:06,421 INFO L93 Difference]: Finished difference Result 303 states and 426 transitions. [2022-04-27 13:13:06,421 INFO L276 IsEmpty]: Start isEmpty. Operand 303 states and 426 transitions. [2022-04-27 13:13:06,422 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:13:06,422 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:13:06,423 INFO L74 IsIncluded]: Start isIncluded. First operand has 303 states, 170 states have (on average 1.1647058823529413) internal successors, (198), 171 states have internal predecessors, (198), 115 states have call successors, (115), 18 states have call predecessors, (115), 17 states have return successors, (113), 113 states have call predecessors, (113), 113 states have call successors, (113) Second operand 303 states. [2022-04-27 13:13:06,423 INFO L87 Difference]: Start difference. First operand has 303 states, 170 states have (on average 1.1647058823529413) internal successors, (198), 171 states have internal predecessors, (198), 115 states have call successors, (115), 18 states have call predecessors, (115), 17 states have return successors, (113), 113 states have call predecessors, (113), 113 states have call successors, (113) Second operand 303 states. [2022-04-27 13:13:06,430 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:13:06,430 INFO L93 Difference]: Finished difference Result 303 states and 426 transitions. [2022-04-27 13:13:06,430 INFO L276 IsEmpty]: Start isEmpty. Operand 303 states and 426 transitions. [2022-04-27 13:13:06,431 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:13:06,431 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:13:06,431 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:13:06,431 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:13:06,431 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 303 states, 170 states have (on average 1.1647058823529413) internal successors, (198), 171 states have internal predecessors, (198), 115 states have call successors, (115), 18 states have call predecessors, (115), 17 states have return successors, (113), 113 states have call predecessors, (113), 113 states have call successors, (113) [2022-04-27 13:13:06,438 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 303 states to 303 states and 426 transitions. [2022-04-27 13:13:06,438 INFO L78 Accepts]: Start accepts. Automaton has 303 states and 426 transitions. Word has length 94 [2022-04-27 13:13:06,438 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:13:06,438 INFO L495 AbstractCegarLoop]: Abstraction has 303 states and 426 transitions. [2022-04-27 13:13:06,438 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 19 states, 19 states have (on average 2.6842105263157894) internal successors, (51), 19 states have internal predecessors, (51), 8 states have call successors, (28), 2 states have call predecessors, (28), 3 states have return successors, (27), 8 states have call predecessors, (27), 8 states have call successors, (27) [2022-04-27 13:13:06,438 INFO L276 IsEmpty]: Start isEmpty. Operand 303 states and 426 transitions. [2022-04-27 13:13:06,441 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 117 [2022-04-27 13:13:06,441 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:13:06,441 INFO L195 NwaCegarLoop]: trace histogram [13, 12, 12, 4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:13:06,473 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (16)] Ended with exit code 0 [2022-04-27 13:13:06,673 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 16 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable15 [2022-04-27 13:13:06,674 INFO L420 AbstractCegarLoop]: === Iteration 17 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:13:06,674 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:13:06,674 INFO L85 PathProgramCache]: Analyzing trace with hash -1419000176, now seen corresponding path program 2 times [2022-04-27 13:13:06,674 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:13:06,674 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1729250306] [2022-04-27 13:13:06,674 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:13:06,674 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:13:06,690 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:13:06,691 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [163238749] [2022-04-27 13:13:06,691 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-27 13:13:06,691 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:13:06,691 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:13:06,704 INFO L229 MonitoredProcess]: Starting monitored process 17 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 13:13:06,704 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (17)] Waiting until timeout for monitored process [2022-04-27 13:13:06,763 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-27 13:13:06,763 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 13:13:06,764 INFO L263 TraceCheckSpWp]: Trace formula consists of 293 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-27 13:13:06,781 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:13:06,782 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:13:10,017 INFO L272 TraceCheckUtils]: 0: Hoare triple {21144#true} call ULTIMATE.init(); {21144#true} is VALID [2022-04-27 13:13:10,017 INFO L290 TraceCheckUtils]: 1: Hoare triple {21144#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(11, 2);call #Ultimate.allocInit(12, 3); {21144#true} is VALID [2022-04-27 13:13:10,017 INFO L290 TraceCheckUtils]: 2: Hoare triple {21144#true} assume true; {21144#true} is VALID [2022-04-27 13:13:10,018 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {21144#true} {21144#true} #112#return; {21144#true} is VALID [2022-04-27 13:13:10,018 INFO L272 TraceCheckUtils]: 4: Hoare triple {21144#true} call #t~ret6 := main(); {21144#true} is VALID [2022-04-27 13:13:10,018 INFO L290 TraceCheckUtils]: 5: Hoare triple {21144#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {21144#true} is VALID [2022-04-27 13:13:10,018 INFO L272 TraceCheckUtils]: 6: Hoare triple {21144#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {21144#true} is VALID [2022-04-27 13:13:10,018 INFO L290 TraceCheckUtils]: 7: Hoare triple {21144#true} ~cond := #in~cond; {21144#true} is VALID [2022-04-27 13:13:10,018 INFO L290 TraceCheckUtils]: 8: Hoare triple {21144#true} assume !(0 == ~cond); {21144#true} is VALID [2022-04-27 13:13:10,018 INFO L290 TraceCheckUtils]: 9: Hoare triple {21144#true} assume true; {21144#true} is VALID [2022-04-27 13:13:10,018 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {21144#true} {21144#true} #94#return; {21144#true} is VALID [2022-04-27 13:13:10,018 INFO L290 TraceCheckUtils]: 11: Hoare triple {21144#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {21144#true} is VALID [2022-04-27 13:13:10,018 INFO L272 TraceCheckUtils]: 12: Hoare triple {21144#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {21144#true} is VALID [2022-04-27 13:13:10,018 INFO L290 TraceCheckUtils]: 13: Hoare triple {21144#true} ~cond := #in~cond; {21188#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 13:13:10,019 INFO L290 TraceCheckUtils]: 14: Hoare triple {21188#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {21192#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:13:10,019 INFO L290 TraceCheckUtils]: 15: Hoare triple {21192#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {21192#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:13:10,019 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {21192#(not (= |assume_abort_if_not_#in~cond| 0))} {21144#true} #96#return; {21199#(and (<= 0 main_~y~0) (<= main_~y~0 2))} is VALID [2022-04-27 13:13:10,019 INFO L272 TraceCheckUtils]: 17: Hoare triple {21199#(and (<= 0 main_~y~0) (<= main_~y~0 2))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {21144#true} is VALID [2022-04-27 13:13:10,020 INFO L290 TraceCheckUtils]: 18: Hoare triple {21144#true} ~cond := #in~cond; {21144#true} is VALID [2022-04-27 13:13:10,020 INFO L290 TraceCheckUtils]: 19: Hoare triple {21144#true} assume !(0 == ~cond); {21144#true} is VALID [2022-04-27 13:13:10,020 INFO L290 TraceCheckUtils]: 20: Hoare triple {21144#true} assume true; {21144#true} is VALID [2022-04-27 13:13:10,020 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {21144#true} {21199#(and (<= 0 main_~y~0) (<= main_~y~0 2))} #98#return; {21199#(and (<= 0 main_~y~0) (<= main_~y~0 2))} is VALID [2022-04-27 13:13:10,020 INFO L272 TraceCheckUtils]: 22: Hoare triple {21199#(and (<= 0 main_~y~0) (<= main_~y~0 2))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {21144#true} is VALID [2022-04-27 13:13:10,020 INFO L290 TraceCheckUtils]: 23: Hoare triple {21144#true} ~cond := #in~cond; {21144#true} is VALID [2022-04-27 13:13:10,020 INFO L290 TraceCheckUtils]: 24: Hoare triple {21144#true} assume !(0 == ~cond); {21144#true} is VALID [2022-04-27 13:13:10,020 INFO L290 TraceCheckUtils]: 25: Hoare triple {21144#true} assume true; {21144#true} is VALID [2022-04-27 13:13:10,021 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {21144#true} {21199#(and (<= 0 main_~y~0) (<= main_~y~0 2))} #100#return; {21199#(and (<= 0 main_~y~0) (<= main_~y~0 2))} is VALID [2022-04-27 13:13:10,021 INFO L290 TraceCheckUtils]: 27: Hoare triple {21199#(and (<= 0 main_~y~0) (<= main_~y~0 2))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {21233#(<= main_~b~0 2)} is VALID [2022-04-27 13:13:10,021 INFO L290 TraceCheckUtils]: 28: Hoare triple {21233#(<= main_~b~0 2)} assume !false; {21233#(<= main_~b~0 2)} is VALID [2022-04-27 13:13:10,021 INFO L290 TraceCheckUtils]: 29: Hoare triple {21233#(<= main_~b~0 2)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {21233#(<= main_~b~0 2)} is VALID [2022-04-27 13:13:10,022 INFO L290 TraceCheckUtils]: 30: Hoare triple {21233#(<= main_~b~0 2)} assume !false; {21233#(<= main_~b~0 2)} is VALID [2022-04-27 13:13:10,022 INFO L290 TraceCheckUtils]: 31: Hoare triple {21233#(<= main_~b~0 2)} assume !(~c~0 >= ~b~0); {21233#(<= main_~b~0 2)} is VALID [2022-04-27 13:13:10,022 INFO L290 TraceCheckUtils]: 32: Hoare triple {21233#(<= main_~b~0 2)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {21249#(<= main_~a~0 2)} is VALID [2022-04-27 13:13:10,023 INFO L290 TraceCheckUtils]: 33: Hoare triple {21249#(<= main_~a~0 2)} assume !false; {21249#(<= main_~a~0 2)} is VALID [2022-04-27 13:13:10,023 INFO L290 TraceCheckUtils]: 34: Hoare triple {21249#(<= main_~a~0 2)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {21256#(<= main_~c~0 2)} is VALID [2022-04-27 13:13:10,023 INFO L290 TraceCheckUtils]: 35: Hoare triple {21256#(<= main_~c~0 2)} assume !false; {21256#(<= main_~c~0 2)} is VALID [2022-04-27 13:13:10,024 INFO L290 TraceCheckUtils]: 36: Hoare triple {21256#(<= main_~c~0 2)} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {21263#(and (<= main_~c~0 2) (<= main_~b~0 main_~v~0))} is VALID [2022-04-27 13:13:10,024 INFO L290 TraceCheckUtils]: 37: Hoare triple {21263#(and (<= main_~c~0 2) (<= main_~b~0 main_~v~0))} assume !false; {21263#(and (<= main_~c~0 2) (<= main_~b~0 main_~v~0))} is VALID [2022-04-27 13:13:10,024 INFO L272 TraceCheckUtils]: 38: Hoare triple {21263#(and (<= main_~c~0 2) (<= main_~b~0 main_~v~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {21144#true} is VALID [2022-04-27 13:13:10,024 INFO L290 TraceCheckUtils]: 39: Hoare triple {21144#true} ~cond := #in~cond; {21144#true} is VALID [2022-04-27 13:13:10,024 INFO L290 TraceCheckUtils]: 40: Hoare triple {21144#true} assume !(0 == ~cond); {21144#true} is VALID [2022-04-27 13:13:10,024 INFO L290 TraceCheckUtils]: 41: Hoare triple {21144#true} assume true; {21144#true} is VALID [2022-04-27 13:13:10,025 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {21144#true} {21263#(and (<= main_~c~0 2) (<= main_~b~0 main_~v~0))} #102#return; {21263#(and (<= main_~c~0 2) (<= main_~b~0 main_~v~0))} is VALID [2022-04-27 13:13:10,025 INFO L272 TraceCheckUtils]: 43: Hoare triple {21263#(and (<= main_~c~0 2) (<= main_~b~0 main_~v~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {21144#true} is VALID [2022-04-27 13:13:10,025 INFO L290 TraceCheckUtils]: 44: Hoare triple {21144#true} ~cond := #in~cond; {21144#true} is VALID [2022-04-27 13:13:10,025 INFO L290 TraceCheckUtils]: 45: Hoare triple {21144#true} assume !(0 == ~cond); {21144#true} is VALID [2022-04-27 13:13:10,025 INFO L290 TraceCheckUtils]: 46: Hoare triple {21144#true} assume true; {21144#true} is VALID [2022-04-27 13:13:10,025 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {21144#true} {21263#(and (<= main_~c~0 2) (<= main_~b~0 main_~v~0))} #104#return; {21263#(and (<= main_~c~0 2) (<= main_~b~0 main_~v~0))} is VALID [2022-04-27 13:13:10,026 INFO L272 TraceCheckUtils]: 48: Hoare triple {21263#(and (<= main_~c~0 2) (<= main_~b~0 main_~v~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {21144#true} is VALID [2022-04-27 13:13:10,026 INFO L290 TraceCheckUtils]: 49: Hoare triple {21144#true} ~cond := #in~cond; {21144#true} is VALID [2022-04-27 13:13:10,026 INFO L290 TraceCheckUtils]: 50: Hoare triple {21144#true} assume !(0 == ~cond); {21144#true} is VALID [2022-04-27 13:13:10,026 INFO L290 TraceCheckUtils]: 51: Hoare triple {21144#true} assume true; {21144#true} is VALID [2022-04-27 13:13:10,026 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {21144#true} {21263#(and (<= main_~c~0 2) (<= main_~b~0 main_~v~0))} #106#return; {21263#(and (<= main_~c~0 2) (<= main_~b~0 main_~v~0))} is VALID [2022-04-27 13:13:10,026 INFO L272 TraceCheckUtils]: 53: Hoare triple {21263#(and (<= main_~c~0 2) (<= main_~b~0 main_~v~0))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {21144#true} is VALID [2022-04-27 13:13:10,026 INFO L290 TraceCheckUtils]: 54: Hoare triple {21144#true} ~cond := #in~cond; {21144#true} is VALID [2022-04-27 13:13:10,026 INFO L290 TraceCheckUtils]: 55: Hoare triple {21144#true} assume !(0 == ~cond); {21144#true} is VALID [2022-04-27 13:13:10,026 INFO L290 TraceCheckUtils]: 56: Hoare triple {21144#true} assume true; {21144#true} is VALID [2022-04-27 13:13:10,027 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {21144#true} {21263#(and (<= main_~c~0 2) (<= main_~b~0 main_~v~0))} #108#return; {21263#(and (<= main_~c~0 2) (<= main_~b~0 main_~v~0))} is VALID [2022-04-27 13:13:10,028 INFO L290 TraceCheckUtils]: 58: Hoare triple {21263#(and (<= main_~c~0 2) (<= main_~b~0 main_~v~0))} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {21330#(and (<= main_~c~0 2) (<= main_~b~0 (div main_~v~0 2)))} is VALID [2022-04-27 13:13:10,028 INFO L290 TraceCheckUtils]: 59: Hoare triple {21330#(and (<= main_~c~0 2) (<= main_~b~0 (div main_~v~0 2)))} assume !false; {21330#(and (<= main_~c~0 2) (<= main_~b~0 (div main_~v~0 2)))} is VALID [2022-04-27 13:13:10,028 INFO L272 TraceCheckUtils]: 60: Hoare triple {21330#(and (<= main_~c~0 2) (<= main_~b~0 (div main_~v~0 2)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {21144#true} is VALID [2022-04-27 13:13:10,028 INFO L290 TraceCheckUtils]: 61: Hoare triple {21144#true} ~cond := #in~cond; {21144#true} is VALID [2022-04-27 13:13:10,028 INFO L290 TraceCheckUtils]: 62: Hoare triple {21144#true} assume !(0 == ~cond); {21144#true} is VALID [2022-04-27 13:13:10,028 INFO L290 TraceCheckUtils]: 63: Hoare triple {21144#true} assume true; {21144#true} is VALID [2022-04-27 13:13:10,029 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {21144#true} {21330#(and (<= main_~c~0 2) (<= main_~b~0 (div main_~v~0 2)))} #102#return; {21330#(and (<= main_~c~0 2) (<= main_~b~0 (div main_~v~0 2)))} is VALID [2022-04-27 13:13:10,029 INFO L272 TraceCheckUtils]: 65: Hoare triple {21330#(and (<= main_~c~0 2) (<= main_~b~0 (div main_~v~0 2)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {21144#true} is VALID [2022-04-27 13:13:10,029 INFO L290 TraceCheckUtils]: 66: Hoare triple {21144#true} ~cond := #in~cond; {21144#true} is VALID [2022-04-27 13:13:10,029 INFO L290 TraceCheckUtils]: 67: Hoare triple {21144#true} assume !(0 == ~cond); {21144#true} is VALID [2022-04-27 13:13:10,029 INFO L290 TraceCheckUtils]: 68: Hoare triple {21144#true} assume true; {21144#true} is VALID [2022-04-27 13:13:10,030 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {21144#true} {21330#(and (<= main_~c~0 2) (<= main_~b~0 (div main_~v~0 2)))} #104#return; {21330#(and (<= main_~c~0 2) (<= main_~b~0 (div main_~v~0 2)))} is VALID [2022-04-27 13:13:10,030 INFO L272 TraceCheckUtils]: 70: Hoare triple {21330#(and (<= main_~c~0 2) (<= main_~b~0 (div main_~v~0 2)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {21144#true} is VALID [2022-04-27 13:13:10,030 INFO L290 TraceCheckUtils]: 71: Hoare triple {21144#true} ~cond := #in~cond; {21144#true} is VALID [2022-04-27 13:13:10,030 INFO L290 TraceCheckUtils]: 72: Hoare triple {21144#true} assume !(0 == ~cond); {21144#true} is VALID [2022-04-27 13:13:10,030 INFO L290 TraceCheckUtils]: 73: Hoare triple {21144#true} assume true; {21144#true} is VALID [2022-04-27 13:13:10,030 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {21144#true} {21330#(and (<= main_~c~0 2) (<= main_~b~0 (div main_~v~0 2)))} #106#return; {21330#(and (<= main_~c~0 2) (<= main_~b~0 (div main_~v~0 2)))} is VALID [2022-04-27 13:13:10,030 INFO L272 TraceCheckUtils]: 75: Hoare triple {21330#(and (<= main_~c~0 2) (<= main_~b~0 (div main_~v~0 2)))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {21144#true} is VALID [2022-04-27 13:13:10,030 INFO L290 TraceCheckUtils]: 76: Hoare triple {21144#true} ~cond := #in~cond; {21144#true} is VALID [2022-04-27 13:13:10,031 INFO L290 TraceCheckUtils]: 77: Hoare triple {21144#true} assume !(0 == ~cond); {21144#true} is VALID [2022-04-27 13:13:10,031 INFO L290 TraceCheckUtils]: 78: Hoare triple {21144#true} assume true; {21144#true} is VALID [2022-04-27 13:13:10,031 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {21144#true} {21330#(and (<= main_~c~0 2) (<= main_~b~0 (div main_~v~0 2)))} #108#return; {21330#(and (<= main_~c~0 2) (<= main_~b~0 (div main_~v~0 2)))} is VALID [2022-04-27 13:13:10,032 INFO L290 TraceCheckUtils]: 80: Hoare triple {21330#(and (<= main_~c~0 2) (<= main_~b~0 (div main_~v~0 2)))} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {21397#(and (<= (div (* (- 1) main_~v~0) (- 2)) (div main_~c~0 2)) (<= main_~c~0 2) (<= main_~b~0 (div (div main_~c~0 2) 2)))} is VALID [2022-04-27 13:13:10,033 INFO L290 TraceCheckUtils]: 81: Hoare triple {21397#(and (<= (div (* (- 1) main_~v~0) (- 2)) (div main_~c~0 2)) (<= main_~c~0 2) (<= main_~b~0 (div (div main_~c~0 2) 2)))} assume !false; {21397#(and (<= (div (* (- 1) main_~v~0) (- 2)) (div main_~c~0 2)) (<= main_~c~0 2) (<= main_~b~0 (div (div main_~c~0 2) 2)))} is VALID [2022-04-27 13:13:10,033 INFO L272 TraceCheckUtils]: 82: Hoare triple {21397#(and (<= (div (* (- 1) main_~v~0) (- 2)) (div main_~c~0 2)) (<= main_~c~0 2) (<= main_~b~0 (div (div main_~c~0 2) 2)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {21144#true} is VALID [2022-04-27 13:13:10,033 INFO L290 TraceCheckUtils]: 83: Hoare triple {21144#true} ~cond := #in~cond; {21144#true} is VALID [2022-04-27 13:13:10,033 INFO L290 TraceCheckUtils]: 84: Hoare triple {21144#true} assume !(0 == ~cond); {21144#true} is VALID [2022-04-27 13:13:10,033 INFO L290 TraceCheckUtils]: 85: Hoare triple {21144#true} assume true; {21144#true} is VALID [2022-04-27 13:13:10,033 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {21144#true} {21397#(and (<= (div (* (- 1) main_~v~0) (- 2)) (div main_~c~0 2)) (<= main_~c~0 2) (<= main_~b~0 (div (div main_~c~0 2) 2)))} #102#return; {21397#(and (<= (div (* (- 1) main_~v~0) (- 2)) (div main_~c~0 2)) (<= main_~c~0 2) (<= main_~b~0 (div (div main_~c~0 2) 2)))} is VALID [2022-04-27 13:13:10,034 INFO L272 TraceCheckUtils]: 87: Hoare triple {21397#(and (<= (div (* (- 1) main_~v~0) (- 2)) (div main_~c~0 2)) (<= main_~c~0 2) (<= main_~b~0 (div (div main_~c~0 2) 2)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {21144#true} is VALID [2022-04-27 13:13:10,034 INFO L290 TraceCheckUtils]: 88: Hoare triple {21144#true} ~cond := #in~cond; {21144#true} is VALID [2022-04-27 13:13:10,034 INFO L290 TraceCheckUtils]: 89: Hoare triple {21144#true} assume !(0 == ~cond); {21144#true} is VALID [2022-04-27 13:13:10,034 INFO L290 TraceCheckUtils]: 90: Hoare triple {21144#true} assume true; {21144#true} is VALID [2022-04-27 13:13:10,034 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {21144#true} {21397#(and (<= (div (* (- 1) main_~v~0) (- 2)) (div main_~c~0 2)) (<= main_~c~0 2) (<= main_~b~0 (div (div main_~c~0 2) 2)))} #104#return; {21397#(and (<= (div (* (- 1) main_~v~0) (- 2)) (div main_~c~0 2)) (<= main_~c~0 2) (<= main_~b~0 (div (div main_~c~0 2) 2)))} is VALID [2022-04-27 13:13:10,034 INFO L272 TraceCheckUtils]: 92: Hoare triple {21397#(and (<= (div (* (- 1) main_~v~0) (- 2)) (div main_~c~0 2)) (<= main_~c~0 2) (<= main_~b~0 (div (div main_~c~0 2) 2)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {21144#true} is VALID [2022-04-27 13:13:10,034 INFO L290 TraceCheckUtils]: 93: Hoare triple {21144#true} ~cond := #in~cond; {21144#true} is VALID [2022-04-27 13:13:10,034 INFO L290 TraceCheckUtils]: 94: Hoare triple {21144#true} assume !(0 == ~cond); {21144#true} is VALID [2022-04-27 13:13:10,035 INFO L290 TraceCheckUtils]: 95: Hoare triple {21144#true} assume true; {21144#true} is VALID [2022-04-27 13:13:10,035 INFO L284 TraceCheckUtils]: 96: Hoare quadruple {21144#true} {21397#(and (<= (div (* (- 1) main_~v~0) (- 2)) (div main_~c~0 2)) (<= main_~c~0 2) (<= main_~b~0 (div (div main_~c~0 2) 2)))} #106#return; {21397#(and (<= (div (* (- 1) main_~v~0) (- 2)) (div main_~c~0 2)) (<= main_~c~0 2) (<= main_~b~0 (div (div main_~c~0 2) 2)))} is VALID [2022-04-27 13:13:10,035 INFO L272 TraceCheckUtils]: 97: Hoare triple {21397#(and (<= (div (* (- 1) main_~v~0) (- 2)) (div main_~c~0 2)) (<= main_~c~0 2) (<= main_~b~0 (div (div main_~c~0 2) 2)))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {21144#true} is VALID [2022-04-27 13:13:10,035 INFO L290 TraceCheckUtils]: 98: Hoare triple {21144#true} ~cond := #in~cond; {21144#true} is VALID [2022-04-27 13:13:10,035 INFO L290 TraceCheckUtils]: 99: Hoare triple {21144#true} assume !(0 == ~cond); {21144#true} is VALID [2022-04-27 13:13:10,035 INFO L290 TraceCheckUtils]: 100: Hoare triple {21144#true} assume true; {21144#true} is VALID [2022-04-27 13:13:10,036 INFO L284 TraceCheckUtils]: 101: Hoare quadruple {21144#true} {21397#(and (<= (div (* (- 1) main_~v~0) (- 2)) (div main_~c~0 2)) (<= main_~c~0 2) (<= main_~b~0 (div (div main_~c~0 2) 2)))} #108#return; {21397#(and (<= (div (* (- 1) main_~v~0) (- 2)) (div main_~c~0 2)) (<= main_~c~0 2) (<= main_~b~0 (div (div main_~c~0 2) 2)))} is VALID [2022-04-27 13:13:10,036 INFO L290 TraceCheckUtils]: 102: Hoare triple {21397#(and (<= (div (* (- 1) main_~v~0) (- 2)) (div main_~c~0 2)) (<= main_~c~0 2) (<= main_~b~0 (div (div main_~c~0 2) 2)))} assume !(~c~0 >= 2 * ~v~0); {21397#(and (<= (div (* (- 1) main_~v~0) (- 2)) (div main_~c~0 2)) (<= main_~c~0 2) (<= main_~b~0 (div (div main_~c~0 2) 2)))} is VALID [2022-04-27 13:13:10,037 INFO L290 TraceCheckUtils]: 103: Hoare triple {21397#(and (<= (div (* (- 1) main_~v~0) (- 2)) (div main_~c~0 2)) (<= main_~c~0 2) (<= main_~b~0 (div (div main_~c~0 2) 2)))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {21467#(and (<= main_~b~0 0) (< 0 (+ (div main_~c~0 2) 1)))} is VALID [2022-04-27 13:13:10,037 INFO L290 TraceCheckUtils]: 104: Hoare triple {21467#(and (<= main_~b~0 0) (< 0 (+ (div main_~c~0 2) 1)))} assume !false; {21467#(and (<= main_~b~0 0) (< 0 (+ (div main_~c~0 2) 1)))} is VALID [2022-04-27 13:13:10,038 INFO L290 TraceCheckUtils]: 105: Hoare triple {21467#(and (<= main_~b~0 0) (< 0 (+ (div main_~c~0 2) 1)))} assume !(~c~0 >= ~b~0); {21145#false} is VALID [2022-04-27 13:13:10,038 INFO L290 TraceCheckUtils]: 106: Hoare triple {21145#false} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {21145#false} is VALID [2022-04-27 13:13:10,038 INFO L290 TraceCheckUtils]: 107: Hoare triple {21145#false} assume !false; {21145#false} is VALID [2022-04-27 13:13:10,038 INFO L290 TraceCheckUtils]: 108: Hoare triple {21145#false} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {21145#false} is VALID [2022-04-27 13:13:10,038 INFO L290 TraceCheckUtils]: 109: Hoare triple {21145#false} assume !false; {21145#false} is VALID [2022-04-27 13:13:10,038 INFO L290 TraceCheckUtils]: 110: Hoare triple {21145#false} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {21145#false} is VALID [2022-04-27 13:13:10,038 INFO L290 TraceCheckUtils]: 111: Hoare triple {21145#false} assume !false; {21145#false} is VALID [2022-04-27 13:13:10,038 INFO L272 TraceCheckUtils]: 112: Hoare triple {21145#false} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {21145#false} is VALID [2022-04-27 13:13:10,038 INFO L290 TraceCheckUtils]: 113: Hoare triple {21145#false} ~cond := #in~cond; {21145#false} is VALID [2022-04-27 13:13:10,038 INFO L290 TraceCheckUtils]: 114: Hoare triple {21145#false} assume 0 == ~cond; {21145#false} is VALID [2022-04-27 13:13:10,038 INFO L290 TraceCheckUtils]: 115: Hoare triple {21145#false} assume !false; {21145#false} is VALID [2022-04-27 13:13:10,039 INFO L134 CoverageAnalysis]: Checked inductivity of 355 backedges. 46 proven. 30 refuted. 0 times theorem prover too weak. 279 trivial. 0 not checked. [2022-04-27 13:13:10,039 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:13:14,719 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:13:14,719 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1729250306] [2022-04-27 13:13:14,720 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:13:14,720 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [163238749] [2022-04-27 13:13:14,720 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [163238749] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 13:13:14,720 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-27 13:13:14,720 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12] total 12 [2022-04-27 13:13:14,720 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1438044468] [2022-04-27 13:13:14,720 INFO L85 oduleStraightlineAll]: Using 1 imperfect interpolants to construct interpolant automaton [2022-04-27 13:13:14,721 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 3.4166666666666665) internal successors, (41), 11 states have internal predecessors, (41), 6 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 5 states have call predecessors, (17), 5 states have call successors, (17) Word has length 116 [2022-04-27 13:13:14,730 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:13:14,730 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 12 states have (on average 3.4166666666666665) internal successors, (41), 11 states have internal predecessors, (41), 6 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 5 states have call predecessors, (17), 5 states have call successors, (17) [2022-04-27 13:13:14,792 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 77 edges. 77 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:13:14,792 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-27 13:13:14,792 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:13:14,792 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-27 13:13:14,792 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=60, Invalid=320, Unknown=0, NotChecked=0, Total=380 [2022-04-27 13:13:14,793 INFO L87 Difference]: Start difference. First operand 303 states and 426 transitions. Second operand has 12 states, 12 states have (on average 3.4166666666666665) internal successors, (41), 11 states have internal predecessors, (41), 6 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 5 states have call predecessors, (17), 5 states have call successors, (17) [2022-04-27 13:13:18,150 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:13:18,150 INFO L93 Difference]: Finished difference Result 464 states and 667 transitions. [2022-04-27 13:13:18,150 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-27 13:13:18,150 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 3.4166666666666665) internal successors, (41), 11 states have internal predecessors, (41), 6 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 5 states have call predecessors, (17), 5 states have call successors, (17) Word has length 116 [2022-04-27 13:13:18,150 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:13:18,151 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 3.4166666666666665) internal successors, (41), 11 states have internal predecessors, (41), 6 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 5 states have call predecessors, (17), 5 states have call successors, (17) [2022-04-27 13:13:18,152 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 138 transitions. [2022-04-27 13:13:18,152 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 3.4166666666666665) internal successors, (41), 11 states have internal predecessors, (41), 6 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 5 states have call predecessors, (17), 5 states have call successors, (17) [2022-04-27 13:13:18,153 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 138 transitions. [2022-04-27 13:13:18,153 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 138 transitions. [2022-04-27 13:13:18,282 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 138 edges. 138 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:13:18,289 INFO L225 Difference]: With dead ends: 464 [2022-04-27 13:13:18,289 INFO L226 Difference]: Without dead ends: 383 [2022-04-27 13:13:18,290 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 215 GetRequests, 187 SyntacticMatches, 0 SemanticMatches, 28 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 100 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=192, Invalid=678, Unknown=0, NotChecked=0, Total=870 [2022-04-27 13:13:18,290 INFO L413 NwaCegarLoop]: 74 mSDtfsCounter, 55 mSDsluCounter, 202 mSDsCounter, 0 mSdLazyCounter, 343 mSolverCounterSat, 102 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 55 SdHoareTripleChecker+Valid, 276 SdHoareTripleChecker+Invalid, 445 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 102 IncrementalHoareTripleChecker+Valid, 343 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.6s IncrementalHoareTripleChecker+Time [2022-04-27 13:13:18,290 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [55 Valid, 276 Invalid, 445 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [102 Valid, 343 Invalid, 0 Unknown, 0 Unchecked, 0.6s Time] [2022-04-27 13:13:18,291 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 383 states. [2022-04-27 13:13:20,091 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 383 to 327. [2022-04-27 13:13:20,091 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:13:20,092 INFO L82 GeneralOperation]: Start isEquivalent. First operand 383 states. Second operand has 327 states, 186 states have (on average 1.1612903225806452) internal successors, (216), 187 states have internal predecessors, (216), 123 states have call successors, (123), 18 states have call predecessors, (123), 17 states have return successors, (121), 121 states have call predecessors, (121), 121 states have call successors, (121) [2022-04-27 13:13:20,092 INFO L74 IsIncluded]: Start isIncluded. First operand 383 states. Second operand has 327 states, 186 states have (on average 1.1612903225806452) internal successors, (216), 187 states have internal predecessors, (216), 123 states have call successors, (123), 18 states have call predecessors, (123), 17 states have return successors, (121), 121 states have call predecessors, (121), 121 states have call successors, (121) [2022-04-27 13:13:20,093 INFO L87 Difference]: Start difference. First operand 383 states. Second operand has 327 states, 186 states have (on average 1.1612903225806452) internal successors, (216), 187 states have internal predecessors, (216), 123 states have call successors, (123), 18 states have call predecessors, (123), 17 states have return successors, (121), 121 states have call predecessors, (121), 121 states have call successors, (121) [2022-04-27 13:13:20,101 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:13:20,101 INFO L93 Difference]: Finished difference Result 383 states and 556 transitions. [2022-04-27 13:13:20,101 INFO L276 IsEmpty]: Start isEmpty. Operand 383 states and 556 transitions. [2022-04-27 13:13:20,102 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:13:20,102 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:13:20,102 INFO L74 IsIncluded]: Start isIncluded. First operand has 327 states, 186 states have (on average 1.1612903225806452) internal successors, (216), 187 states have internal predecessors, (216), 123 states have call successors, (123), 18 states have call predecessors, (123), 17 states have return successors, (121), 121 states have call predecessors, (121), 121 states have call successors, (121) Second operand 383 states. [2022-04-27 13:13:20,103 INFO L87 Difference]: Start difference. First operand has 327 states, 186 states have (on average 1.1612903225806452) internal successors, (216), 187 states have internal predecessors, (216), 123 states have call successors, (123), 18 states have call predecessors, (123), 17 states have return successors, (121), 121 states have call predecessors, (121), 121 states have call successors, (121) Second operand 383 states. [2022-04-27 13:13:20,111 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:13:20,111 INFO L93 Difference]: Finished difference Result 383 states and 556 transitions. [2022-04-27 13:13:20,111 INFO L276 IsEmpty]: Start isEmpty. Operand 383 states and 556 transitions. [2022-04-27 13:13:20,112 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:13:20,112 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:13:20,112 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:13:20,112 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:13:20,112 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 327 states, 186 states have (on average 1.1612903225806452) internal successors, (216), 187 states have internal predecessors, (216), 123 states have call successors, (123), 18 states have call predecessors, (123), 17 states have return successors, (121), 121 states have call predecessors, (121), 121 states have call successors, (121) [2022-04-27 13:13:20,119 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 327 states to 327 states and 460 transitions. [2022-04-27 13:13:20,119 INFO L78 Accepts]: Start accepts. Automaton has 327 states and 460 transitions. Word has length 116 [2022-04-27 13:13:20,119 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:13:20,119 INFO L495 AbstractCegarLoop]: Abstraction has 327 states and 460 transitions. [2022-04-27 13:13:20,119 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 12 states have (on average 3.4166666666666665) internal successors, (41), 11 states have internal predecessors, (41), 6 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 5 states have call predecessors, (17), 5 states have call successors, (17) [2022-04-27 13:13:20,119 INFO L276 IsEmpty]: Start isEmpty. Operand 327 states and 460 transitions. [2022-04-27 13:13:20,120 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 120 [2022-04-27 13:13:20,120 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:13:20,120 INFO L195 NwaCegarLoop]: trace histogram [13, 12, 12, 5, 4, 4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:13:20,136 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (17)] Forceful destruction successful, exit code 0 [2022-04-27 13:13:20,336 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 17 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable16 [2022-04-27 13:13:20,337 INFO L420 AbstractCegarLoop]: === Iteration 18 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:13:20,337 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:13:20,337 INFO L85 PathProgramCache]: Analyzing trace with hash 2089528091, now seen corresponding path program 3 times [2022-04-27 13:13:20,337 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:13:20,337 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1844910780] [2022-04-27 13:13:20,337 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:13:20,337 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:13:20,350 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:13:20,350 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [243681311] [2022-04-27 13:13:20,350 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-04-27 13:13:20,350 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:13:20,350 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:13:20,351 INFO L229 MonitoredProcess]: Starting monitored process 18 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 13:13:20,352 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (18)] Waiting until timeout for monitored process [2022-04-27 13:13:20,398 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 3 check-sat command(s) [2022-04-27 13:13:20,398 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 13:13:20,399 INFO L263 TraceCheckSpWp]: Trace formula consists of 169 conjuncts, 47 conjunts are in the unsatisfiable core [2022-04-27 13:13:20,416 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:13:20,417 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:13:22,295 INFO L272 TraceCheckUtils]: 0: Hoare triple {23836#true} call ULTIMATE.init(); {23836#true} is VALID [2022-04-27 13:13:22,296 INFO L290 TraceCheckUtils]: 1: Hoare triple {23836#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(11, 2);call #Ultimate.allocInit(12, 3); {23836#true} is VALID [2022-04-27 13:13:22,296 INFO L290 TraceCheckUtils]: 2: Hoare triple {23836#true} assume true; {23836#true} is VALID [2022-04-27 13:13:22,296 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {23836#true} {23836#true} #112#return; {23836#true} is VALID [2022-04-27 13:13:22,296 INFO L272 TraceCheckUtils]: 4: Hoare triple {23836#true} call #t~ret6 := main(); {23836#true} is VALID [2022-04-27 13:13:22,296 INFO L290 TraceCheckUtils]: 5: Hoare triple {23836#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {23836#true} is VALID [2022-04-27 13:13:22,296 INFO L272 TraceCheckUtils]: 6: Hoare triple {23836#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {23836#true} is VALID [2022-04-27 13:13:22,296 INFO L290 TraceCheckUtils]: 7: Hoare triple {23836#true} ~cond := #in~cond; {23862#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 13:13:22,296 INFO L290 TraceCheckUtils]: 8: Hoare triple {23862#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {23866#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:13:22,297 INFO L290 TraceCheckUtils]: 9: Hoare triple {23866#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {23866#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:13:22,297 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {23866#(not (= |assume_abort_if_not_#in~cond| 0))} {23836#true} #94#return; {23873#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-27 13:13:22,298 INFO L290 TraceCheckUtils]: 11: Hoare triple {23873#(and (<= 0 main_~x~0) (<= main_~x~0 2))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {23873#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-27 13:13:22,298 INFO L272 TraceCheckUtils]: 12: Hoare triple {23873#(and (<= 0 main_~x~0) (<= main_~x~0 2))} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {23836#true} is VALID [2022-04-27 13:13:22,298 INFO L290 TraceCheckUtils]: 13: Hoare triple {23836#true} ~cond := #in~cond; {23836#true} is VALID [2022-04-27 13:13:22,298 INFO L290 TraceCheckUtils]: 14: Hoare triple {23836#true} assume !(0 == ~cond); {23836#true} is VALID [2022-04-27 13:13:22,298 INFO L290 TraceCheckUtils]: 15: Hoare triple {23836#true} assume true; {23836#true} is VALID [2022-04-27 13:13:22,298 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {23836#true} {23873#(and (<= 0 main_~x~0) (<= main_~x~0 2))} #96#return; {23873#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-27 13:13:22,298 INFO L272 TraceCheckUtils]: 17: Hoare triple {23873#(and (<= 0 main_~x~0) (<= main_~x~0 2))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {23836#true} is VALID [2022-04-27 13:13:22,298 INFO L290 TraceCheckUtils]: 18: Hoare triple {23836#true} ~cond := #in~cond; {23836#true} is VALID [2022-04-27 13:13:22,298 INFO L290 TraceCheckUtils]: 19: Hoare triple {23836#true} assume !(0 == ~cond); {23836#true} is VALID [2022-04-27 13:13:22,298 INFO L290 TraceCheckUtils]: 20: Hoare triple {23836#true} assume true; {23836#true} is VALID [2022-04-27 13:13:22,299 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {23836#true} {23873#(and (<= 0 main_~x~0) (<= main_~x~0 2))} #98#return; {23873#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-27 13:13:22,299 INFO L272 TraceCheckUtils]: 22: Hoare triple {23873#(and (<= 0 main_~x~0) (<= main_~x~0 2))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {23836#true} is VALID [2022-04-27 13:13:22,299 INFO L290 TraceCheckUtils]: 23: Hoare triple {23836#true} ~cond := #in~cond; {23836#true} is VALID [2022-04-27 13:13:22,299 INFO L290 TraceCheckUtils]: 24: Hoare triple {23836#true} assume !(0 == ~cond); {23836#true} is VALID [2022-04-27 13:13:22,299 INFO L290 TraceCheckUtils]: 25: Hoare triple {23836#true} assume true; {23836#true} is VALID [2022-04-27 13:13:22,299 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {23836#true} {23873#(and (<= 0 main_~x~0) (<= main_~x~0 2))} #100#return; {23873#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-27 13:13:22,300 INFO L290 TraceCheckUtils]: 27: Hoare triple {23873#(and (<= 0 main_~x~0) (<= main_~x~0 2))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {23925#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-27 13:13:22,300 INFO L290 TraceCheckUtils]: 28: Hoare triple {23925#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} assume !false; {23925#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-27 13:13:22,301 INFO L290 TraceCheckUtils]: 29: Hoare triple {23925#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {23932#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-27 13:13:22,301 INFO L290 TraceCheckUtils]: 30: Hoare triple {23932#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} assume !false; {23932#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-27 13:13:22,302 INFO L290 TraceCheckUtils]: 31: Hoare triple {23932#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} assume !(~c~0 >= ~b~0); {23939#(and (= main_~r~0 0) (< main_~c~0 main_~y~0) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-27 13:13:22,303 INFO L290 TraceCheckUtils]: 32: Hoare triple {23939#(and (= main_~r~0 0) (< main_~c~0 main_~y~0) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {23943#(and (= main_~s~0 0) (< main_~x~0 main_~y~0) (<= 0 main_~x~0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= main_~x~0 2))} is VALID [2022-04-27 13:13:22,303 INFO L290 TraceCheckUtils]: 33: Hoare triple {23943#(and (= main_~s~0 0) (< main_~x~0 main_~y~0) (<= 0 main_~x~0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= main_~x~0 2))} assume !false; {23943#(and (= main_~s~0 0) (< main_~x~0 main_~y~0) (<= 0 main_~x~0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= main_~x~0 2))} is VALID [2022-04-27 13:13:22,304 INFO L290 TraceCheckUtils]: 34: Hoare triple {23943#(and (= main_~s~0 0) (< main_~x~0 main_~y~0) (<= 0 main_~x~0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= main_~x~0 2))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {23943#(and (= main_~s~0 0) (< main_~x~0 main_~y~0) (<= 0 main_~x~0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= main_~x~0 2))} is VALID [2022-04-27 13:13:22,304 INFO L290 TraceCheckUtils]: 35: Hoare triple {23943#(and (= main_~s~0 0) (< main_~x~0 main_~y~0) (<= 0 main_~x~0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= main_~x~0 2))} assume !false; {23943#(and (= main_~s~0 0) (< main_~x~0 main_~y~0) (<= 0 main_~x~0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= main_~x~0 2))} is VALID [2022-04-27 13:13:22,304 INFO L290 TraceCheckUtils]: 36: Hoare triple {23943#(and (= main_~s~0 0) (< main_~x~0 main_~y~0) (<= 0 main_~x~0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= main_~x~0 2))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {23943#(and (= main_~s~0 0) (< main_~x~0 main_~y~0) (<= 0 main_~x~0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= main_~x~0 2))} is VALID [2022-04-27 13:13:22,305 INFO L290 TraceCheckUtils]: 37: Hoare triple {23943#(and (= main_~s~0 0) (< main_~x~0 main_~y~0) (<= 0 main_~x~0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= main_~x~0 2))} assume !false; {23943#(and (= main_~s~0 0) (< main_~x~0 main_~y~0) (<= 0 main_~x~0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= main_~x~0 2))} is VALID [2022-04-27 13:13:22,305 INFO L272 TraceCheckUtils]: 38: Hoare triple {23943#(and (= main_~s~0 0) (< main_~x~0 main_~y~0) (<= 0 main_~x~0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= main_~x~0 2))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {23836#true} is VALID [2022-04-27 13:13:22,305 INFO L290 TraceCheckUtils]: 39: Hoare triple {23836#true} ~cond := #in~cond; {23836#true} is VALID [2022-04-27 13:13:22,305 INFO L290 TraceCheckUtils]: 40: Hoare triple {23836#true} assume !(0 == ~cond); {23836#true} is VALID [2022-04-27 13:13:22,305 INFO L290 TraceCheckUtils]: 41: Hoare triple {23836#true} assume true; {23836#true} is VALID [2022-04-27 13:13:22,306 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {23836#true} {23943#(and (= main_~s~0 0) (< main_~x~0 main_~y~0) (<= 0 main_~x~0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= main_~x~0 2))} #102#return; {23943#(and (= main_~s~0 0) (< main_~x~0 main_~y~0) (<= 0 main_~x~0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= main_~x~0 2))} is VALID [2022-04-27 13:13:22,306 INFO L272 TraceCheckUtils]: 43: Hoare triple {23943#(and (= main_~s~0 0) (< main_~x~0 main_~y~0) (<= 0 main_~x~0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= main_~x~0 2))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {23836#true} is VALID [2022-04-27 13:13:22,306 INFO L290 TraceCheckUtils]: 44: Hoare triple {23836#true} ~cond := #in~cond; {23836#true} is VALID [2022-04-27 13:13:22,306 INFO L290 TraceCheckUtils]: 45: Hoare triple {23836#true} assume !(0 == ~cond); {23836#true} is VALID [2022-04-27 13:13:22,306 INFO L290 TraceCheckUtils]: 46: Hoare triple {23836#true} assume true; {23836#true} is VALID [2022-04-27 13:13:22,306 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {23836#true} {23943#(and (= main_~s~0 0) (< main_~x~0 main_~y~0) (<= 0 main_~x~0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= main_~x~0 2))} #104#return; {23943#(and (= main_~s~0 0) (< main_~x~0 main_~y~0) (<= 0 main_~x~0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= main_~x~0 2))} is VALID [2022-04-27 13:13:22,307 INFO L272 TraceCheckUtils]: 48: Hoare triple {23943#(and (= main_~s~0 0) (< main_~x~0 main_~y~0) (<= 0 main_~x~0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= main_~x~0 2))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {23836#true} is VALID [2022-04-27 13:13:22,307 INFO L290 TraceCheckUtils]: 49: Hoare triple {23836#true} ~cond := #in~cond; {23836#true} is VALID [2022-04-27 13:13:22,307 INFO L290 TraceCheckUtils]: 50: Hoare triple {23836#true} assume !(0 == ~cond); {23836#true} is VALID [2022-04-27 13:13:22,307 INFO L290 TraceCheckUtils]: 51: Hoare triple {23836#true} assume true; {23836#true} is VALID [2022-04-27 13:13:22,307 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {23836#true} {23943#(and (= main_~s~0 0) (< main_~x~0 main_~y~0) (<= 0 main_~x~0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= main_~x~0 2))} #106#return; {23943#(and (= main_~s~0 0) (< main_~x~0 main_~y~0) (<= 0 main_~x~0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= main_~x~0 2))} is VALID [2022-04-27 13:13:22,307 INFO L272 TraceCheckUtils]: 53: Hoare triple {23943#(and (= main_~s~0 0) (< main_~x~0 main_~y~0) (<= 0 main_~x~0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= main_~x~0 2))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {23836#true} is VALID [2022-04-27 13:13:22,307 INFO L290 TraceCheckUtils]: 54: Hoare triple {23836#true} ~cond := #in~cond; {23836#true} is VALID [2022-04-27 13:13:22,307 INFO L290 TraceCheckUtils]: 55: Hoare triple {23836#true} assume !(0 == ~cond); {23836#true} is VALID [2022-04-27 13:13:22,308 INFO L290 TraceCheckUtils]: 56: Hoare triple {23836#true} assume true; {23836#true} is VALID [2022-04-27 13:13:22,308 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {23836#true} {23943#(and (= main_~s~0 0) (< main_~x~0 main_~y~0) (<= 0 main_~x~0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= main_~x~0 2))} #108#return; {23943#(and (= main_~s~0 0) (< main_~x~0 main_~y~0) (<= 0 main_~x~0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= main_~x~0 2))} is VALID [2022-04-27 13:13:22,309 INFO L290 TraceCheckUtils]: 58: Hoare triple {23943#(and (= main_~s~0 0) (< main_~x~0 main_~y~0) (<= 0 main_~x~0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= main_~x~0 2))} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {23943#(and (= main_~s~0 0) (< main_~x~0 main_~y~0) (<= 0 main_~x~0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= main_~x~0 2))} is VALID [2022-04-27 13:13:22,309 INFO L290 TraceCheckUtils]: 59: Hoare triple {23943#(and (= main_~s~0 0) (< main_~x~0 main_~y~0) (<= 0 main_~x~0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= main_~x~0 2))} assume !false; {23943#(and (= main_~s~0 0) (< main_~x~0 main_~y~0) (<= 0 main_~x~0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= main_~x~0 2))} is VALID [2022-04-27 13:13:22,309 INFO L272 TraceCheckUtils]: 60: Hoare triple {23943#(and (= main_~s~0 0) (< main_~x~0 main_~y~0) (<= 0 main_~x~0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= main_~x~0 2))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {23836#true} is VALID [2022-04-27 13:13:22,309 INFO L290 TraceCheckUtils]: 61: Hoare triple {23836#true} ~cond := #in~cond; {23836#true} is VALID [2022-04-27 13:13:22,309 INFO L290 TraceCheckUtils]: 62: Hoare triple {23836#true} assume !(0 == ~cond); {23836#true} is VALID [2022-04-27 13:13:22,309 INFO L290 TraceCheckUtils]: 63: Hoare triple {23836#true} assume true; {23836#true} is VALID [2022-04-27 13:13:22,310 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {23836#true} {23943#(and (= main_~s~0 0) (< main_~x~0 main_~y~0) (<= 0 main_~x~0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= main_~x~0 2))} #102#return; {23943#(and (= main_~s~0 0) (< main_~x~0 main_~y~0) (<= 0 main_~x~0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= main_~x~0 2))} is VALID [2022-04-27 13:13:22,310 INFO L272 TraceCheckUtils]: 65: Hoare triple {23943#(and (= main_~s~0 0) (< main_~x~0 main_~y~0) (<= 0 main_~x~0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= main_~x~0 2))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {23836#true} is VALID [2022-04-27 13:13:22,310 INFO L290 TraceCheckUtils]: 66: Hoare triple {23836#true} ~cond := #in~cond; {23836#true} is VALID [2022-04-27 13:13:22,310 INFO L290 TraceCheckUtils]: 67: Hoare triple {23836#true} assume !(0 == ~cond); {23836#true} is VALID [2022-04-27 13:13:22,310 INFO L290 TraceCheckUtils]: 68: Hoare triple {23836#true} assume true; {23836#true} is VALID [2022-04-27 13:13:22,311 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {23836#true} {23943#(and (= main_~s~0 0) (< main_~x~0 main_~y~0) (<= 0 main_~x~0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= main_~x~0 2))} #104#return; {23943#(and (= main_~s~0 0) (< main_~x~0 main_~y~0) (<= 0 main_~x~0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= main_~x~0 2))} is VALID [2022-04-27 13:13:22,311 INFO L272 TraceCheckUtils]: 70: Hoare triple {23943#(and (= main_~s~0 0) (< main_~x~0 main_~y~0) (<= 0 main_~x~0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= main_~x~0 2))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {23836#true} is VALID [2022-04-27 13:13:22,311 INFO L290 TraceCheckUtils]: 71: Hoare triple {23836#true} ~cond := #in~cond; {23836#true} is VALID [2022-04-27 13:13:22,311 INFO L290 TraceCheckUtils]: 72: Hoare triple {23836#true} assume !(0 == ~cond); {23836#true} is VALID [2022-04-27 13:13:22,311 INFO L290 TraceCheckUtils]: 73: Hoare triple {23836#true} assume true; {23836#true} is VALID [2022-04-27 13:13:22,312 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {23836#true} {23943#(and (= main_~s~0 0) (< main_~x~0 main_~y~0) (<= 0 main_~x~0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= main_~x~0 2))} #106#return; {23943#(and (= main_~s~0 0) (< main_~x~0 main_~y~0) (<= 0 main_~x~0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= main_~x~0 2))} is VALID [2022-04-27 13:13:22,312 INFO L272 TraceCheckUtils]: 75: Hoare triple {23943#(and (= main_~s~0 0) (< main_~x~0 main_~y~0) (<= 0 main_~x~0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= main_~x~0 2))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {23836#true} is VALID [2022-04-27 13:13:22,312 INFO L290 TraceCheckUtils]: 76: Hoare triple {23836#true} ~cond := #in~cond; {23836#true} is VALID [2022-04-27 13:13:22,312 INFO L290 TraceCheckUtils]: 77: Hoare triple {23836#true} assume !(0 == ~cond); {23836#true} is VALID [2022-04-27 13:13:22,312 INFO L290 TraceCheckUtils]: 78: Hoare triple {23836#true} assume true; {23836#true} is VALID [2022-04-27 13:13:22,313 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {23836#true} {23943#(and (= main_~s~0 0) (< main_~x~0 main_~y~0) (<= 0 main_~x~0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= main_~x~0 2))} #108#return; {23943#(and (= main_~s~0 0) (< main_~x~0 main_~y~0) (<= 0 main_~x~0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= main_~x~0 2))} is VALID [2022-04-27 13:13:22,313 INFO L290 TraceCheckUtils]: 80: Hoare triple {23943#(and (= main_~s~0 0) (< main_~x~0 main_~y~0) (<= 0 main_~x~0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= main_~x~0 2))} assume !(~c~0 >= 2 * ~v~0); {23943#(and (= main_~s~0 0) (< main_~x~0 main_~y~0) (<= 0 main_~x~0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= main_~x~0 2))} is VALID [2022-04-27 13:13:22,314 INFO L290 TraceCheckUtils]: 81: Hoare triple {23943#(and (= main_~s~0 0) (< main_~x~0 main_~y~0) (<= 0 main_~x~0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= main_~x~0 2))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {23943#(and (= main_~s~0 0) (< main_~x~0 main_~y~0) (<= 0 main_~x~0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= main_~x~0 2))} is VALID [2022-04-27 13:13:22,314 INFO L290 TraceCheckUtils]: 82: Hoare triple {23943#(and (= main_~s~0 0) (< main_~x~0 main_~y~0) (<= 0 main_~x~0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= main_~x~0 2))} assume !false; {23943#(and (= main_~s~0 0) (< main_~x~0 main_~y~0) (<= 0 main_~x~0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= main_~x~0 2))} is VALID [2022-04-27 13:13:22,315 INFO L290 TraceCheckUtils]: 83: Hoare triple {23943#(and (= main_~s~0 0) (< main_~x~0 main_~y~0) (<= 0 main_~x~0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= main_~x~0 2))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {24097#(and (<= main_~v~0 main_~b~0) (= main_~s~0 0) (< main_~x~0 main_~y~0) (<= 0 main_~x~0) (= main_~b~0 main_~x~0) (<= main_~b~0 main_~c~0) (= main_~q~0 1) (<= main_~x~0 2))} is VALID [2022-04-27 13:13:22,315 INFO L290 TraceCheckUtils]: 84: Hoare triple {24097#(and (<= main_~v~0 main_~b~0) (= main_~s~0 0) (< main_~x~0 main_~y~0) (<= 0 main_~x~0) (= main_~b~0 main_~x~0) (<= main_~b~0 main_~c~0) (= main_~q~0 1) (<= main_~x~0 2))} assume !false; {24097#(and (<= main_~v~0 main_~b~0) (= main_~s~0 0) (< main_~x~0 main_~y~0) (<= 0 main_~x~0) (= main_~b~0 main_~x~0) (<= main_~b~0 main_~c~0) (= main_~q~0 1) (<= main_~x~0 2))} is VALID [2022-04-27 13:13:22,315 INFO L272 TraceCheckUtils]: 85: Hoare triple {24097#(and (<= main_~v~0 main_~b~0) (= main_~s~0 0) (< main_~x~0 main_~y~0) (<= 0 main_~x~0) (= main_~b~0 main_~x~0) (<= main_~b~0 main_~c~0) (= main_~q~0 1) (<= main_~x~0 2))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {23836#true} is VALID [2022-04-27 13:13:22,315 INFO L290 TraceCheckUtils]: 86: Hoare triple {23836#true} ~cond := #in~cond; {23836#true} is VALID [2022-04-27 13:13:22,315 INFO L290 TraceCheckUtils]: 87: Hoare triple {23836#true} assume !(0 == ~cond); {23836#true} is VALID [2022-04-27 13:13:22,315 INFO L290 TraceCheckUtils]: 88: Hoare triple {23836#true} assume true; {23836#true} is VALID [2022-04-27 13:13:22,316 INFO L284 TraceCheckUtils]: 89: Hoare quadruple {23836#true} {24097#(and (<= main_~v~0 main_~b~0) (= main_~s~0 0) (< main_~x~0 main_~y~0) (<= 0 main_~x~0) (= main_~b~0 main_~x~0) (<= main_~b~0 main_~c~0) (= main_~q~0 1) (<= main_~x~0 2))} #102#return; {24097#(and (<= main_~v~0 main_~b~0) (= main_~s~0 0) (< main_~x~0 main_~y~0) (<= 0 main_~x~0) (= main_~b~0 main_~x~0) (<= main_~b~0 main_~c~0) (= main_~q~0 1) (<= main_~x~0 2))} is VALID [2022-04-27 13:13:22,316 INFO L272 TraceCheckUtils]: 90: Hoare triple {24097#(and (<= main_~v~0 main_~b~0) (= main_~s~0 0) (< main_~x~0 main_~y~0) (<= 0 main_~x~0) (= main_~b~0 main_~x~0) (<= main_~b~0 main_~c~0) (= main_~q~0 1) (<= main_~x~0 2))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {23836#true} is VALID [2022-04-27 13:13:22,316 INFO L290 TraceCheckUtils]: 91: Hoare triple {23836#true} ~cond := #in~cond; {23836#true} is VALID [2022-04-27 13:13:22,316 INFO L290 TraceCheckUtils]: 92: Hoare triple {23836#true} assume !(0 == ~cond); {23836#true} is VALID [2022-04-27 13:13:22,316 INFO L290 TraceCheckUtils]: 93: Hoare triple {23836#true} assume true; {23836#true} is VALID [2022-04-27 13:13:22,317 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {23836#true} {24097#(and (<= main_~v~0 main_~b~0) (= main_~s~0 0) (< main_~x~0 main_~y~0) (<= 0 main_~x~0) (= main_~b~0 main_~x~0) (<= main_~b~0 main_~c~0) (= main_~q~0 1) (<= main_~x~0 2))} #104#return; {24097#(and (<= main_~v~0 main_~b~0) (= main_~s~0 0) (< main_~x~0 main_~y~0) (<= 0 main_~x~0) (= main_~b~0 main_~x~0) (<= main_~b~0 main_~c~0) (= main_~q~0 1) (<= main_~x~0 2))} is VALID [2022-04-27 13:13:22,317 INFO L272 TraceCheckUtils]: 95: Hoare triple {24097#(and (<= main_~v~0 main_~b~0) (= main_~s~0 0) (< main_~x~0 main_~y~0) (<= 0 main_~x~0) (= main_~b~0 main_~x~0) (<= main_~b~0 main_~c~0) (= main_~q~0 1) (<= main_~x~0 2))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {23836#true} is VALID [2022-04-27 13:13:22,317 INFO L290 TraceCheckUtils]: 96: Hoare triple {23836#true} ~cond := #in~cond; {23836#true} is VALID [2022-04-27 13:13:22,317 INFO L290 TraceCheckUtils]: 97: Hoare triple {23836#true} assume !(0 == ~cond); {23836#true} is VALID [2022-04-27 13:13:22,317 INFO L290 TraceCheckUtils]: 98: Hoare triple {23836#true} assume true; {23836#true} is VALID [2022-04-27 13:13:22,318 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {23836#true} {24097#(and (<= main_~v~0 main_~b~0) (= main_~s~0 0) (< main_~x~0 main_~y~0) (<= 0 main_~x~0) (= main_~b~0 main_~x~0) (<= main_~b~0 main_~c~0) (= main_~q~0 1) (<= main_~x~0 2))} #106#return; {24097#(and (<= main_~v~0 main_~b~0) (= main_~s~0 0) (< main_~x~0 main_~y~0) (<= 0 main_~x~0) (= main_~b~0 main_~x~0) (<= main_~b~0 main_~c~0) (= main_~q~0 1) (<= main_~x~0 2))} is VALID [2022-04-27 13:13:22,318 INFO L272 TraceCheckUtils]: 100: Hoare triple {24097#(and (<= main_~v~0 main_~b~0) (= main_~s~0 0) (< main_~x~0 main_~y~0) (<= 0 main_~x~0) (= main_~b~0 main_~x~0) (<= main_~b~0 main_~c~0) (= main_~q~0 1) (<= main_~x~0 2))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {23836#true} is VALID [2022-04-27 13:13:22,318 INFO L290 TraceCheckUtils]: 101: Hoare triple {23836#true} ~cond := #in~cond; {23836#true} is VALID [2022-04-27 13:13:22,318 INFO L290 TraceCheckUtils]: 102: Hoare triple {23836#true} assume !(0 == ~cond); {23836#true} is VALID [2022-04-27 13:13:22,318 INFO L290 TraceCheckUtils]: 103: Hoare triple {23836#true} assume true; {23836#true} is VALID [2022-04-27 13:13:22,319 INFO L284 TraceCheckUtils]: 104: Hoare quadruple {23836#true} {24097#(and (<= main_~v~0 main_~b~0) (= main_~s~0 0) (< main_~x~0 main_~y~0) (<= 0 main_~x~0) (= main_~b~0 main_~x~0) (<= main_~b~0 main_~c~0) (= main_~q~0 1) (<= main_~x~0 2))} #108#return; {24097#(and (<= main_~v~0 main_~b~0) (= main_~s~0 0) (< main_~x~0 main_~y~0) (<= 0 main_~x~0) (= main_~b~0 main_~x~0) (<= main_~b~0 main_~c~0) (= main_~q~0 1) (<= main_~x~0 2))} is VALID [2022-04-27 13:13:22,319 INFO L290 TraceCheckUtils]: 105: Hoare triple {24097#(and (<= main_~v~0 main_~b~0) (= main_~s~0 0) (< main_~x~0 main_~y~0) (<= 0 main_~x~0) (= main_~b~0 main_~x~0) (<= main_~b~0 main_~c~0) (= main_~q~0 1) (<= main_~x~0 2))} assume !(~c~0 >= 2 * ~v~0); {24097#(and (<= main_~v~0 main_~b~0) (= main_~s~0 0) (< main_~x~0 main_~y~0) (<= 0 main_~x~0) (= main_~b~0 main_~x~0) (<= main_~b~0 main_~c~0) (= main_~q~0 1) (<= main_~x~0 2))} is VALID [2022-04-27 13:13:22,320 INFO L290 TraceCheckUtils]: 106: Hoare triple {24097#(and (<= main_~v~0 main_~b~0) (= main_~s~0 0) (< main_~x~0 main_~y~0) (<= 0 main_~x~0) (= main_~b~0 main_~x~0) (<= main_~b~0 main_~c~0) (= main_~q~0 1) (<= main_~x~0 2))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {24167#(and (= main_~s~0 0) (< main_~x~0 main_~y~0) (<= 0 main_~x~0) (<= 0 main_~c~0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= main_~x~0 2))} is VALID [2022-04-27 13:13:22,320 INFO L290 TraceCheckUtils]: 107: Hoare triple {24167#(and (= main_~s~0 0) (< main_~x~0 main_~y~0) (<= 0 main_~x~0) (<= 0 main_~c~0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= main_~x~0 2))} assume !false; {24167#(and (= main_~s~0 0) (< main_~x~0 main_~y~0) (<= 0 main_~x~0) (<= 0 main_~c~0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= main_~x~0 2))} is VALID [2022-04-27 13:13:22,321 INFO L290 TraceCheckUtils]: 108: Hoare triple {24167#(and (= main_~s~0 0) (< main_~x~0 main_~y~0) (<= 0 main_~x~0) (<= 0 main_~c~0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= main_~x~0 2))} assume !(~c~0 >= ~b~0); {24174#(and (= main_~s~0 0) (< main_~x~0 main_~y~0) (<= 0 main_~c~0) (= main_~b~0 main_~x~0) (< main_~c~0 main_~b~0) (= main_~q~0 1) (<= main_~x~0 2))} is VALID [2022-04-27 13:13:22,321 INFO L290 TraceCheckUtils]: 109: Hoare triple {24174#(and (= main_~s~0 0) (< main_~x~0 main_~y~0) (<= 0 main_~c~0) (= main_~b~0 main_~x~0) (< main_~c~0 main_~b~0) (= main_~q~0 1) (<= main_~x~0 2))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {24178#(and (= main_~r~0 0) (< main_~b~0 main_~x~0) (< main_~x~0 main_~y~0) (<= 0 main_~b~0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-27 13:13:22,322 INFO L290 TraceCheckUtils]: 110: Hoare triple {24178#(and (= main_~r~0 0) (< main_~b~0 main_~x~0) (< main_~x~0 main_~y~0) (<= 0 main_~b~0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} assume !false; {24178#(and (= main_~r~0 0) (< main_~b~0 main_~x~0) (< main_~x~0 main_~y~0) (<= 0 main_~b~0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-27 13:13:22,323 INFO L290 TraceCheckUtils]: 111: Hoare triple {24178#(and (= main_~r~0 0) (< main_~b~0 main_~x~0) (< main_~x~0 main_~y~0) (<= 0 main_~b~0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {24185#(and (= main_~r~0 0) (< main_~x~0 main_~y~0) (< 1 main_~x~0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-27 13:13:22,323 INFO L290 TraceCheckUtils]: 112: Hoare triple {24185#(and (= main_~r~0 0) (< main_~x~0 main_~y~0) (< 1 main_~x~0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} assume !false; {24185#(and (= main_~r~0 0) (< main_~x~0 main_~y~0) (< 1 main_~x~0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-27 13:13:22,324 INFO L290 TraceCheckUtils]: 113: Hoare triple {24185#(and (= main_~r~0 0) (< main_~x~0 main_~y~0) (< 1 main_~x~0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {24185#(and (= main_~r~0 0) (< main_~x~0 main_~y~0) (< 1 main_~x~0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-27 13:13:22,324 INFO L290 TraceCheckUtils]: 114: Hoare triple {24185#(and (= main_~r~0 0) (< main_~x~0 main_~y~0) (< 1 main_~x~0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} assume !false; {24185#(and (= main_~r~0 0) (< main_~x~0 main_~y~0) (< 1 main_~x~0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-27 13:13:22,325 INFO L272 TraceCheckUtils]: 115: Hoare triple {24185#(and (= main_~r~0 0) (< main_~x~0 main_~y~0) (< 1 main_~x~0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {24198#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:13:22,325 INFO L290 TraceCheckUtils]: 116: Hoare triple {24198#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {24202#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:13:22,325 INFO L290 TraceCheckUtils]: 117: Hoare triple {24202#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {23837#false} is VALID [2022-04-27 13:13:22,325 INFO L290 TraceCheckUtils]: 118: Hoare triple {23837#false} assume !false; {23837#false} is VALID [2022-04-27 13:13:22,326 INFO L134 CoverageAnalysis]: Checked inductivity of 364 backedges. 41 proven. 36 refuted. 0 times theorem prover too weak. 287 trivial. 0 not checked. [2022-04-27 13:13:22,326 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:13:23,406 INFO L290 TraceCheckUtils]: 118: Hoare triple {23837#false} assume !false; {23837#false} is VALID [2022-04-27 13:13:23,407 INFO L290 TraceCheckUtils]: 117: Hoare triple {24202#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {23837#false} is VALID [2022-04-27 13:13:23,407 INFO L290 TraceCheckUtils]: 116: Hoare triple {24198#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {24202#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:13:23,407 INFO L272 TraceCheckUtils]: 115: Hoare triple {24218#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {24198#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:13:23,408 INFO L290 TraceCheckUtils]: 114: Hoare triple {24218#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {24218#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-27 13:13:23,408 INFO L290 TraceCheckUtils]: 113: Hoare triple {24218#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {24218#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-27 13:13:23,408 INFO L290 TraceCheckUtils]: 112: Hoare triple {24218#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {24218#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-27 13:13:23,409 INFO L290 TraceCheckUtils]: 111: Hoare triple {24231#(or (= main_~b~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {24218#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-27 13:13:23,409 INFO L290 TraceCheckUtils]: 110: Hoare triple {24231#(or (= main_~b~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} assume !false; {24231#(or (= main_~b~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-27 13:13:23,410 INFO L290 TraceCheckUtils]: 109: Hoare triple {24238#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~c~0 0))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {24231#(or (= main_~b~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-27 13:13:23,410 INFO L290 TraceCheckUtils]: 108: Hoare triple {24242#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~b~0 main_~c~0) (= main_~c~0 0))} assume !(~c~0 >= ~b~0); {24238#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~c~0 0))} is VALID [2022-04-27 13:13:23,410 INFO L290 TraceCheckUtils]: 107: Hoare triple {24242#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~b~0 main_~c~0) (= main_~c~0 0))} assume !false; {24242#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~b~0 main_~c~0) (= main_~c~0 0))} is VALID [2022-04-27 13:13:23,411 INFO L290 TraceCheckUtils]: 106: Hoare triple {24249#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (and (or (<= (+ main_~b~0 main_~v~0) main_~c~0) (<= main_~v~0 main_~c~0)) (or (<= (+ main_~b~0 main_~v~0) main_~c~0) (<= main_~b~0 1))))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {24242#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~b~0 main_~c~0) (= main_~c~0 0))} is VALID [2022-04-27 13:13:23,413 INFO L290 TraceCheckUtils]: 105: Hoare triple {24249#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (and (or (<= (+ main_~b~0 main_~v~0) main_~c~0) (<= main_~v~0 main_~c~0)) (or (<= (+ main_~b~0 main_~v~0) main_~c~0) (<= main_~b~0 1))))} assume !(~c~0 >= 2 * ~v~0); {24249#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (and (or (<= (+ main_~b~0 main_~v~0) main_~c~0) (<= main_~v~0 main_~c~0)) (or (<= (+ main_~b~0 main_~v~0) main_~c~0) (<= main_~b~0 1))))} is VALID [2022-04-27 13:13:23,413 INFO L284 TraceCheckUtils]: 104: Hoare quadruple {23836#true} {24249#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (and (or (<= (+ main_~b~0 main_~v~0) main_~c~0) (<= main_~v~0 main_~c~0)) (or (<= (+ main_~b~0 main_~v~0) main_~c~0) (<= main_~b~0 1))))} #108#return; {24249#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (and (or (<= (+ main_~b~0 main_~v~0) main_~c~0) (<= main_~v~0 main_~c~0)) (or (<= (+ main_~b~0 main_~v~0) main_~c~0) (<= main_~b~0 1))))} is VALID [2022-04-27 13:13:23,413 INFO L290 TraceCheckUtils]: 103: Hoare triple {23836#true} assume true; {23836#true} is VALID [2022-04-27 13:13:23,413 INFO L290 TraceCheckUtils]: 102: Hoare triple {23836#true} assume !(0 == ~cond); {23836#true} is VALID [2022-04-27 13:13:23,414 INFO L290 TraceCheckUtils]: 101: Hoare triple {23836#true} ~cond := #in~cond; {23836#true} is VALID [2022-04-27 13:13:23,414 INFO L272 TraceCheckUtils]: 100: Hoare triple {24249#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (and (or (<= (+ main_~b~0 main_~v~0) main_~c~0) (<= main_~v~0 main_~c~0)) (or (<= (+ main_~b~0 main_~v~0) main_~c~0) (<= main_~b~0 1))))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {23836#true} is VALID [2022-04-27 13:13:23,414 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {23836#true} {24249#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (and (or (<= (+ main_~b~0 main_~v~0) main_~c~0) (<= main_~v~0 main_~c~0)) (or (<= (+ main_~b~0 main_~v~0) main_~c~0) (<= main_~b~0 1))))} #106#return; {24249#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (and (or (<= (+ main_~b~0 main_~v~0) main_~c~0) (<= main_~v~0 main_~c~0)) (or (<= (+ main_~b~0 main_~v~0) main_~c~0) (<= main_~b~0 1))))} is VALID [2022-04-27 13:13:23,414 INFO L290 TraceCheckUtils]: 98: Hoare triple {23836#true} assume true; {23836#true} is VALID [2022-04-27 13:13:23,414 INFO L290 TraceCheckUtils]: 97: Hoare triple {23836#true} assume !(0 == ~cond); {23836#true} is VALID [2022-04-27 13:13:23,414 INFO L290 TraceCheckUtils]: 96: Hoare triple {23836#true} ~cond := #in~cond; {23836#true} is VALID [2022-04-27 13:13:23,414 INFO L272 TraceCheckUtils]: 95: Hoare triple {24249#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (and (or (<= (+ main_~b~0 main_~v~0) main_~c~0) (<= main_~v~0 main_~c~0)) (or (<= (+ main_~b~0 main_~v~0) main_~c~0) (<= main_~b~0 1))))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {23836#true} is VALID [2022-04-27 13:13:23,415 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {23836#true} {24249#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (and (or (<= (+ main_~b~0 main_~v~0) main_~c~0) (<= main_~v~0 main_~c~0)) (or (<= (+ main_~b~0 main_~v~0) main_~c~0) (<= main_~b~0 1))))} #104#return; {24249#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (and (or (<= (+ main_~b~0 main_~v~0) main_~c~0) (<= main_~v~0 main_~c~0)) (or (<= (+ main_~b~0 main_~v~0) main_~c~0) (<= main_~b~0 1))))} is VALID [2022-04-27 13:13:23,415 INFO L290 TraceCheckUtils]: 93: Hoare triple {23836#true} assume true; {23836#true} is VALID [2022-04-27 13:13:23,415 INFO L290 TraceCheckUtils]: 92: Hoare triple {23836#true} assume !(0 == ~cond); {23836#true} is VALID [2022-04-27 13:13:23,415 INFO L290 TraceCheckUtils]: 91: Hoare triple {23836#true} ~cond := #in~cond; {23836#true} is VALID [2022-04-27 13:13:23,415 INFO L272 TraceCheckUtils]: 90: Hoare triple {24249#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (and (or (<= (+ main_~b~0 main_~v~0) main_~c~0) (<= main_~v~0 main_~c~0)) (or (<= (+ main_~b~0 main_~v~0) main_~c~0) (<= main_~b~0 1))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {23836#true} is VALID [2022-04-27 13:13:23,416 INFO L284 TraceCheckUtils]: 89: Hoare quadruple {23836#true} {24249#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (and (or (<= (+ main_~b~0 main_~v~0) main_~c~0) (<= main_~v~0 main_~c~0)) (or (<= (+ main_~b~0 main_~v~0) main_~c~0) (<= main_~b~0 1))))} #102#return; {24249#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (and (or (<= (+ main_~b~0 main_~v~0) main_~c~0) (<= main_~v~0 main_~c~0)) (or (<= (+ main_~b~0 main_~v~0) main_~c~0) (<= main_~b~0 1))))} is VALID [2022-04-27 13:13:23,416 INFO L290 TraceCheckUtils]: 88: Hoare triple {23836#true} assume true; {23836#true} is VALID [2022-04-27 13:13:23,416 INFO L290 TraceCheckUtils]: 87: Hoare triple {23836#true} assume !(0 == ~cond); {23836#true} is VALID [2022-04-27 13:13:23,416 INFO L290 TraceCheckUtils]: 86: Hoare triple {23836#true} ~cond := #in~cond; {23836#true} is VALID [2022-04-27 13:13:23,416 INFO L272 TraceCheckUtils]: 85: Hoare triple {24249#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (and (or (<= (+ main_~b~0 main_~v~0) main_~c~0) (<= main_~v~0 main_~c~0)) (or (<= (+ main_~b~0 main_~v~0) main_~c~0) (<= main_~b~0 1))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {23836#true} is VALID [2022-04-27 13:13:23,417 INFO L290 TraceCheckUtils]: 84: Hoare triple {24249#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (and (or (<= (+ main_~b~0 main_~v~0) main_~c~0) (<= main_~v~0 main_~c~0)) (or (<= (+ main_~b~0 main_~v~0) main_~c~0) (<= main_~b~0 1))))} assume !false; {24249#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (and (or (<= (+ main_~b~0 main_~v~0) main_~c~0) (<= main_~v~0 main_~c~0)) (or (<= (+ main_~b~0 main_~v~0) main_~c~0) (<= main_~b~0 1))))} is VALID [2022-04-27 13:13:23,418 INFO L290 TraceCheckUtils]: 83: Hoare triple {24319#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~b~0 1))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {24249#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (and (or (<= (+ main_~b~0 main_~v~0) main_~c~0) (<= main_~v~0 main_~c~0)) (or (<= (+ main_~b~0 main_~v~0) main_~c~0) (<= main_~b~0 1))))} is VALID [2022-04-27 13:13:23,418 INFO L290 TraceCheckUtils]: 82: Hoare triple {24319#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~b~0 1))} assume !false; {24319#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~b~0 1))} is VALID [2022-04-27 13:13:23,418 INFO L290 TraceCheckUtils]: 81: Hoare triple {24319#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~b~0 1))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {24319#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~b~0 1))} is VALID [2022-04-27 13:13:23,419 INFO L290 TraceCheckUtils]: 80: Hoare triple {24319#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~b~0 1))} assume !(~c~0 >= 2 * ~v~0); {24319#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~b~0 1))} is VALID [2022-04-27 13:13:23,419 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {23836#true} {24319#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~b~0 1))} #108#return; {24319#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~b~0 1))} is VALID [2022-04-27 13:13:23,419 INFO L290 TraceCheckUtils]: 78: Hoare triple {23836#true} assume true; {23836#true} is VALID [2022-04-27 13:13:23,419 INFO L290 TraceCheckUtils]: 77: Hoare triple {23836#true} assume !(0 == ~cond); {23836#true} is VALID [2022-04-27 13:13:23,419 INFO L290 TraceCheckUtils]: 76: Hoare triple {23836#true} ~cond := #in~cond; {23836#true} is VALID [2022-04-27 13:13:23,419 INFO L272 TraceCheckUtils]: 75: Hoare triple {24319#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~b~0 1))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {23836#true} is VALID [2022-04-27 13:13:23,420 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {23836#true} {24319#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~b~0 1))} #106#return; {24319#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~b~0 1))} is VALID [2022-04-27 13:13:23,420 INFO L290 TraceCheckUtils]: 73: Hoare triple {23836#true} assume true; {23836#true} is VALID [2022-04-27 13:13:23,420 INFO L290 TraceCheckUtils]: 72: Hoare triple {23836#true} assume !(0 == ~cond); {23836#true} is VALID [2022-04-27 13:13:23,420 INFO L290 TraceCheckUtils]: 71: Hoare triple {23836#true} ~cond := #in~cond; {23836#true} is VALID [2022-04-27 13:13:23,420 INFO L272 TraceCheckUtils]: 70: Hoare triple {24319#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~b~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {23836#true} is VALID [2022-04-27 13:13:23,421 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {23836#true} {24319#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~b~0 1))} #104#return; {24319#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~b~0 1))} is VALID [2022-04-27 13:13:23,421 INFO L290 TraceCheckUtils]: 68: Hoare triple {23836#true} assume true; {23836#true} is VALID [2022-04-27 13:13:23,421 INFO L290 TraceCheckUtils]: 67: Hoare triple {23836#true} assume !(0 == ~cond); {23836#true} is VALID [2022-04-27 13:13:23,421 INFO L290 TraceCheckUtils]: 66: Hoare triple {23836#true} ~cond := #in~cond; {23836#true} is VALID [2022-04-27 13:13:23,421 INFO L272 TraceCheckUtils]: 65: Hoare triple {24319#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~b~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {23836#true} is VALID [2022-04-27 13:13:23,422 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {23836#true} {24319#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~b~0 1))} #102#return; {24319#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~b~0 1))} is VALID [2022-04-27 13:13:23,422 INFO L290 TraceCheckUtils]: 63: Hoare triple {23836#true} assume true; {23836#true} is VALID [2022-04-27 13:13:23,422 INFO L290 TraceCheckUtils]: 62: Hoare triple {23836#true} assume !(0 == ~cond); {23836#true} is VALID [2022-04-27 13:13:23,422 INFO L290 TraceCheckUtils]: 61: Hoare triple {23836#true} ~cond := #in~cond; {23836#true} is VALID [2022-04-27 13:13:23,422 INFO L272 TraceCheckUtils]: 60: Hoare triple {24319#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~b~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {23836#true} is VALID [2022-04-27 13:13:23,422 INFO L290 TraceCheckUtils]: 59: Hoare triple {24319#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~b~0 1))} assume !false; {24319#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~b~0 1))} is VALID [2022-04-27 13:13:23,423 INFO L290 TraceCheckUtils]: 58: Hoare triple {24319#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~b~0 1))} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {24319#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~b~0 1))} is VALID [2022-04-27 13:13:23,423 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {23836#true} {24319#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~b~0 1))} #108#return; {24319#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~b~0 1))} is VALID [2022-04-27 13:13:23,423 INFO L290 TraceCheckUtils]: 56: Hoare triple {23836#true} assume true; {23836#true} is VALID [2022-04-27 13:13:23,423 INFO L290 TraceCheckUtils]: 55: Hoare triple {23836#true} assume !(0 == ~cond); {23836#true} is VALID [2022-04-27 13:13:23,423 INFO L290 TraceCheckUtils]: 54: Hoare triple {23836#true} ~cond := #in~cond; {23836#true} is VALID [2022-04-27 13:13:23,423 INFO L272 TraceCheckUtils]: 53: Hoare triple {24319#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~b~0 1))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {23836#true} is VALID [2022-04-27 13:13:23,424 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {23836#true} {24319#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~b~0 1))} #106#return; {24319#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~b~0 1))} is VALID [2022-04-27 13:13:23,424 INFO L290 TraceCheckUtils]: 51: Hoare triple {23836#true} assume true; {23836#true} is VALID [2022-04-27 13:13:23,424 INFO L290 TraceCheckUtils]: 50: Hoare triple {23836#true} assume !(0 == ~cond); {23836#true} is VALID [2022-04-27 13:13:23,424 INFO L290 TraceCheckUtils]: 49: Hoare triple {23836#true} ~cond := #in~cond; {23836#true} is VALID [2022-04-27 13:13:23,424 INFO L272 TraceCheckUtils]: 48: Hoare triple {24319#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~b~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {23836#true} is VALID [2022-04-27 13:13:23,425 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {23836#true} {24319#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~b~0 1))} #104#return; {24319#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~b~0 1))} is VALID [2022-04-27 13:13:23,425 INFO L290 TraceCheckUtils]: 46: Hoare triple {23836#true} assume true; {23836#true} is VALID [2022-04-27 13:13:23,425 INFO L290 TraceCheckUtils]: 45: Hoare triple {23836#true} assume !(0 == ~cond); {23836#true} is VALID [2022-04-27 13:13:23,425 INFO L290 TraceCheckUtils]: 44: Hoare triple {23836#true} ~cond := #in~cond; {23836#true} is VALID [2022-04-27 13:13:23,425 INFO L272 TraceCheckUtils]: 43: Hoare triple {24319#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~b~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {23836#true} is VALID [2022-04-27 13:13:23,426 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {23836#true} {24319#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~b~0 1))} #102#return; {24319#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~b~0 1))} is VALID [2022-04-27 13:13:23,426 INFO L290 TraceCheckUtils]: 41: Hoare triple {23836#true} assume true; {23836#true} is VALID [2022-04-27 13:13:23,426 INFO L290 TraceCheckUtils]: 40: Hoare triple {23836#true} assume !(0 == ~cond); {23836#true} is VALID [2022-04-27 13:13:23,426 INFO L290 TraceCheckUtils]: 39: Hoare triple {23836#true} ~cond := #in~cond; {23836#true} is VALID [2022-04-27 13:13:23,426 INFO L272 TraceCheckUtils]: 38: Hoare triple {24319#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~b~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {23836#true} is VALID [2022-04-27 13:13:23,426 INFO L290 TraceCheckUtils]: 37: Hoare triple {24319#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~b~0 1))} assume !false; {24319#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~b~0 1))} is VALID [2022-04-27 13:13:23,427 INFO L290 TraceCheckUtils]: 36: Hoare triple {24319#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~b~0 1))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {24319#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~b~0 1))} is VALID [2022-04-27 13:13:23,427 INFO L290 TraceCheckUtils]: 35: Hoare triple {24319#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~b~0 1))} assume !false; {24319#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~b~0 1))} is VALID [2022-04-27 13:13:23,427 INFO L290 TraceCheckUtils]: 34: Hoare triple {24319#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~b~0 1))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {24319#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~b~0 1))} is VALID [2022-04-27 13:13:23,428 INFO L290 TraceCheckUtils]: 33: Hoare triple {24319#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~b~0 1))} assume !false; {24319#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~b~0 1))} is VALID [2022-04-27 13:13:23,482 INFO L290 TraceCheckUtils]: 32: Hoare triple {24473#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (<= main_~c~0 1))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {24319#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~b~0 1))} is VALID [2022-04-27 13:13:23,482 INFO L290 TraceCheckUtils]: 31: Hoare triple {24477#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (<= main_~b~0 main_~c~0) (<= main_~c~0 1))} assume !(~c~0 >= ~b~0); {24473#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (<= main_~c~0 1))} is VALID [2022-04-27 13:13:23,483 INFO L290 TraceCheckUtils]: 30: Hoare triple {24477#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (<= main_~b~0 main_~c~0) (<= main_~c~0 1))} assume !false; {24477#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (<= main_~b~0 main_~c~0) (<= main_~c~0 1))} is VALID [2022-04-27 13:13:23,483 INFO L290 TraceCheckUtils]: 29: Hoare triple {24484#(or (<= main_~a~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~b~0 main_~a~0))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {24477#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (<= main_~b~0 main_~c~0) (<= main_~c~0 1))} is VALID [2022-04-27 13:13:23,483 INFO L290 TraceCheckUtils]: 28: Hoare triple {24484#(or (<= main_~a~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~b~0 main_~a~0))} assume !false; {24484#(or (<= main_~a~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~b~0 main_~a~0))} is VALID [2022-04-27 13:13:23,484 INFO L290 TraceCheckUtils]: 27: Hoare triple {23836#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {24484#(or (<= main_~a~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~b~0 main_~a~0))} is VALID [2022-04-27 13:13:23,484 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {23836#true} {23836#true} #100#return; {23836#true} is VALID [2022-04-27 13:13:23,484 INFO L290 TraceCheckUtils]: 25: Hoare triple {23836#true} assume true; {23836#true} is VALID [2022-04-27 13:13:23,484 INFO L290 TraceCheckUtils]: 24: Hoare triple {23836#true} assume !(0 == ~cond); {23836#true} is VALID [2022-04-27 13:13:23,484 INFO L290 TraceCheckUtils]: 23: Hoare triple {23836#true} ~cond := #in~cond; {23836#true} is VALID [2022-04-27 13:13:23,484 INFO L272 TraceCheckUtils]: 22: Hoare triple {23836#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {23836#true} is VALID [2022-04-27 13:13:23,484 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {23836#true} {23836#true} #98#return; {23836#true} is VALID [2022-04-27 13:13:23,484 INFO L290 TraceCheckUtils]: 20: Hoare triple {23836#true} assume true; {23836#true} is VALID [2022-04-27 13:13:23,484 INFO L290 TraceCheckUtils]: 19: Hoare triple {23836#true} assume !(0 == ~cond); {23836#true} is VALID [2022-04-27 13:13:23,484 INFO L290 TraceCheckUtils]: 18: Hoare triple {23836#true} ~cond := #in~cond; {23836#true} is VALID [2022-04-27 13:13:23,484 INFO L272 TraceCheckUtils]: 17: Hoare triple {23836#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {23836#true} is VALID [2022-04-27 13:13:23,484 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {23836#true} {23836#true} #96#return; {23836#true} is VALID [2022-04-27 13:13:23,484 INFO L290 TraceCheckUtils]: 15: Hoare triple {23836#true} assume true; {23836#true} is VALID [2022-04-27 13:13:23,485 INFO L290 TraceCheckUtils]: 14: Hoare triple {23836#true} assume !(0 == ~cond); {23836#true} is VALID [2022-04-27 13:13:23,485 INFO L290 TraceCheckUtils]: 13: Hoare triple {23836#true} ~cond := #in~cond; {23836#true} is VALID [2022-04-27 13:13:23,485 INFO L272 TraceCheckUtils]: 12: Hoare triple {23836#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {23836#true} is VALID [2022-04-27 13:13:23,485 INFO L290 TraceCheckUtils]: 11: Hoare triple {23836#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {23836#true} is VALID [2022-04-27 13:13:23,485 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {23836#true} {23836#true} #94#return; {23836#true} is VALID [2022-04-27 13:13:23,485 INFO L290 TraceCheckUtils]: 9: Hoare triple {23836#true} assume true; {23836#true} is VALID [2022-04-27 13:13:23,485 INFO L290 TraceCheckUtils]: 8: Hoare triple {23836#true} assume !(0 == ~cond); {23836#true} is VALID [2022-04-27 13:13:23,485 INFO L290 TraceCheckUtils]: 7: Hoare triple {23836#true} ~cond := #in~cond; {23836#true} is VALID [2022-04-27 13:13:23,485 INFO L272 TraceCheckUtils]: 6: Hoare triple {23836#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {23836#true} is VALID [2022-04-27 13:13:23,485 INFO L290 TraceCheckUtils]: 5: Hoare triple {23836#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {23836#true} is VALID [2022-04-27 13:13:23,485 INFO L272 TraceCheckUtils]: 4: Hoare triple {23836#true} call #t~ret6 := main(); {23836#true} is VALID [2022-04-27 13:13:23,485 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {23836#true} {23836#true} #112#return; {23836#true} is VALID [2022-04-27 13:13:23,485 INFO L290 TraceCheckUtils]: 2: Hoare triple {23836#true} assume true; {23836#true} is VALID [2022-04-27 13:13:23,485 INFO L290 TraceCheckUtils]: 1: Hoare triple {23836#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(11, 2);call #Ultimate.allocInit(12, 3); {23836#true} is VALID [2022-04-27 13:13:23,485 INFO L272 TraceCheckUtils]: 0: Hoare triple {23836#true} call ULTIMATE.init(); {23836#true} is VALID [2022-04-27 13:13:23,486 INFO L134 CoverageAnalysis]: Checked inductivity of 364 backedges. 26 proven. 42 refuted. 0 times theorem prover too weak. 296 trivial. 0 not checked. [2022-04-27 13:13:23,486 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:13:23,486 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1844910780] [2022-04-27 13:13:23,486 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:13:23,486 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [243681311] [2022-04-27 13:13:23,486 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [243681311] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 13:13:23,486 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 13:13:23,486 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 13] total 25 [2022-04-27 13:13:23,486 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [581083785] [2022-04-27 13:13:23,486 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 13:13:23,487 INFO L78 Accepts]: Start accepts. Automaton has has 25 states, 25 states have (on average 2.76) internal successors, (69), 24 states have internal predecessors, (69), 8 states have call successors, (27), 2 states have call predecessors, (27), 2 states have return successors, (25), 6 states have call predecessors, (25), 6 states have call successors, (25) Word has length 119 [2022-04-27 13:13:23,487 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:13:23,487 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 25 states, 25 states have (on average 2.76) internal successors, (69), 24 states have internal predecessors, (69), 8 states have call successors, (27), 2 states have call predecessors, (27), 2 states have return successors, (25), 6 states have call predecessors, (25), 6 states have call successors, (25) [2022-04-27 13:13:23,851 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 121 edges. 121 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:13:23,851 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 25 states [2022-04-27 13:13:23,851 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:13:23,851 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 25 interpolants. [2022-04-27 13:13:23,852 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=106, Invalid=494, Unknown=0, NotChecked=0, Total=600 [2022-04-27 13:13:23,852 INFO L87 Difference]: Start difference. First operand 327 states and 460 transitions. Second operand has 25 states, 25 states have (on average 2.76) internal successors, (69), 24 states have internal predecessors, (69), 8 states have call successors, (27), 2 states have call predecessors, (27), 2 states have return successors, (25), 6 states have call predecessors, (25), 6 states have call successors, (25) [2022-04-27 13:13:42,648 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:13:42,648 INFO L93 Difference]: Finished difference Result 509 states and 727 transitions. [2022-04-27 13:13:42,648 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 39 states. [2022-04-27 13:13:42,659 INFO L78 Accepts]: Start accepts. Automaton has has 25 states, 25 states have (on average 2.76) internal successors, (69), 24 states have internal predecessors, (69), 8 states have call successors, (27), 2 states have call predecessors, (27), 2 states have return successors, (25), 6 states have call predecessors, (25), 6 states have call successors, (25) Word has length 119 [2022-04-27 13:13:42,659 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:13:42,659 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 25 states, 25 states have (on average 2.76) internal successors, (69), 24 states have internal predecessors, (69), 8 states have call successors, (27), 2 states have call predecessors, (27), 2 states have return successors, (25), 6 states have call predecessors, (25), 6 states have call successors, (25) [2022-04-27 13:13:42,661 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 39 states to 39 states and 227 transitions. [2022-04-27 13:13:42,661 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 25 states, 25 states have (on average 2.76) internal successors, (69), 24 states have internal predecessors, (69), 8 states have call successors, (27), 2 states have call predecessors, (27), 2 states have return successors, (25), 6 states have call predecessors, (25), 6 states have call successors, (25) [2022-04-27 13:13:42,664 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 39 states to 39 states and 227 transitions. [2022-04-27 13:13:42,664 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 39 states and 227 transitions. [2022-04-27 13:13:43,029 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 227 edges. 227 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:13:43,043 INFO L225 Difference]: With dead ends: 509 [2022-04-27 13:13:43,043 INFO L226 Difference]: Without dead ends: 507 [2022-04-27 13:13:43,044 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 271 GetRequests, 213 SyntacticMatches, 1 SemanticMatches, 57 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 863 ImplicationChecksByTransitivity, 5.2s TimeCoverageRelationStatistics Valid=719, Invalid=2703, Unknown=0, NotChecked=0, Total=3422 [2022-04-27 13:13:43,044 INFO L413 NwaCegarLoop]: 72 mSDtfsCounter, 187 mSDsluCounter, 419 mSDsCounter, 0 mSdLazyCounter, 1109 mSolverCounterSat, 276 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 4.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 187 SdHoareTripleChecker+Valid, 491 SdHoareTripleChecker+Invalid, 1385 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 276 IncrementalHoareTripleChecker+Valid, 1109 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 4.3s IncrementalHoareTripleChecker+Time [2022-04-27 13:13:43,045 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [187 Valid, 491 Invalid, 1385 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [276 Valid, 1109 Invalid, 0 Unknown, 0 Unchecked, 4.3s Time] [2022-04-27 13:13:43,045 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 507 states. [2022-04-27 13:13:45,390 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 507 to 500. [2022-04-27 13:13:45,390 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:13:45,391 INFO L82 GeneralOperation]: Start isEquivalent. First operand 507 states. Second operand has 500 states, 288 states have (on average 1.1736111111111112) internal successors, (338), 289 states have internal predecessors, (338), 191 states have call successors, (191), 21 states have call predecessors, (191), 20 states have return successors, (189), 189 states have call predecessors, (189), 189 states have call successors, (189) [2022-04-27 13:13:45,391 INFO L74 IsIncluded]: Start isIncluded. First operand 507 states. Second operand has 500 states, 288 states have (on average 1.1736111111111112) internal successors, (338), 289 states have internal predecessors, (338), 191 states have call successors, (191), 21 states have call predecessors, (191), 20 states have return successors, (189), 189 states have call predecessors, (189), 189 states have call successors, (189) [2022-04-27 13:13:45,392 INFO L87 Difference]: Start difference. First operand 507 states. Second operand has 500 states, 288 states have (on average 1.1736111111111112) internal successors, (338), 289 states have internal predecessors, (338), 191 states have call successors, (191), 21 states have call predecessors, (191), 20 states have return successors, (189), 189 states have call predecessors, (189), 189 states have call successors, (189) [2022-04-27 13:13:45,404 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:13:45,404 INFO L93 Difference]: Finished difference Result 507 states and 725 transitions. [2022-04-27 13:13:45,404 INFO L276 IsEmpty]: Start isEmpty. Operand 507 states and 725 transitions. [2022-04-27 13:13:45,405 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:13:45,405 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:13:45,406 INFO L74 IsIncluded]: Start isIncluded. First operand has 500 states, 288 states have (on average 1.1736111111111112) internal successors, (338), 289 states have internal predecessors, (338), 191 states have call successors, (191), 21 states have call predecessors, (191), 20 states have return successors, (189), 189 states have call predecessors, (189), 189 states have call successors, (189) Second operand 507 states. [2022-04-27 13:13:45,406 INFO L87 Difference]: Start difference. First operand has 500 states, 288 states have (on average 1.1736111111111112) internal successors, (338), 289 states have internal predecessors, (338), 191 states have call successors, (191), 21 states have call predecessors, (191), 20 states have return successors, (189), 189 states have call predecessors, (189), 189 states have call successors, (189) Second operand 507 states. [2022-04-27 13:13:45,418 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:13:45,418 INFO L93 Difference]: Finished difference Result 507 states and 725 transitions. [2022-04-27 13:13:45,418 INFO L276 IsEmpty]: Start isEmpty. Operand 507 states and 725 transitions. [2022-04-27 13:13:45,419 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:13:45,419 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:13:45,419 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:13:45,419 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:13:45,420 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 500 states, 288 states have (on average 1.1736111111111112) internal successors, (338), 289 states have internal predecessors, (338), 191 states have call successors, (191), 21 states have call predecessors, (191), 20 states have return successors, (189), 189 states have call predecessors, (189), 189 states have call successors, (189) [2022-04-27 13:13:45,433 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 500 states to 500 states and 718 transitions. [2022-04-27 13:13:45,433 INFO L78 Accepts]: Start accepts. Automaton has 500 states and 718 transitions. Word has length 119 [2022-04-27 13:13:45,434 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:13:45,434 INFO L495 AbstractCegarLoop]: Abstraction has 500 states and 718 transitions. [2022-04-27 13:13:45,434 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 25 states, 25 states have (on average 2.76) internal successors, (69), 24 states have internal predecessors, (69), 8 states have call successors, (27), 2 states have call predecessors, (27), 2 states have return successors, (25), 6 states have call predecessors, (25), 6 states have call successors, (25) [2022-04-27 13:13:45,434 INFO L276 IsEmpty]: Start isEmpty. Operand 500 states and 718 transitions. [2022-04-27 13:13:45,435 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 122 [2022-04-27 13:13:45,435 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:13:45,435 INFO L195 NwaCegarLoop]: trace histogram [15, 14, 14, 4, 4, 4, 4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:13:45,453 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (18)] Forceful destruction successful, exit code 0 [2022-04-27 13:13:45,651 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 18 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable17 [2022-04-27 13:13:45,651 INFO L420 AbstractCegarLoop]: === Iteration 19 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:13:45,651 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:13:45,651 INFO L85 PathProgramCache]: Analyzing trace with hash 1435472518, now seen corresponding path program 4 times [2022-04-27 13:13:45,651 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:13:45,651 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1090470675] [2022-04-27 13:13:45,651 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:13:45,652 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:13:45,661 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:13:45,661 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1659653732] [2022-04-27 13:13:45,661 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-27 13:13:45,661 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:13:45,662 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:13:45,665 INFO L229 MonitoredProcess]: Starting monitored process 19 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 13:13:45,666 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (19)] Waiting until timeout for monitored process [2022-04-27 13:13:45,721 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-27 13:13:45,722 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 13:13:45,723 INFO L263 TraceCheckSpWp]: Trace formula consists of 258 conjuncts, 17 conjunts are in the unsatisfiable core [2022-04-27 13:13:45,739 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:13:45,740 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:13:46,290 INFO L272 TraceCheckUtils]: 0: Hoare triple {27278#true} call ULTIMATE.init(); {27278#true} is VALID [2022-04-27 13:13:46,291 INFO L290 TraceCheckUtils]: 1: Hoare triple {27278#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(11, 2);call #Ultimate.allocInit(12, 3); {27278#true} is VALID [2022-04-27 13:13:46,291 INFO L290 TraceCheckUtils]: 2: Hoare triple {27278#true} assume true; {27278#true} is VALID [2022-04-27 13:13:46,291 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {27278#true} {27278#true} #112#return; {27278#true} is VALID [2022-04-27 13:13:46,291 INFO L272 TraceCheckUtils]: 4: Hoare triple {27278#true} call #t~ret6 := main(); {27278#true} is VALID [2022-04-27 13:13:46,291 INFO L290 TraceCheckUtils]: 5: Hoare triple {27278#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {27278#true} is VALID [2022-04-27 13:13:46,291 INFO L272 TraceCheckUtils]: 6: Hoare triple {27278#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {27278#true} is VALID [2022-04-27 13:13:46,291 INFO L290 TraceCheckUtils]: 7: Hoare triple {27278#true} ~cond := #in~cond; {27278#true} is VALID [2022-04-27 13:13:46,291 INFO L290 TraceCheckUtils]: 8: Hoare triple {27278#true} assume !(0 == ~cond); {27278#true} is VALID [2022-04-27 13:13:46,291 INFO L290 TraceCheckUtils]: 9: Hoare triple {27278#true} assume true; {27278#true} is VALID [2022-04-27 13:13:46,291 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {27278#true} {27278#true} #94#return; {27278#true} is VALID [2022-04-27 13:13:46,291 INFO L290 TraceCheckUtils]: 11: Hoare triple {27278#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {27278#true} is VALID [2022-04-27 13:13:46,291 INFO L272 TraceCheckUtils]: 12: Hoare triple {27278#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {27278#true} is VALID [2022-04-27 13:13:46,292 INFO L290 TraceCheckUtils]: 13: Hoare triple {27278#true} ~cond := #in~cond; {27322#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 13:13:46,292 INFO L290 TraceCheckUtils]: 14: Hoare triple {27322#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {27326#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:13:46,292 INFO L290 TraceCheckUtils]: 15: Hoare triple {27326#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {27326#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:13:46,293 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {27326#(not (= |assume_abort_if_not_#in~cond| 0))} {27278#true} #96#return; {27333#(and (<= 0 main_~y~0) (<= main_~y~0 2))} is VALID [2022-04-27 13:13:46,293 INFO L272 TraceCheckUtils]: 17: Hoare triple {27333#(and (<= 0 main_~y~0) (<= main_~y~0 2))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {27278#true} is VALID [2022-04-27 13:13:46,293 INFO L290 TraceCheckUtils]: 18: Hoare triple {27278#true} ~cond := #in~cond; {27278#true} is VALID [2022-04-27 13:13:46,293 INFO L290 TraceCheckUtils]: 19: Hoare triple {27278#true} assume !(0 == ~cond); {27278#true} is VALID [2022-04-27 13:13:46,293 INFO L290 TraceCheckUtils]: 20: Hoare triple {27278#true} assume true; {27278#true} is VALID [2022-04-27 13:13:46,293 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {27278#true} {27333#(and (<= 0 main_~y~0) (<= main_~y~0 2))} #98#return; {27333#(and (<= 0 main_~y~0) (<= main_~y~0 2))} is VALID [2022-04-27 13:13:46,293 INFO L272 TraceCheckUtils]: 22: Hoare triple {27333#(and (<= 0 main_~y~0) (<= main_~y~0 2))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {27278#true} is VALID [2022-04-27 13:13:46,294 INFO L290 TraceCheckUtils]: 23: Hoare triple {27278#true} ~cond := #in~cond; {27278#true} is VALID [2022-04-27 13:13:46,294 INFO L290 TraceCheckUtils]: 24: Hoare triple {27278#true} assume !(0 == ~cond); {27278#true} is VALID [2022-04-27 13:13:46,294 INFO L290 TraceCheckUtils]: 25: Hoare triple {27278#true} assume true; {27278#true} is VALID [2022-04-27 13:13:46,294 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {27278#true} {27333#(and (<= 0 main_~y~0) (<= main_~y~0 2))} #100#return; {27333#(and (<= 0 main_~y~0) (<= main_~y~0 2))} is VALID [2022-04-27 13:13:46,294 INFO L290 TraceCheckUtils]: 27: Hoare triple {27333#(and (<= 0 main_~y~0) (<= main_~y~0 2))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {27367#(<= main_~b~0 2)} is VALID [2022-04-27 13:13:46,295 INFO L290 TraceCheckUtils]: 28: Hoare triple {27367#(<= main_~b~0 2)} assume !false; {27367#(<= main_~b~0 2)} is VALID [2022-04-27 13:13:46,295 INFO L290 TraceCheckUtils]: 29: Hoare triple {27367#(<= main_~b~0 2)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {27367#(<= main_~b~0 2)} is VALID [2022-04-27 13:13:46,295 INFO L290 TraceCheckUtils]: 30: Hoare triple {27367#(<= main_~b~0 2)} assume !false; {27367#(<= main_~b~0 2)} is VALID [2022-04-27 13:13:46,295 INFO L290 TraceCheckUtils]: 31: Hoare triple {27367#(<= main_~b~0 2)} assume !(~c~0 >= ~b~0); {27367#(<= main_~b~0 2)} is VALID [2022-04-27 13:13:46,296 INFO L290 TraceCheckUtils]: 32: Hoare triple {27367#(<= main_~b~0 2)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {27383#(<= main_~a~0 2)} is VALID [2022-04-27 13:13:46,296 INFO L290 TraceCheckUtils]: 33: Hoare triple {27383#(<= main_~a~0 2)} assume !false; {27383#(<= main_~a~0 2)} is VALID [2022-04-27 13:13:46,296 INFO L290 TraceCheckUtils]: 34: Hoare triple {27383#(<= main_~a~0 2)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {27390#(<= main_~c~0 2)} is VALID [2022-04-27 13:13:46,297 INFO L290 TraceCheckUtils]: 35: Hoare triple {27390#(<= main_~c~0 2)} assume !false; {27390#(<= main_~c~0 2)} is VALID [2022-04-27 13:13:46,297 INFO L290 TraceCheckUtils]: 36: Hoare triple {27390#(<= main_~c~0 2)} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {27397#(and (= main_~b~0 main_~v~0) (<= main_~c~0 2))} is VALID [2022-04-27 13:13:46,297 INFO L290 TraceCheckUtils]: 37: Hoare triple {27397#(and (= main_~b~0 main_~v~0) (<= main_~c~0 2))} assume !false; {27397#(and (= main_~b~0 main_~v~0) (<= main_~c~0 2))} is VALID [2022-04-27 13:13:46,298 INFO L272 TraceCheckUtils]: 38: Hoare triple {27397#(and (= main_~b~0 main_~v~0) (<= main_~c~0 2))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {27278#true} is VALID [2022-04-27 13:13:46,298 INFO L290 TraceCheckUtils]: 39: Hoare triple {27278#true} ~cond := #in~cond; {27278#true} is VALID [2022-04-27 13:13:46,298 INFO L290 TraceCheckUtils]: 40: Hoare triple {27278#true} assume !(0 == ~cond); {27278#true} is VALID [2022-04-27 13:13:46,298 INFO L290 TraceCheckUtils]: 41: Hoare triple {27278#true} assume true; {27278#true} is VALID [2022-04-27 13:13:46,298 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {27278#true} {27397#(and (= main_~b~0 main_~v~0) (<= main_~c~0 2))} #102#return; {27397#(and (= main_~b~0 main_~v~0) (<= main_~c~0 2))} is VALID [2022-04-27 13:13:46,298 INFO L272 TraceCheckUtils]: 43: Hoare triple {27397#(and (= main_~b~0 main_~v~0) (<= main_~c~0 2))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {27278#true} is VALID [2022-04-27 13:13:46,298 INFO L290 TraceCheckUtils]: 44: Hoare triple {27278#true} ~cond := #in~cond; {27278#true} is VALID [2022-04-27 13:13:46,299 INFO L290 TraceCheckUtils]: 45: Hoare triple {27278#true} assume !(0 == ~cond); {27278#true} is VALID [2022-04-27 13:13:46,299 INFO L290 TraceCheckUtils]: 46: Hoare triple {27278#true} assume true; {27278#true} is VALID [2022-04-27 13:13:46,299 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {27278#true} {27397#(and (= main_~b~0 main_~v~0) (<= main_~c~0 2))} #104#return; {27397#(and (= main_~b~0 main_~v~0) (<= main_~c~0 2))} is VALID [2022-04-27 13:13:46,299 INFO L272 TraceCheckUtils]: 48: Hoare triple {27397#(and (= main_~b~0 main_~v~0) (<= main_~c~0 2))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {27278#true} is VALID [2022-04-27 13:13:46,299 INFO L290 TraceCheckUtils]: 49: Hoare triple {27278#true} ~cond := #in~cond; {27278#true} is VALID [2022-04-27 13:13:46,299 INFO L290 TraceCheckUtils]: 50: Hoare triple {27278#true} assume !(0 == ~cond); {27278#true} is VALID [2022-04-27 13:13:46,299 INFO L290 TraceCheckUtils]: 51: Hoare triple {27278#true} assume true; {27278#true} is VALID [2022-04-27 13:13:46,300 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {27278#true} {27397#(and (= main_~b~0 main_~v~0) (<= main_~c~0 2))} #106#return; {27397#(and (= main_~b~0 main_~v~0) (<= main_~c~0 2))} is VALID [2022-04-27 13:13:46,300 INFO L272 TraceCheckUtils]: 53: Hoare triple {27397#(and (= main_~b~0 main_~v~0) (<= main_~c~0 2))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {27278#true} is VALID [2022-04-27 13:13:46,300 INFO L290 TraceCheckUtils]: 54: Hoare triple {27278#true} ~cond := #in~cond; {27278#true} is VALID [2022-04-27 13:13:46,300 INFO L290 TraceCheckUtils]: 55: Hoare triple {27278#true} assume !(0 == ~cond); {27278#true} is VALID [2022-04-27 13:13:46,300 INFO L290 TraceCheckUtils]: 56: Hoare triple {27278#true} assume true; {27278#true} is VALID [2022-04-27 13:13:46,301 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {27278#true} {27397#(and (= main_~b~0 main_~v~0) (<= main_~c~0 2))} #108#return; {27397#(and (= main_~b~0 main_~v~0) (<= main_~c~0 2))} is VALID [2022-04-27 13:13:46,301 INFO L290 TraceCheckUtils]: 58: Hoare triple {27397#(and (= main_~b~0 main_~v~0) (<= main_~c~0 2))} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {27464#(and (= main_~v~0 (* main_~b~0 2)) (<= main_~c~0 2))} is VALID [2022-04-27 13:13:46,301 INFO L290 TraceCheckUtils]: 59: Hoare triple {27464#(and (= main_~v~0 (* main_~b~0 2)) (<= main_~c~0 2))} assume !false; {27464#(and (= main_~v~0 (* main_~b~0 2)) (<= main_~c~0 2))} is VALID [2022-04-27 13:13:46,301 INFO L272 TraceCheckUtils]: 60: Hoare triple {27464#(and (= main_~v~0 (* main_~b~0 2)) (<= main_~c~0 2))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {27278#true} is VALID [2022-04-27 13:13:46,302 INFO L290 TraceCheckUtils]: 61: Hoare triple {27278#true} ~cond := #in~cond; {27278#true} is VALID [2022-04-27 13:13:46,302 INFO L290 TraceCheckUtils]: 62: Hoare triple {27278#true} assume !(0 == ~cond); {27278#true} is VALID [2022-04-27 13:13:46,302 INFO L290 TraceCheckUtils]: 63: Hoare triple {27278#true} assume true; {27278#true} is VALID [2022-04-27 13:13:46,302 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {27278#true} {27464#(and (= main_~v~0 (* main_~b~0 2)) (<= main_~c~0 2))} #102#return; {27464#(and (= main_~v~0 (* main_~b~0 2)) (<= main_~c~0 2))} is VALID [2022-04-27 13:13:46,302 INFO L272 TraceCheckUtils]: 65: Hoare triple {27464#(and (= main_~v~0 (* main_~b~0 2)) (<= main_~c~0 2))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {27278#true} is VALID [2022-04-27 13:13:46,302 INFO L290 TraceCheckUtils]: 66: Hoare triple {27278#true} ~cond := #in~cond; {27278#true} is VALID [2022-04-27 13:13:46,302 INFO L290 TraceCheckUtils]: 67: Hoare triple {27278#true} assume !(0 == ~cond); {27278#true} is VALID [2022-04-27 13:13:46,302 INFO L290 TraceCheckUtils]: 68: Hoare triple {27278#true} assume true; {27278#true} is VALID [2022-04-27 13:13:46,303 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {27278#true} {27464#(and (= main_~v~0 (* main_~b~0 2)) (<= main_~c~0 2))} #104#return; {27464#(and (= main_~v~0 (* main_~b~0 2)) (<= main_~c~0 2))} is VALID [2022-04-27 13:13:46,303 INFO L272 TraceCheckUtils]: 70: Hoare triple {27464#(and (= main_~v~0 (* main_~b~0 2)) (<= main_~c~0 2))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {27278#true} is VALID [2022-04-27 13:13:46,303 INFO L290 TraceCheckUtils]: 71: Hoare triple {27278#true} ~cond := #in~cond; {27278#true} is VALID [2022-04-27 13:13:46,303 INFO L290 TraceCheckUtils]: 72: Hoare triple {27278#true} assume !(0 == ~cond); {27278#true} is VALID [2022-04-27 13:13:46,303 INFO L290 TraceCheckUtils]: 73: Hoare triple {27278#true} assume true; {27278#true} is VALID [2022-04-27 13:13:46,304 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {27278#true} {27464#(and (= main_~v~0 (* main_~b~0 2)) (<= main_~c~0 2))} #106#return; {27464#(and (= main_~v~0 (* main_~b~0 2)) (<= main_~c~0 2))} is VALID [2022-04-27 13:13:46,304 INFO L272 TraceCheckUtils]: 75: Hoare triple {27464#(and (= main_~v~0 (* main_~b~0 2)) (<= main_~c~0 2))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {27278#true} is VALID [2022-04-27 13:13:46,304 INFO L290 TraceCheckUtils]: 76: Hoare triple {27278#true} ~cond := #in~cond; {27278#true} is VALID [2022-04-27 13:13:46,304 INFO L290 TraceCheckUtils]: 77: Hoare triple {27278#true} assume !(0 == ~cond); {27278#true} is VALID [2022-04-27 13:13:46,304 INFO L290 TraceCheckUtils]: 78: Hoare triple {27278#true} assume true; {27278#true} is VALID [2022-04-27 13:13:46,305 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {27278#true} {27464#(and (= main_~v~0 (* main_~b~0 2)) (<= main_~c~0 2))} #108#return; {27464#(and (= main_~v~0 (* main_~b~0 2)) (<= main_~c~0 2))} is VALID [2022-04-27 13:13:46,305 INFO L290 TraceCheckUtils]: 80: Hoare triple {27464#(and (= main_~v~0 (* main_~b~0 2)) (<= main_~c~0 2))} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {27531#(and (<= (* main_~b~0 4) main_~c~0) (<= main_~c~0 2) (<= main_~v~0 (* main_~b~0 4)))} is VALID [2022-04-27 13:13:46,306 INFO L290 TraceCheckUtils]: 81: Hoare triple {27531#(and (<= (* main_~b~0 4) main_~c~0) (<= main_~c~0 2) (<= main_~v~0 (* main_~b~0 4)))} assume !false; {27531#(and (<= (* main_~b~0 4) main_~c~0) (<= main_~c~0 2) (<= main_~v~0 (* main_~b~0 4)))} is VALID [2022-04-27 13:13:46,306 INFO L272 TraceCheckUtils]: 82: Hoare triple {27531#(and (<= (* main_~b~0 4) main_~c~0) (<= main_~c~0 2) (<= main_~v~0 (* main_~b~0 4)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {27278#true} is VALID [2022-04-27 13:13:46,306 INFO L290 TraceCheckUtils]: 83: Hoare triple {27278#true} ~cond := #in~cond; {27278#true} is VALID [2022-04-27 13:13:46,306 INFO L290 TraceCheckUtils]: 84: Hoare triple {27278#true} assume !(0 == ~cond); {27278#true} is VALID [2022-04-27 13:13:46,306 INFO L290 TraceCheckUtils]: 85: Hoare triple {27278#true} assume true; {27278#true} is VALID [2022-04-27 13:13:46,307 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {27278#true} {27531#(and (<= (* main_~b~0 4) main_~c~0) (<= main_~c~0 2) (<= main_~v~0 (* main_~b~0 4)))} #102#return; {27531#(and (<= (* main_~b~0 4) main_~c~0) (<= main_~c~0 2) (<= main_~v~0 (* main_~b~0 4)))} is VALID [2022-04-27 13:13:46,307 INFO L272 TraceCheckUtils]: 87: Hoare triple {27531#(and (<= (* main_~b~0 4) main_~c~0) (<= main_~c~0 2) (<= main_~v~0 (* main_~b~0 4)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {27278#true} is VALID [2022-04-27 13:13:46,307 INFO L290 TraceCheckUtils]: 88: Hoare triple {27278#true} ~cond := #in~cond; {27278#true} is VALID [2022-04-27 13:13:46,307 INFO L290 TraceCheckUtils]: 89: Hoare triple {27278#true} assume !(0 == ~cond); {27278#true} is VALID [2022-04-27 13:13:46,307 INFO L290 TraceCheckUtils]: 90: Hoare triple {27278#true} assume true; {27278#true} is VALID [2022-04-27 13:13:46,307 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {27278#true} {27531#(and (<= (* main_~b~0 4) main_~c~0) (<= main_~c~0 2) (<= main_~v~0 (* main_~b~0 4)))} #104#return; {27531#(and (<= (* main_~b~0 4) main_~c~0) (<= main_~c~0 2) (<= main_~v~0 (* main_~b~0 4)))} is VALID [2022-04-27 13:13:46,307 INFO L272 TraceCheckUtils]: 92: Hoare triple {27531#(and (<= (* main_~b~0 4) main_~c~0) (<= main_~c~0 2) (<= main_~v~0 (* main_~b~0 4)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {27278#true} is VALID [2022-04-27 13:13:46,308 INFO L290 TraceCheckUtils]: 93: Hoare triple {27278#true} ~cond := #in~cond; {27278#true} is VALID [2022-04-27 13:13:46,308 INFO L290 TraceCheckUtils]: 94: Hoare triple {27278#true} assume !(0 == ~cond); {27278#true} is VALID [2022-04-27 13:13:46,308 INFO L290 TraceCheckUtils]: 95: Hoare triple {27278#true} assume true; {27278#true} is VALID [2022-04-27 13:13:46,308 INFO L284 TraceCheckUtils]: 96: Hoare quadruple {27278#true} {27531#(and (<= (* main_~b~0 4) main_~c~0) (<= main_~c~0 2) (<= main_~v~0 (* main_~b~0 4)))} #106#return; {27531#(and (<= (* main_~b~0 4) main_~c~0) (<= main_~c~0 2) (<= main_~v~0 (* main_~b~0 4)))} is VALID [2022-04-27 13:13:46,308 INFO L272 TraceCheckUtils]: 97: Hoare triple {27531#(and (<= (* main_~b~0 4) main_~c~0) (<= main_~c~0 2) (<= main_~v~0 (* main_~b~0 4)))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {27278#true} is VALID [2022-04-27 13:13:46,308 INFO L290 TraceCheckUtils]: 98: Hoare triple {27278#true} ~cond := #in~cond; {27278#true} is VALID [2022-04-27 13:13:46,308 INFO L290 TraceCheckUtils]: 99: Hoare triple {27278#true} assume !(0 == ~cond); {27278#true} is VALID [2022-04-27 13:13:46,308 INFO L290 TraceCheckUtils]: 100: Hoare triple {27278#true} assume true; {27278#true} is VALID [2022-04-27 13:13:46,309 INFO L284 TraceCheckUtils]: 101: Hoare quadruple {27278#true} {27531#(and (<= (* main_~b~0 4) main_~c~0) (<= main_~c~0 2) (<= main_~v~0 (* main_~b~0 4)))} #108#return; {27531#(and (<= (* main_~b~0 4) main_~c~0) (<= main_~c~0 2) (<= main_~v~0 (* main_~b~0 4)))} is VALID [2022-04-27 13:13:46,309 INFO L290 TraceCheckUtils]: 102: Hoare triple {27531#(and (<= (* main_~b~0 4) main_~c~0) (<= main_~c~0 2) (<= main_~v~0 (* main_~b~0 4)))} assume !(~c~0 >= 2 * ~v~0); {27279#false} is VALID [2022-04-27 13:13:46,309 INFO L290 TraceCheckUtils]: 103: Hoare triple {27279#false} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {27279#false} is VALID [2022-04-27 13:13:46,310 INFO L290 TraceCheckUtils]: 104: Hoare triple {27279#false} assume !false; {27279#false} is VALID [2022-04-27 13:13:46,310 INFO L290 TraceCheckUtils]: 105: Hoare triple {27279#false} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {27279#false} is VALID [2022-04-27 13:13:46,310 INFO L290 TraceCheckUtils]: 106: Hoare triple {27279#false} assume !false; {27279#false} is VALID [2022-04-27 13:13:46,310 INFO L272 TraceCheckUtils]: 107: Hoare triple {27279#false} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {27279#false} is VALID [2022-04-27 13:13:46,310 INFO L290 TraceCheckUtils]: 108: Hoare triple {27279#false} ~cond := #in~cond; {27279#false} is VALID [2022-04-27 13:13:46,310 INFO L290 TraceCheckUtils]: 109: Hoare triple {27279#false} assume !(0 == ~cond); {27279#false} is VALID [2022-04-27 13:13:46,310 INFO L290 TraceCheckUtils]: 110: Hoare triple {27279#false} assume true; {27279#false} is VALID [2022-04-27 13:13:46,310 INFO L284 TraceCheckUtils]: 111: Hoare quadruple {27279#false} {27279#false} #102#return; {27279#false} is VALID [2022-04-27 13:13:46,310 INFO L272 TraceCheckUtils]: 112: Hoare triple {27279#false} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {27279#false} is VALID [2022-04-27 13:13:46,310 INFO L290 TraceCheckUtils]: 113: Hoare triple {27279#false} ~cond := #in~cond; {27279#false} is VALID [2022-04-27 13:13:46,310 INFO L290 TraceCheckUtils]: 114: Hoare triple {27279#false} assume !(0 == ~cond); {27279#false} is VALID [2022-04-27 13:13:46,310 INFO L290 TraceCheckUtils]: 115: Hoare triple {27279#false} assume true; {27279#false} is VALID [2022-04-27 13:13:46,310 INFO L284 TraceCheckUtils]: 116: Hoare quadruple {27279#false} {27279#false} #104#return; {27279#false} is VALID [2022-04-27 13:13:46,310 INFO L272 TraceCheckUtils]: 117: Hoare triple {27279#false} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {27279#false} is VALID [2022-04-27 13:13:46,310 INFO L290 TraceCheckUtils]: 118: Hoare triple {27279#false} ~cond := #in~cond; {27279#false} is VALID [2022-04-27 13:13:46,310 INFO L290 TraceCheckUtils]: 119: Hoare triple {27279#false} assume 0 == ~cond; {27279#false} is VALID [2022-04-27 13:13:46,310 INFO L290 TraceCheckUtils]: 120: Hoare triple {27279#false} assume !false; {27279#false} is VALID [2022-04-27 13:13:46,311 INFO L134 CoverageAnalysis]: Checked inductivity of 454 backedges. 139 proven. 28 refuted. 0 times theorem prover too weak. 287 trivial. 0 not checked. [2022-04-27 13:13:46,311 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:13:47,886 INFO L290 TraceCheckUtils]: 120: Hoare triple {27279#false} assume !false; {27279#false} is VALID [2022-04-27 13:13:47,887 INFO L290 TraceCheckUtils]: 119: Hoare triple {27279#false} assume 0 == ~cond; {27279#false} is VALID [2022-04-27 13:13:47,887 INFO L290 TraceCheckUtils]: 118: Hoare triple {27279#false} ~cond := #in~cond; {27279#false} is VALID [2022-04-27 13:13:47,887 INFO L272 TraceCheckUtils]: 117: Hoare triple {27279#false} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {27279#false} is VALID [2022-04-27 13:13:47,887 INFO L284 TraceCheckUtils]: 116: Hoare quadruple {27278#true} {27279#false} #104#return; {27279#false} is VALID [2022-04-27 13:13:47,887 INFO L290 TraceCheckUtils]: 115: Hoare triple {27278#true} assume true; {27278#true} is VALID [2022-04-27 13:13:47,887 INFO L290 TraceCheckUtils]: 114: Hoare triple {27278#true} assume !(0 == ~cond); {27278#true} is VALID [2022-04-27 13:13:47,887 INFO L290 TraceCheckUtils]: 113: Hoare triple {27278#true} ~cond := #in~cond; {27278#true} is VALID [2022-04-27 13:13:47,887 INFO L272 TraceCheckUtils]: 112: Hoare triple {27279#false} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {27278#true} is VALID [2022-04-27 13:13:47,887 INFO L284 TraceCheckUtils]: 111: Hoare quadruple {27278#true} {27279#false} #102#return; {27279#false} is VALID [2022-04-27 13:13:47,887 INFO L290 TraceCheckUtils]: 110: Hoare triple {27278#true} assume true; {27278#true} is VALID [2022-04-27 13:13:47,888 INFO L290 TraceCheckUtils]: 109: Hoare triple {27278#true} assume !(0 == ~cond); {27278#true} is VALID [2022-04-27 13:13:47,888 INFO L290 TraceCheckUtils]: 108: Hoare triple {27278#true} ~cond := #in~cond; {27278#true} is VALID [2022-04-27 13:13:47,888 INFO L272 TraceCheckUtils]: 107: Hoare triple {27279#false} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {27278#true} is VALID [2022-04-27 13:13:47,888 INFO L290 TraceCheckUtils]: 106: Hoare triple {27279#false} assume !false; {27279#false} is VALID [2022-04-27 13:13:47,888 INFO L290 TraceCheckUtils]: 105: Hoare triple {27697#(not (<= main_~b~0 main_~c~0))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {27279#false} is VALID [2022-04-27 13:13:47,889 INFO L290 TraceCheckUtils]: 104: Hoare triple {27697#(not (<= main_~b~0 main_~c~0))} assume !false; {27697#(not (<= main_~b~0 main_~c~0))} is VALID [2022-04-27 13:13:47,890 INFO L290 TraceCheckUtils]: 103: Hoare triple {27704#(< main_~c~0 (+ main_~b~0 main_~v~0))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {27697#(not (<= main_~b~0 main_~c~0))} is VALID [2022-04-27 13:13:47,891 INFO L290 TraceCheckUtils]: 102: Hoare triple {27708#(or (< main_~c~0 (+ main_~b~0 main_~v~0)) (<= (* main_~v~0 2) main_~c~0))} assume !(~c~0 >= 2 * ~v~0); {27704#(< main_~c~0 (+ main_~b~0 main_~v~0))} is VALID [2022-04-27 13:13:47,892 INFO L284 TraceCheckUtils]: 101: Hoare quadruple {27278#true} {27708#(or (< main_~c~0 (+ main_~b~0 main_~v~0)) (<= (* main_~v~0 2) main_~c~0))} #108#return; {27708#(or (< main_~c~0 (+ main_~b~0 main_~v~0)) (<= (* main_~v~0 2) main_~c~0))} is VALID [2022-04-27 13:13:47,893 INFO L290 TraceCheckUtils]: 100: Hoare triple {27278#true} assume true; {27278#true} is VALID [2022-04-27 13:13:47,893 INFO L290 TraceCheckUtils]: 99: Hoare triple {27278#true} assume !(0 == ~cond); {27278#true} is VALID [2022-04-27 13:13:47,893 INFO L290 TraceCheckUtils]: 98: Hoare triple {27278#true} ~cond := #in~cond; {27278#true} is VALID [2022-04-27 13:13:47,893 INFO L272 TraceCheckUtils]: 97: Hoare triple {27708#(or (< main_~c~0 (+ main_~b~0 main_~v~0)) (<= (* main_~v~0 2) main_~c~0))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {27278#true} is VALID [2022-04-27 13:13:47,894 INFO L284 TraceCheckUtils]: 96: Hoare quadruple {27278#true} {27708#(or (< main_~c~0 (+ main_~b~0 main_~v~0)) (<= (* main_~v~0 2) main_~c~0))} #106#return; {27708#(or (< main_~c~0 (+ main_~b~0 main_~v~0)) (<= (* main_~v~0 2) main_~c~0))} is VALID [2022-04-27 13:13:47,894 INFO L290 TraceCheckUtils]: 95: Hoare triple {27278#true} assume true; {27278#true} is VALID [2022-04-27 13:13:47,895 INFO L290 TraceCheckUtils]: 94: Hoare triple {27278#true} assume !(0 == ~cond); {27278#true} is VALID [2022-04-27 13:13:47,895 INFO L290 TraceCheckUtils]: 93: Hoare triple {27278#true} ~cond := #in~cond; {27278#true} is VALID [2022-04-27 13:13:47,895 INFO L272 TraceCheckUtils]: 92: Hoare triple {27708#(or (< main_~c~0 (+ main_~b~0 main_~v~0)) (<= (* main_~v~0 2) main_~c~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {27278#true} is VALID [2022-04-27 13:13:47,896 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {27278#true} {27708#(or (< main_~c~0 (+ main_~b~0 main_~v~0)) (<= (* main_~v~0 2) main_~c~0))} #104#return; {27708#(or (< main_~c~0 (+ main_~b~0 main_~v~0)) (<= (* main_~v~0 2) main_~c~0))} is VALID [2022-04-27 13:13:47,896 INFO L290 TraceCheckUtils]: 90: Hoare triple {27278#true} assume true; {27278#true} is VALID [2022-04-27 13:13:47,896 INFO L290 TraceCheckUtils]: 89: Hoare triple {27278#true} assume !(0 == ~cond); {27278#true} is VALID [2022-04-27 13:13:47,896 INFO L290 TraceCheckUtils]: 88: Hoare triple {27278#true} ~cond := #in~cond; {27278#true} is VALID [2022-04-27 13:13:47,896 INFO L272 TraceCheckUtils]: 87: Hoare triple {27708#(or (< main_~c~0 (+ main_~b~0 main_~v~0)) (<= (* main_~v~0 2) main_~c~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {27278#true} is VALID [2022-04-27 13:13:47,897 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {27278#true} {27708#(or (< main_~c~0 (+ main_~b~0 main_~v~0)) (<= (* main_~v~0 2) main_~c~0))} #102#return; {27708#(or (< main_~c~0 (+ main_~b~0 main_~v~0)) (<= (* main_~v~0 2) main_~c~0))} is VALID [2022-04-27 13:13:47,897 INFO L290 TraceCheckUtils]: 85: Hoare triple {27278#true} assume true; {27278#true} is VALID [2022-04-27 13:13:47,897 INFO L290 TraceCheckUtils]: 84: Hoare triple {27278#true} assume !(0 == ~cond); {27278#true} is VALID [2022-04-27 13:13:47,897 INFO L290 TraceCheckUtils]: 83: Hoare triple {27278#true} ~cond := #in~cond; {27278#true} is VALID [2022-04-27 13:13:47,897 INFO L272 TraceCheckUtils]: 82: Hoare triple {27708#(or (< main_~c~0 (+ main_~b~0 main_~v~0)) (<= (* main_~v~0 2) main_~c~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {27278#true} is VALID [2022-04-27 13:13:47,898 INFO L290 TraceCheckUtils]: 81: Hoare triple {27708#(or (< main_~c~0 (+ main_~b~0 main_~v~0)) (<= (* main_~v~0 2) main_~c~0))} assume !false; {27708#(or (< main_~c~0 (+ main_~b~0 main_~v~0)) (<= (* main_~v~0 2) main_~c~0))} is VALID [2022-04-27 13:13:47,899 INFO L290 TraceCheckUtils]: 80: Hoare triple {27775#(or (<= (* main_~v~0 2) (div main_~c~0 2)) (<= main_~c~0 (+ main_~b~0 (div main_~c~0 2))) (not (<= (* main_~v~0 2) main_~c~0)))} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {27708#(or (< main_~c~0 (+ main_~b~0 main_~v~0)) (<= (* main_~v~0 2) main_~c~0))} is VALID [2022-04-27 13:13:47,900 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {27278#true} {27775#(or (<= (* main_~v~0 2) (div main_~c~0 2)) (<= main_~c~0 (+ main_~b~0 (div main_~c~0 2))) (not (<= (* main_~v~0 2) main_~c~0)))} #108#return; {27775#(or (<= (* main_~v~0 2) (div main_~c~0 2)) (<= main_~c~0 (+ main_~b~0 (div main_~c~0 2))) (not (<= (* main_~v~0 2) main_~c~0)))} is VALID [2022-04-27 13:13:47,900 INFO L290 TraceCheckUtils]: 78: Hoare triple {27278#true} assume true; {27278#true} is VALID [2022-04-27 13:13:47,900 INFO L290 TraceCheckUtils]: 77: Hoare triple {27278#true} assume !(0 == ~cond); {27278#true} is VALID [2022-04-27 13:13:47,900 INFO L290 TraceCheckUtils]: 76: Hoare triple {27278#true} ~cond := #in~cond; {27278#true} is VALID [2022-04-27 13:13:47,900 INFO L272 TraceCheckUtils]: 75: Hoare triple {27775#(or (<= (* main_~v~0 2) (div main_~c~0 2)) (<= main_~c~0 (+ main_~b~0 (div main_~c~0 2))) (not (<= (* main_~v~0 2) main_~c~0)))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {27278#true} is VALID [2022-04-27 13:13:47,900 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {27278#true} {27775#(or (<= (* main_~v~0 2) (div main_~c~0 2)) (<= main_~c~0 (+ main_~b~0 (div main_~c~0 2))) (not (<= (* main_~v~0 2) main_~c~0)))} #106#return; {27775#(or (<= (* main_~v~0 2) (div main_~c~0 2)) (<= main_~c~0 (+ main_~b~0 (div main_~c~0 2))) (not (<= (* main_~v~0 2) main_~c~0)))} is VALID [2022-04-27 13:13:47,900 INFO L290 TraceCheckUtils]: 73: Hoare triple {27278#true} assume true; {27278#true} is VALID [2022-04-27 13:13:47,901 INFO L290 TraceCheckUtils]: 72: Hoare triple {27278#true} assume !(0 == ~cond); {27278#true} is VALID [2022-04-27 13:13:47,901 INFO L290 TraceCheckUtils]: 71: Hoare triple {27278#true} ~cond := #in~cond; {27278#true} is VALID [2022-04-27 13:13:47,901 INFO L272 TraceCheckUtils]: 70: Hoare triple {27775#(or (<= (* main_~v~0 2) (div main_~c~0 2)) (<= main_~c~0 (+ main_~b~0 (div main_~c~0 2))) (not (<= (* main_~v~0 2) main_~c~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {27278#true} is VALID [2022-04-27 13:13:47,901 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {27278#true} {27775#(or (<= (* main_~v~0 2) (div main_~c~0 2)) (<= main_~c~0 (+ main_~b~0 (div main_~c~0 2))) (not (<= (* main_~v~0 2) main_~c~0)))} #104#return; {27775#(or (<= (* main_~v~0 2) (div main_~c~0 2)) (<= main_~c~0 (+ main_~b~0 (div main_~c~0 2))) (not (<= (* main_~v~0 2) main_~c~0)))} is VALID [2022-04-27 13:13:47,901 INFO L290 TraceCheckUtils]: 68: Hoare triple {27278#true} assume true; {27278#true} is VALID [2022-04-27 13:13:47,901 INFO L290 TraceCheckUtils]: 67: Hoare triple {27278#true} assume !(0 == ~cond); {27278#true} is VALID [2022-04-27 13:13:47,901 INFO L290 TraceCheckUtils]: 66: Hoare triple {27278#true} ~cond := #in~cond; {27278#true} is VALID [2022-04-27 13:13:47,901 INFO L272 TraceCheckUtils]: 65: Hoare triple {27775#(or (<= (* main_~v~0 2) (div main_~c~0 2)) (<= main_~c~0 (+ main_~b~0 (div main_~c~0 2))) (not (<= (* main_~v~0 2) main_~c~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {27278#true} is VALID [2022-04-27 13:13:47,902 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {27278#true} {27775#(or (<= (* main_~v~0 2) (div main_~c~0 2)) (<= main_~c~0 (+ main_~b~0 (div main_~c~0 2))) (not (<= (* main_~v~0 2) main_~c~0)))} #102#return; {27775#(or (<= (* main_~v~0 2) (div main_~c~0 2)) (<= main_~c~0 (+ main_~b~0 (div main_~c~0 2))) (not (<= (* main_~v~0 2) main_~c~0)))} is VALID [2022-04-27 13:13:47,902 INFO L290 TraceCheckUtils]: 63: Hoare triple {27278#true} assume true; {27278#true} is VALID [2022-04-27 13:13:47,902 INFO L290 TraceCheckUtils]: 62: Hoare triple {27278#true} assume !(0 == ~cond); {27278#true} is VALID [2022-04-27 13:13:47,902 INFO L290 TraceCheckUtils]: 61: Hoare triple {27278#true} ~cond := #in~cond; {27278#true} is VALID [2022-04-27 13:13:47,902 INFO L272 TraceCheckUtils]: 60: Hoare triple {27775#(or (<= (* main_~v~0 2) (div main_~c~0 2)) (<= main_~c~0 (+ main_~b~0 (div main_~c~0 2))) (not (<= (* main_~v~0 2) main_~c~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {27278#true} is VALID [2022-04-27 13:13:47,903 INFO L290 TraceCheckUtils]: 59: Hoare triple {27775#(or (<= (* main_~v~0 2) (div main_~c~0 2)) (<= main_~c~0 (+ main_~b~0 (div main_~c~0 2))) (not (<= (* main_~v~0 2) main_~c~0)))} assume !false; {27775#(or (<= (* main_~v~0 2) (div main_~c~0 2)) (<= main_~c~0 (+ main_~b~0 (div main_~c~0 2))) (not (<= (* main_~v~0 2) main_~c~0)))} is VALID [2022-04-27 13:13:47,904 INFO L290 TraceCheckUtils]: 58: Hoare triple {27842#(or (<= main_~c~0 (+ main_~b~0 (div main_~c~0 2))) (not (<= (* main_~v~0 4) main_~c~0)) (<= (* main_~v~0 4) (div main_~c~0 2)))} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {27775#(or (<= (* main_~v~0 2) (div main_~c~0 2)) (<= main_~c~0 (+ main_~b~0 (div main_~c~0 2))) (not (<= (* main_~v~0 2) main_~c~0)))} is VALID [2022-04-27 13:13:47,904 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {27278#true} {27842#(or (<= main_~c~0 (+ main_~b~0 (div main_~c~0 2))) (not (<= (* main_~v~0 4) main_~c~0)) (<= (* main_~v~0 4) (div main_~c~0 2)))} #108#return; {27842#(or (<= main_~c~0 (+ main_~b~0 (div main_~c~0 2))) (not (<= (* main_~v~0 4) main_~c~0)) (<= (* main_~v~0 4) (div main_~c~0 2)))} is VALID [2022-04-27 13:13:47,904 INFO L290 TraceCheckUtils]: 56: Hoare triple {27278#true} assume true; {27278#true} is VALID [2022-04-27 13:13:47,904 INFO L290 TraceCheckUtils]: 55: Hoare triple {27278#true} assume !(0 == ~cond); {27278#true} is VALID [2022-04-27 13:13:47,904 INFO L290 TraceCheckUtils]: 54: Hoare triple {27278#true} ~cond := #in~cond; {27278#true} is VALID [2022-04-27 13:13:47,904 INFO L272 TraceCheckUtils]: 53: Hoare triple {27842#(or (<= main_~c~0 (+ main_~b~0 (div main_~c~0 2))) (not (<= (* main_~v~0 4) main_~c~0)) (<= (* main_~v~0 4) (div main_~c~0 2)))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {27278#true} is VALID [2022-04-27 13:13:47,905 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {27278#true} {27842#(or (<= main_~c~0 (+ main_~b~0 (div main_~c~0 2))) (not (<= (* main_~v~0 4) main_~c~0)) (<= (* main_~v~0 4) (div main_~c~0 2)))} #106#return; {27842#(or (<= main_~c~0 (+ main_~b~0 (div main_~c~0 2))) (not (<= (* main_~v~0 4) main_~c~0)) (<= (* main_~v~0 4) (div main_~c~0 2)))} is VALID [2022-04-27 13:13:47,905 INFO L290 TraceCheckUtils]: 51: Hoare triple {27278#true} assume true; {27278#true} is VALID [2022-04-27 13:13:47,905 INFO L290 TraceCheckUtils]: 50: Hoare triple {27278#true} assume !(0 == ~cond); {27278#true} is VALID [2022-04-27 13:13:47,905 INFO L290 TraceCheckUtils]: 49: Hoare triple {27278#true} ~cond := #in~cond; {27278#true} is VALID [2022-04-27 13:13:47,905 INFO L272 TraceCheckUtils]: 48: Hoare triple {27842#(or (<= main_~c~0 (+ main_~b~0 (div main_~c~0 2))) (not (<= (* main_~v~0 4) main_~c~0)) (<= (* main_~v~0 4) (div main_~c~0 2)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {27278#true} is VALID [2022-04-27 13:13:47,906 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {27278#true} {27842#(or (<= main_~c~0 (+ main_~b~0 (div main_~c~0 2))) (not (<= (* main_~v~0 4) main_~c~0)) (<= (* main_~v~0 4) (div main_~c~0 2)))} #104#return; {27842#(or (<= main_~c~0 (+ main_~b~0 (div main_~c~0 2))) (not (<= (* main_~v~0 4) main_~c~0)) (<= (* main_~v~0 4) (div main_~c~0 2)))} is VALID [2022-04-27 13:13:47,906 INFO L290 TraceCheckUtils]: 46: Hoare triple {27278#true} assume true; {27278#true} is VALID [2022-04-27 13:13:47,906 INFO L290 TraceCheckUtils]: 45: Hoare triple {27278#true} assume !(0 == ~cond); {27278#true} is VALID [2022-04-27 13:13:47,906 INFO L290 TraceCheckUtils]: 44: Hoare triple {27278#true} ~cond := #in~cond; {27278#true} is VALID [2022-04-27 13:13:47,906 INFO L272 TraceCheckUtils]: 43: Hoare triple {27842#(or (<= main_~c~0 (+ main_~b~0 (div main_~c~0 2))) (not (<= (* main_~v~0 4) main_~c~0)) (<= (* main_~v~0 4) (div main_~c~0 2)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {27278#true} is VALID [2022-04-27 13:13:47,906 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {27278#true} {27842#(or (<= main_~c~0 (+ main_~b~0 (div main_~c~0 2))) (not (<= (* main_~v~0 4) main_~c~0)) (<= (* main_~v~0 4) (div main_~c~0 2)))} #102#return; {27842#(or (<= main_~c~0 (+ main_~b~0 (div main_~c~0 2))) (not (<= (* main_~v~0 4) main_~c~0)) (<= (* main_~v~0 4) (div main_~c~0 2)))} is VALID [2022-04-27 13:13:47,907 INFO L290 TraceCheckUtils]: 41: Hoare triple {27278#true} assume true; {27278#true} is VALID [2022-04-27 13:13:47,907 INFO L290 TraceCheckUtils]: 40: Hoare triple {27278#true} assume !(0 == ~cond); {27278#true} is VALID [2022-04-27 13:13:47,907 INFO L290 TraceCheckUtils]: 39: Hoare triple {27278#true} ~cond := #in~cond; {27278#true} is VALID [2022-04-27 13:13:47,907 INFO L272 TraceCheckUtils]: 38: Hoare triple {27842#(or (<= main_~c~0 (+ main_~b~0 (div main_~c~0 2))) (not (<= (* main_~v~0 4) main_~c~0)) (<= (* main_~v~0 4) (div main_~c~0 2)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {27278#true} is VALID [2022-04-27 13:13:47,907 INFO L290 TraceCheckUtils]: 37: Hoare triple {27842#(or (<= main_~c~0 (+ main_~b~0 (div main_~c~0 2))) (not (<= (* main_~v~0 4) main_~c~0)) (<= (* main_~v~0 4) (div main_~c~0 2)))} assume !false; {27842#(or (<= main_~c~0 (+ main_~b~0 (div main_~c~0 2))) (not (<= (* main_~v~0 4) main_~c~0)) (<= (* main_~v~0 4) (div main_~c~0 2)))} is VALID [2022-04-27 13:13:47,909 INFO L290 TraceCheckUtils]: 36: Hoare triple {27909#(<= (div main_~c~0 4) (div (div main_~c~0 2) 4))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {27842#(or (<= main_~c~0 (+ main_~b~0 (div main_~c~0 2))) (not (<= (* main_~v~0 4) main_~c~0)) (<= (* main_~v~0 4) (div main_~c~0 2)))} is VALID [2022-04-27 13:13:47,909 INFO L290 TraceCheckUtils]: 35: Hoare triple {27909#(<= (div main_~c~0 4) (div (div main_~c~0 2) 4))} assume !false; {27909#(<= (div main_~c~0 4) (div (div main_~c~0 2) 4))} is VALID [2022-04-27 13:13:47,910 INFO L290 TraceCheckUtils]: 34: Hoare triple {27916#(<= (div (+ (- 1) (* (- 1) main_~a~0)) (- 4)) 1)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {27909#(<= (div main_~c~0 4) (div (div main_~c~0 2) 4))} is VALID [2022-04-27 13:13:47,911 INFO L290 TraceCheckUtils]: 33: Hoare triple {27916#(<= (div (+ (- 1) (* (- 1) main_~a~0)) (- 4)) 1)} assume !false; {27916#(<= (div (+ (- 1) (* (- 1) main_~a~0)) (- 4)) 1)} is VALID [2022-04-27 13:13:47,911 INFO L290 TraceCheckUtils]: 32: Hoare triple {27923#(<= (div (+ (* (- 1) main_~b~0) (- 5)) (- 4)) 2)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {27916#(<= (div (+ (- 1) (* (- 1) main_~a~0)) (- 4)) 1)} is VALID [2022-04-27 13:13:47,912 INFO L290 TraceCheckUtils]: 31: Hoare triple {27923#(<= (div (+ (* (- 1) main_~b~0) (- 5)) (- 4)) 2)} assume !(~c~0 >= ~b~0); {27923#(<= (div (+ (* (- 1) main_~b~0) (- 5)) (- 4)) 2)} is VALID [2022-04-27 13:13:47,912 INFO L290 TraceCheckUtils]: 30: Hoare triple {27923#(<= (div (+ (* (- 1) main_~b~0) (- 5)) (- 4)) 2)} assume !false; {27923#(<= (div (+ (* (- 1) main_~b~0) (- 5)) (- 4)) 2)} is VALID [2022-04-27 13:13:47,912 INFO L290 TraceCheckUtils]: 29: Hoare triple {27923#(<= (div (+ (* (- 1) main_~b~0) (- 5)) (- 4)) 2)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {27923#(<= (div (+ (* (- 1) main_~b~0) (- 5)) (- 4)) 2)} is VALID [2022-04-27 13:13:47,913 INFO L290 TraceCheckUtils]: 28: Hoare triple {27923#(<= (div (+ (* (- 1) main_~b~0) (- 5)) (- 4)) 2)} assume !false; {27923#(<= (div (+ (* (- 1) main_~b~0) (- 5)) (- 4)) 2)} is VALID [2022-04-27 13:13:47,913 INFO L290 TraceCheckUtils]: 27: Hoare triple {27939#(<= (div (+ (- 9) (* (- 1) main_~y~0)) (- 4)) 3)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {27923#(<= (div (+ (* (- 1) main_~b~0) (- 5)) (- 4)) 2)} is VALID [2022-04-27 13:13:47,914 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {27278#true} {27939#(<= (div (+ (- 9) (* (- 1) main_~y~0)) (- 4)) 3)} #100#return; {27939#(<= (div (+ (- 9) (* (- 1) main_~y~0)) (- 4)) 3)} is VALID [2022-04-27 13:13:47,914 INFO L290 TraceCheckUtils]: 25: Hoare triple {27278#true} assume true; {27278#true} is VALID [2022-04-27 13:13:47,914 INFO L290 TraceCheckUtils]: 24: Hoare triple {27278#true} assume !(0 == ~cond); {27278#true} is VALID [2022-04-27 13:13:47,914 INFO L290 TraceCheckUtils]: 23: Hoare triple {27278#true} ~cond := #in~cond; {27278#true} is VALID [2022-04-27 13:13:47,914 INFO L272 TraceCheckUtils]: 22: Hoare triple {27939#(<= (div (+ (- 9) (* (- 1) main_~y~0)) (- 4)) 3)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {27278#true} is VALID [2022-04-27 13:13:47,914 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {27278#true} {27939#(<= (div (+ (- 9) (* (- 1) main_~y~0)) (- 4)) 3)} #98#return; {27939#(<= (div (+ (- 9) (* (- 1) main_~y~0)) (- 4)) 3)} is VALID [2022-04-27 13:13:47,914 INFO L290 TraceCheckUtils]: 20: Hoare triple {27278#true} assume true; {27278#true} is VALID [2022-04-27 13:13:47,914 INFO L290 TraceCheckUtils]: 19: Hoare triple {27278#true} assume !(0 == ~cond); {27278#true} is VALID [2022-04-27 13:13:47,914 INFO L290 TraceCheckUtils]: 18: Hoare triple {27278#true} ~cond := #in~cond; {27278#true} is VALID [2022-04-27 13:13:47,915 INFO L272 TraceCheckUtils]: 17: Hoare triple {27939#(<= (div (+ (- 9) (* (- 1) main_~y~0)) (- 4)) 3)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {27278#true} is VALID [2022-04-27 13:13:47,915 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {27326#(not (= |assume_abort_if_not_#in~cond| 0))} {27278#true} #96#return; {27939#(<= (div (+ (- 9) (* (- 1) main_~y~0)) (- 4)) 3)} is VALID [2022-04-27 13:13:47,915 INFO L290 TraceCheckUtils]: 15: Hoare triple {27326#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {27326#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:13:47,916 INFO L290 TraceCheckUtils]: 14: Hoare triple {27982#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {27326#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:13:47,916 INFO L290 TraceCheckUtils]: 13: Hoare triple {27278#true} ~cond := #in~cond; {27982#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-27 13:13:47,916 INFO L272 TraceCheckUtils]: 12: Hoare triple {27278#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {27278#true} is VALID [2022-04-27 13:13:47,916 INFO L290 TraceCheckUtils]: 11: Hoare triple {27278#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {27278#true} is VALID [2022-04-27 13:13:47,916 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {27278#true} {27278#true} #94#return; {27278#true} is VALID [2022-04-27 13:13:47,916 INFO L290 TraceCheckUtils]: 9: Hoare triple {27278#true} assume true; {27278#true} is VALID [2022-04-27 13:13:47,916 INFO L290 TraceCheckUtils]: 8: Hoare triple {27278#true} assume !(0 == ~cond); {27278#true} is VALID [2022-04-27 13:13:47,916 INFO L290 TraceCheckUtils]: 7: Hoare triple {27278#true} ~cond := #in~cond; {27278#true} is VALID [2022-04-27 13:13:47,916 INFO L272 TraceCheckUtils]: 6: Hoare triple {27278#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {27278#true} is VALID [2022-04-27 13:13:47,917 INFO L290 TraceCheckUtils]: 5: Hoare triple {27278#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {27278#true} is VALID [2022-04-27 13:13:47,917 INFO L272 TraceCheckUtils]: 4: Hoare triple {27278#true} call #t~ret6 := main(); {27278#true} is VALID [2022-04-27 13:13:47,917 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {27278#true} {27278#true} #112#return; {27278#true} is VALID [2022-04-27 13:13:47,917 INFO L290 TraceCheckUtils]: 2: Hoare triple {27278#true} assume true; {27278#true} is VALID [2022-04-27 13:13:47,917 INFO L290 TraceCheckUtils]: 1: Hoare triple {27278#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(11, 2);call #Ultimate.allocInit(12, 3); {27278#true} is VALID [2022-04-27 13:13:47,917 INFO L272 TraceCheckUtils]: 0: Hoare triple {27278#true} call ULTIMATE.init(); {27278#true} is VALID [2022-04-27 13:13:47,917 INFO L134 CoverageAnalysis]: Checked inductivity of 454 backedges. 43 proven. 32 refuted. 0 times theorem prover too weak. 379 trivial. 0 not checked. [2022-04-27 13:13:47,917 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:13:47,917 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1090470675] [2022-04-27 13:13:47,917 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:13:47,917 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1659653732] [2022-04-27 13:13:47,918 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1659653732] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 13:13:47,918 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 13:13:47,918 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 13] total 21 [2022-04-27 13:13:47,918 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [47476891] [2022-04-27 13:13:47,918 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 13:13:47,918 INFO L78 Accepts]: Start accepts. Automaton has has 21 states, 21 states have (on average 2.8095238095238093) internal successors, (59), 19 states have internal predecessors, (59), 10 states have call successors, (37), 2 states have call predecessors, (37), 3 states have return successors, (36), 10 states have call predecessors, (36), 10 states have call successors, (36) Word has length 121 [2022-04-27 13:13:47,919 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:13:47,919 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 21 states, 21 states have (on average 2.8095238095238093) internal successors, (59), 19 states have internal predecessors, (59), 10 states have call successors, (37), 2 states have call predecessors, (37), 3 states have return successors, (36), 10 states have call predecessors, (36), 10 states have call successors, (36) [2022-04-27 13:13:48,045 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 132 edges. 132 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:13:48,045 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 21 states [2022-04-27 13:13:48,045 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:13:48,046 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 21 interpolants. [2022-04-27 13:13:48,046 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=69, Invalid=351, Unknown=0, NotChecked=0, Total=420 [2022-04-27 13:13:48,046 INFO L87 Difference]: Start difference. First operand 500 states and 718 transitions. Second operand has 21 states, 21 states have (on average 2.8095238095238093) internal successors, (59), 19 states have internal predecessors, (59), 10 states have call successors, (37), 2 states have call predecessors, (37), 3 states have return successors, (36), 10 states have call predecessors, (36), 10 states have call successors, (36) [2022-04-27 13:13:51,432 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:13:51,432 INFO L93 Difference]: Finished difference Result 609 states and 847 transitions. [2022-04-27 13:13:51,432 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2022-04-27 13:13:51,433 INFO L78 Accepts]: Start accepts. Automaton has has 21 states, 21 states have (on average 2.8095238095238093) internal successors, (59), 19 states have internal predecessors, (59), 10 states have call successors, (37), 2 states have call predecessors, (37), 3 states have return successors, (36), 10 states have call predecessors, (36), 10 states have call successors, (36) Word has length 121 [2022-04-27 13:13:51,433 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:13:51,433 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 21 states, 21 states have (on average 2.8095238095238093) internal successors, (59), 19 states have internal predecessors, (59), 10 states have call successors, (37), 2 states have call predecessors, (37), 3 states have return successors, (36), 10 states have call predecessors, (36), 10 states have call successors, (36) [2022-04-27 13:13:51,434 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 122 transitions. [2022-04-27 13:13:51,434 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 21 states, 21 states have (on average 2.8095238095238093) internal successors, (59), 19 states have internal predecessors, (59), 10 states have call successors, (37), 2 states have call predecessors, (37), 3 states have return successors, (36), 10 states have call predecessors, (36), 10 states have call successors, (36) [2022-04-27 13:13:51,435 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 122 transitions. [2022-04-27 13:13:51,435 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 17 states and 122 transitions. [2022-04-27 13:13:51,564 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 122 edges. 122 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:13:51,568 INFO L225 Difference]: With dead ends: 609 [2022-04-27 13:13:51,568 INFO L226 Difference]: Without dead ends: 237 [2022-04-27 13:13:51,569 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 254 GetRequests, 222 SyntacticMatches, 0 SemanticMatches, 32 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 149 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=253, Invalid=869, Unknown=0, NotChecked=0, Total=1122 [2022-04-27 13:13:51,570 INFO L413 NwaCegarLoop]: 64 mSDtfsCounter, 70 mSDsluCounter, 286 mSDsCounter, 0 mSdLazyCounter, 462 mSolverCounterSat, 137 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 70 SdHoareTripleChecker+Valid, 350 SdHoareTripleChecker+Invalid, 599 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 137 IncrementalHoareTripleChecker+Valid, 462 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.7s IncrementalHoareTripleChecker+Time [2022-04-27 13:13:51,570 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [70 Valid, 350 Invalid, 599 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [137 Valid, 462 Invalid, 0 Unknown, 0 Unchecked, 0.7s Time] [2022-04-27 13:13:51,570 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 237 states. [2022-04-27 13:13:52,498 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 237 to 210. [2022-04-27 13:13:52,498 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:13:52,498 INFO L82 GeneralOperation]: Start isEquivalent. First operand 237 states. Second operand has 210 states, 127 states have (on average 1.0393700787401574) internal successors, (132), 128 states have internal predecessors, (132), 63 states have call successors, (63), 20 states have call predecessors, (63), 19 states have return successors, (61), 61 states have call predecessors, (61), 61 states have call successors, (61) [2022-04-27 13:13:52,498 INFO L74 IsIncluded]: Start isIncluded. First operand 237 states. Second operand has 210 states, 127 states have (on average 1.0393700787401574) internal successors, (132), 128 states have internal predecessors, (132), 63 states have call successors, (63), 20 states have call predecessors, (63), 19 states have return successors, (61), 61 states have call predecessors, (61), 61 states have call successors, (61) [2022-04-27 13:13:52,499 INFO L87 Difference]: Start difference. First operand 237 states. Second operand has 210 states, 127 states have (on average 1.0393700787401574) internal successors, (132), 128 states have internal predecessors, (132), 63 states have call successors, (63), 20 states have call predecessors, (63), 19 states have return successors, (61), 61 states have call predecessors, (61), 61 states have call successors, (61) [2022-04-27 13:13:52,502 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:13:52,502 INFO L93 Difference]: Finished difference Result 237 states and 290 transitions. [2022-04-27 13:13:52,502 INFO L276 IsEmpty]: Start isEmpty. Operand 237 states and 290 transitions. [2022-04-27 13:13:52,503 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:13:52,503 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:13:52,503 INFO L74 IsIncluded]: Start isIncluded. First operand has 210 states, 127 states have (on average 1.0393700787401574) internal successors, (132), 128 states have internal predecessors, (132), 63 states have call successors, (63), 20 states have call predecessors, (63), 19 states have return successors, (61), 61 states have call predecessors, (61), 61 states have call successors, (61) Second operand 237 states. [2022-04-27 13:13:52,503 INFO L87 Difference]: Start difference. First operand has 210 states, 127 states have (on average 1.0393700787401574) internal successors, (132), 128 states have internal predecessors, (132), 63 states have call successors, (63), 20 states have call predecessors, (63), 19 states have return successors, (61), 61 states have call predecessors, (61), 61 states have call successors, (61) Second operand 237 states. [2022-04-27 13:13:52,507 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:13:52,507 INFO L93 Difference]: Finished difference Result 237 states and 290 transitions. [2022-04-27 13:13:52,507 INFO L276 IsEmpty]: Start isEmpty. Operand 237 states and 290 transitions. [2022-04-27 13:13:52,507 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:13:52,507 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:13:52,507 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:13:52,507 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:13:52,508 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 210 states, 127 states have (on average 1.0393700787401574) internal successors, (132), 128 states have internal predecessors, (132), 63 states have call successors, (63), 20 states have call predecessors, (63), 19 states have return successors, (61), 61 states have call predecessors, (61), 61 states have call successors, (61) [2022-04-27 13:13:52,511 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 210 states to 210 states and 256 transitions. [2022-04-27 13:13:52,511 INFO L78 Accepts]: Start accepts. Automaton has 210 states and 256 transitions. Word has length 121 [2022-04-27 13:13:52,511 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:13:52,511 INFO L495 AbstractCegarLoop]: Abstraction has 210 states and 256 transitions. [2022-04-27 13:13:52,511 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 21 states, 21 states have (on average 2.8095238095238093) internal successors, (59), 19 states have internal predecessors, (59), 10 states have call successors, (37), 2 states have call predecessors, (37), 3 states have return successors, (36), 10 states have call predecessors, (36), 10 states have call successors, (36) [2022-04-27 13:13:52,511 INFO L276 IsEmpty]: Start isEmpty. Operand 210 states and 256 transitions. [2022-04-27 13:13:52,512 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 152 [2022-04-27 13:13:52,512 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:13:52,512 INFO L195 NwaCegarLoop]: trace histogram [18, 17, 17, 6, 5, 5, 5, 5, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:13:52,530 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (19)] Forceful destruction successful, exit code 0 [2022-04-27 13:13:52,725 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable18,19 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:13:52,725 INFO L420 AbstractCegarLoop]: === Iteration 20 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:13:52,726 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:13:52,726 INFO L85 PathProgramCache]: Analyzing trace with hash -1839651187, now seen corresponding path program 5 times [2022-04-27 13:13:52,726 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:13:52,726 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1455635004] [2022-04-27 13:13:52,726 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:13:52,726 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:13:52,737 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:13:52,737 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1631715459] [2022-04-27 13:13:52,737 INFO L93 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2022-04-27 13:13:52,738 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:13:52,738 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:13:52,738 INFO L229 MonitoredProcess]: Starting monitored process 20 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 13:13:52,748 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (20)] Waiting until timeout for monitored process [2022-04-27 13:13:52,873 INFO L228 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 8 check-sat command(s) [2022-04-27 13:13:52,874 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 13:13:52,875 INFO L263 TraceCheckSpWp]: Trace formula consists of 372 conjuncts, 24 conjunts are in the unsatisfiable core [2022-04-27 13:13:52,901 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:13:52,903 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:15:34,771 INFO L272 TraceCheckUtils]: 0: Hoare triple {29812#true} call ULTIMATE.init(); {29812#true} is VALID [2022-04-27 13:15:34,772 INFO L290 TraceCheckUtils]: 1: Hoare triple {29812#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(11, 2);call #Ultimate.allocInit(12, 3); {29812#true} is VALID [2022-04-27 13:15:34,772 INFO L290 TraceCheckUtils]: 2: Hoare triple {29812#true} assume true; {29812#true} is VALID [2022-04-27 13:15:34,772 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {29812#true} {29812#true} #112#return; {29812#true} is VALID [2022-04-27 13:15:34,772 INFO L272 TraceCheckUtils]: 4: Hoare triple {29812#true} call #t~ret6 := main(); {29812#true} is VALID [2022-04-27 13:15:34,772 INFO L290 TraceCheckUtils]: 5: Hoare triple {29812#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {29812#true} is VALID [2022-04-27 13:15:34,772 INFO L272 TraceCheckUtils]: 6: Hoare triple {29812#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {29812#true} is VALID [2022-04-27 13:15:34,772 INFO L290 TraceCheckUtils]: 7: Hoare triple {29812#true} ~cond := #in~cond; {29812#true} is VALID [2022-04-27 13:15:34,772 INFO L290 TraceCheckUtils]: 8: Hoare triple {29812#true} assume !(0 == ~cond); {29812#true} is VALID [2022-04-27 13:15:34,772 INFO L290 TraceCheckUtils]: 9: Hoare triple {29812#true} assume true; {29812#true} is VALID [2022-04-27 13:15:34,772 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {29812#true} {29812#true} #94#return; {29812#true} is VALID [2022-04-27 13:15:34,772 INFO L290 TraceCheckUtils]: 11: Hoare triple {29812#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {29812#true} is VALID [2022-04-27 13:15:34,772 INFO L272 TraceCheckUtils]: 12: Hoare triple {29812#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {29812#true} is VALID [2022-04-27 13:15:34,773 INFO L290 TraceCheckUtils]: 13: Hoare triple {29812#true} ~cond := #in~cond; {29856#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 13:15:34,773 INFO L290 TraceCheckUtils]: 14: Hoare triple {29856#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {29860#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:15:34,773 INFO L290 TraceCheckUtils]: 15: Hoare triple {29860#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {29860#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:15:34,774 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {29860#(not (= |assume_abort_if_not_#in~cond| 0))} {29812#true} #96#return; {29867#(and (<= 0 main_~y~0) (<= main_~y~0 2))} is VALID [2022-04-27 13:15:34,774 INFO L272 TraceCheckUtils]: 17: Hoare triple {29867#(and (<= 0 main_~y~0) (<= main_~y~0 2))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {29812#true} is VALID [2022-04-27 13:15:34,774 INFO L290 TraceCheckUtils]: 18: Hoare triple {29812#true} ~cond := #in~cond; {29812#true} is VALID [2022-04-27 13:15:34,774 INFO L290 TraceCheckUtils]: 19: Hoare triple {29812#true} assume !(0 == ~cond); {29812#true} is VALID [2022-04-27 13:15:34,774 INFO L290 TraceCheckUtils]: 20: Hoare triple {29812#true} assume true; {29812#true} is VALID [2022-04-27 13:15:34,774 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {29812#true} {29867#(and (<= 0 main_~y~0) (<= main_~y~0 2))} #98#return; {29867#(and (<= 0 main_~y~0) (<= main_~y~0 2))} is VALID [2022-04-27 13:15:34,774 INFO L272 TraceCheckUtils]: 22: Hoare triple {29867#(and (<= 0 main_~y~0) (<= main_~y~0 2))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {29812#true} is VALID [2022-04-27 13:15:34,774 INFO L290 TraceCheckUtils]: 23: Hoare triple {29812#true} ~cond := #in~cond; {29812#true} is VALID [2022-04-27 13:15:34,774 INFO L290 TraceCheckUtils]: 24: Hoare triple {29812#true} assume !(0 == ~cond); {29812#true} is VALID [2022-04-27 13:15:34,774 INFO L290 TraceCheckUtils]: 25: Hoare triple {29812#true} assume true; {29812#true} is VALID [2022-04-27 13:15:34,775 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {29812#true} {29867#(and (<= 0 main_~y~0) (<= main_~y~0 2))} #100#return; {29867#(and (<= 0 main_~y~0) (<= main_~y~0 2))} is VALID [2022-04-27 13:15:34,775 INFO L290 TraceCheckUtils]: 27: Hoare triple {29867#(and (<= 0 main_~y~0) (<= main_~y~0 2))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {29901#(<= main_~b~0 2)} is VALID [2022-04-27 13:15:34,775 INFO L290 TraceCheckUtils]: 28: Hoare triple {29901#(<= main_~b~0 2)} assume !false; {29901#(<= main_~b~0 2)} is VALID [2022-04-27 13:15:34,776 INFO L290 TraceCheckUtils]: 29: Hoare triple {29901#(<= main_~b~0 2)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {29901#(<= main_~b~0 2)} is VALID [2022-04-27 13:15:34,776 INFO L290 TraceCheckUtils]: 30: Hoare triple {29901#(<= main_~b~0 2)} assume !false; {29901#(<= main_~b~0 2)} is VALID [2022-04-27 13:15:34,776 INFO L290 TraceCheckUtils]: 31: Hoare triple {29901#(<= main_~b~0 2)} assume !(~c~0 >= ~b~0); {29901#(<= main_~b~0 2)} is VALID [2022-04-27 13:15:34,777 INFO L290 TraceCheckUtils]: 32: Hoare triple {29901#(<= main_~b~0 2)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {29917#(<= main_~a~0 2)} is VALID [2022-04-27 13:15:34,777 INFO L290 TraceCheckUtils]: 33: Hoare triple {29917#(<= main_~a~0 2)} assume !false; {29917#(<= main_~a~0 2)} is VALID [2022-04-27 13:15:34,777 INFO L290 TraceCheckUtils]: 34: Hoare triple {29917#(<= main_~a~0 2)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {29924#(<= main_~c~0 2)} is VALID [2022-04-27 13:15:34,777 INFO L290 TraceCheckUtils]: 35: Hoare triple {29924#(<= main_~c~0 2)} assume !false; {29924#(<= main_~c~0 2)} is VALID [2022-04-27 13:15:34,778 INFO L290 TraceCheckUtils]: 36: Hoare triple {29924#(<= main_~c~0 2)} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {29931#(and (<= main_~c~0 2) (<= main_~b~0 main_~v~0))} is VALID [2022-04-27 13:15:34,778 INFO L290 TraceCheckUtils]: 37: Hoare triple {29931#(and (<= main_~c~0 2) (<= main_~b~0 main_~v~0))} assume !false; {29931#(and (<= main_~c~0 2) (<= main_~b~0 main_~v~0))} is VALID [2022-04-27 13:15:34,778 INFO L272 TraceCheckUtils]: 38: Hoare triple {29931#(and (<= main_~c~0 2) (<= main_~b~0 main_~v~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {29812#true} is VALID [2022-04-27 13:15:34,778 INFO L290 TraceCheckUtils]: 39: Hoare triple {29812#true} ~cond := #in~cond; {29812#true} is VALID [2022-04-27 13:15:34,778 INFO L290 TraceCheckUtils]: 40: Hoare triple {29812#true} assume !(0 == ~cond); {29812#true} is VALID [2022-04-27 13:15:34,778 INFO L290 TraceCheckUtils]: 41: Hoare triple {29812#true} assume true; {29812#true} is VALID [2022-04-27 13:15:34,779 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {29812#true} {29931#(and (<= main_~c~0 2) (<= main_~b~0 main_~v~0))} #102#return; {29931#(and (<= main_~c~0 2) (<= main_~b~0 main_~v~0))} is VALID [2022-04-27 13:15:34,779 INFO L272 TraceCheckUtils]: 43: Hoare triple {29931#(and (<= main_~c~0 2) (<= main_~b~0 main_~v~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {29812#true} is VALID [2022-04-27 13:15:34,779 INFO L290 TraceCheckUtils]: 44: Hoare triple {29812#true} ~cond := #in~cond; {29812#true} is VALID [2022-04-27 13:15:34,779 INFO L290 TraceCheckUtils]: 45: Hoare triple {29812#true} assume !(0 == ~cond); {29812#true} is VALID [2022-04-27 13:15:34,779 INFO L290 TraceCheckUtils]: 46: Hoare triple {29812#true} assume true; {29812#true} is VALID [2022-04-27 13:15:34,780 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {29812#true} {29931#(and (<= main_~c~0 2) (<= main_~b~0 main_~v~0))} #104#return; {29931#(and (<= main_~c~0 2) (<= main_~b~0 main_~v~0))} is VALID [2022-04-27 13:15:34,780 INFO L272 TraceCheckUtils]: 48: Hoare triple {29931#(and (<= main_~c~0 2) (<= main_~b~0 main_~v~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {29812#true} is VALID [2022-04-27 13:15:34,780 INFO L290 TraceCheckUtils]: 49: Hoare triple {29812#true} ~cond := #in~cond; {29812#true} is VALID [2022-04-27 13:15:34,780 INFO L290 TraceCheckUtils]: 50: Hoare triple {29812#true} assume !(0 == ~cond); {29812#true} is VALID [2022-04-27 13:15:34,780 INFO L290 TraceCheckUtils]: 51: Hoare triple {29812#true} assume true; {29812#true} is VALID [2022-04-27 13:15:34,781 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {29812#true} {29931#(and (<= main_~c~0 2) (<= main_~b~0 main_~v~0))} #106#return; {29931#(and (<= main_~c~0 2) (<= main_~b~0 main_~v~0))} is VALID [2022-04-27 13:15:34,781 INFO L272 TraceCheckUtils]: 53: Hoare triple {29931#(and (<= main_~c~0 2) (<= main_~b~0 main_~v~0))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {29812#true} is VALID [2022-04-27 13:15:34,781 INFO L290 TraceCheckUtils]: 54: Hoare triple {29812#true} ~cond := #in~cond; {29812#true} is VALID [2022-04-27 13:15:34,781 INFO L290 TraceCheckUtils]: 55: Hoare triple {29812#true} assume !(0 == ~cond); {29812#true} is VALID [2022-04-27 13:15:34,781 INFO L290 TraceCheckUtils]: 56: Hoare triple {29812#true} assume true; {29812#true} is VALID [2022-04-27 13:15:34,781 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {29812#true} {29931#(and (<= main_~c~0 2) (<= main_~b~0 main_~v~0))} #108#return; {29931#(and (<= main_~c~0 2) (<= main_~b~0 main_~v~0))} is VALID [2022-04-27 13:15:34,782 INFO L290 TraceCheckUtils]: 58: Hoare triple {29931#(and (<= main_~c~0 2) (<= main_~b~0 main_~v~0))} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {29998#(and (<= main_~c~0 2) (<= main_~b~0 (div main_~v~0 2)))} is VALID [2022-04-27 13:15:34,782 INFO L290 TraceCheckUtils]: 59: Hoare triple {29998#(and (<= main_~c~0 2) (<= main_~b~0 (div main_~v~0 2)))} assume !false; {29998#(and (<= main_~c~0 2) (<= main_~b~0 (div main_~v~0 2)))} is VALID [2022-04-27 13:15:34,782 INFO L272 TraceCheckUtils]: 60: Hoare triple {29998#(and (<= main_~c~0 2) (<= main_~b~0 (div main_~v~0 2)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {29812#true} is VALID [2022-04-27 13:15:34,783 INFO L290 TraceCheckUtils]: 61: Hoare triple {29812#true} ~cond := #in~cond; {29812#true} is VALID [2022-04-27 13:15:34,783 INFO L290 TraceCheckUtils]: 62: Hoare triple {29812#true} assume !(0 == ~cond); {29812#true} is VALID [2022-04-27 13:15:34,783 INFO L290 TraceCheckUtils]: 63: Hoare triple {29812#true} assume true; {29812#true} is VALID [2022-04-27 13:15:34,783 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {29812#true} {29998#(and (<= main_~c~0 2) (<= main_~b~0 (div main_~v~0 2)))} #102#return; {29998#(and (<= main_~c~0 2) (<= main_~b~0 (div main_~v~0 2)))} is VALID [2022-04-27 13:15:34,783 INFO L272 TraceCheckUtils]: 65: Hoare triple {29998#(and (<= main_~c~0 2) (<= main_~b~0 (div main_~v~0 2)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {29812#true} is VALID [2022-04-27 13:15:34,783 INFO L290 TraceCheckUtils]: 66: Hoare triple {29812#true} ~cond := #in~cond; {29812#true} is VALID [2022-04-27 13:15:34,783 INFO L290 TraceCheckUtils]: 67: Hoare triple {29812#true} assume !(0 == ~cond); {29812#true} is VALID [2022-04-27 13:15:34,783 INFO L290 TraceCheckUtils]: 68: Hoare triple {29812#true} assume true; {29812#true} is VALID [2022-04-27 13:15:34,784 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {29812#true} {29998#(and (<= main_~c~0 2) (<= main_~b~0 (div main_~v~0 2)))} #104#return; {29998#(and (<= main_~c~0 2) (<= main_~b~0 (div main_~v~0 2)))} is VALID [2022-04-27 13:15:34,784 INFO L272 TraceCheckUtils]: 70: Hoare triple {29998#(and (<= main_~c~0 2) (<= main_~b~0 (div main_~v~0 2)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {29812#true} is VALID [2022-04-27 13:15:34,784 INFO L290 TraceCheckUtils]: 71: Hoare triple {29812#true} ~cond := #in~cond; {29812#true} is VALID [2022-04-27 13:15:34,784 INFO L290 TraceCheckUtils]: 72: Hoare triple {29812#true} assume !(0 == ~cond); {29812#true} is VALID [2022-04-27 13:15:34,784 INFO L290 TraceCheckUtils]: 73: Hoare triple {29812#true} assume true; {29812#true} is VALID [2022-04-27 13:15:34,785 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {29812#true} {29998#(and (<= main_~c~0 2) (<= main_~b~0 (div main_~v~0 2)))} #106#return; {29998#(and (<= main_~c~0 2) (<= main_~b~0 (div main_~v~0 2)))} is VALID [2022-04-27 13:15:34,785 INFO L272 TraceCheckUtils]: 75: Hoare triple {29998#(and (<= main_~c~0 2) (<= main_~b~0 (div main_~v~0 2)))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {29812#true} is VALID [2022-04-27 13:15:34,785 INFO L290 TraceCheckUtils]: 76: Hoare triple {29812#true} ~cond := #in~cond; {29812#true} is VALID [2022-04-27 13:15:34,785 INFO L290 TraceCheckUtils]: 77: Hoare triple {29812#true} assume !(0 == ~cond); {29812#true} is VALID [2022-04-27 13:15:34,785 INFO L290 TraceCheckUtils]: 78: Hoare triple {29812#true} assume true; {29812#true} is VALID [2022-04-27 13:15:34,785 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {29812#true} {29998#(and (<= main_~c~0 2) (<= main_~b~0 (div main_~v~0 2)))} #108#return; {29998#(and (<= main_~c~0 2) (<= main_~b~0 (div main_~v~0 2)))} is VALID [2022-04-27 13:15:34,786 INFO L290 TraceCheckUtils]: 80: Hoare triple {29998#(and (<= main_~c~0 2) (<= main_~b~0 (div main_~v~0 2)))} assume !(~c~0 >= 2 * ~v~0); {29998#(and (<= main_~c~0 2) (<= main_~b~0 (div main_~v~0 2)))} is VALID [2022-04-27 13:15:34,787 INFO L290 TraceCheckUtils]: 81: Hoare triple {29998#(and (<= main_~c~0 2) (<= main_~b~0 (div main_~v~0 2)))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {30068#(<= main_~b~0 (div (+ (* (- 1) main_~c~0) 2) 2))} is VALID [2022-04-27 13:15:34,787 INFO L290 TraceCheckUtils]: 82: Hoare triple {30068#(<= main_~b~0 (div (+ (* (- 1) main_~c~0) 2) 2))} assume !false; {30068#(<= main_~b~0 (div (+ (* (- 1) main_~c~0) 2) 2))} is VALID [2022-04-27 13:15:34,787 INFO L290 TraceCheckUtils]: 83: Hoare triple {30068#(<= main_~b~0 (div (+ (* (- 1) main_~c~0) 2) 2))} assume !(~c~0 >= ~b~0); {30068#(<= main_~b~0 (div (+ (* (- 1) main_~c~0) 2) 2))} is VALID [2022-04-27 13:15:34,788 INFO L290 TraceCheckUtils]: 84: Hoare triple {30068#(<= main_~b~0 (div (+ (* (- 1) main_~c~0) 2) 2))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {30078#(<= main_~a~0 (div (+ 2 (* (- 1) main_~b~0)) 2))} is VALID [2022-04-27 13:15:34,788 INFO L290 TraceCheckUtils]: 85: Hoare triple {30078#(<= main_~a~0 (div (+ 2 (* (- 1) main_~b~0)) 2))} assume !false; {30078#(<= main_~a~0 (div (+ 2 (* (- 1) main_~b~0)) 2))} is VALID [2022-04-27 13:15:34,788 INFO L290 TraceCheckUtils]: 86: Hoare triple {30078#(<= main_~a~0 (div (+ 2 (* (- 1) main_~b~0)) 2))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {30085#(<= main_~c~0 (div (+ 2 (* (- 1) main_~b~0)) 2))} is VALID [2022-04-27 13:15:34,789 INFO L290 TraceCheckUtils]: 87: Hoare triple {30085#(<= main_~c~0 (div (+ 2 (* (- 1) main_~b~0)) 2))} assume !false; {30085#(<= main_~c~0 (div (+ 2 (* (- 1) main_~b~0)) 2))} is VALID [2022-04-27 13:15:34,789 INFO L290 TraceCheckUtils]: 88: Hoare triple {30085#(<= main_~c~0 (div (+ 2 (* (- 1) main_~b~0)) 2))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {30092#(and (<= main_~b~0 main_~v~0) (<= main_~c~0 (div (+ 2 (* (- 1) main_~b~0)) 2)))} is VALID [2022-04-27 13:15:34,789 INFO L290 TraceCheckUtils]: 89: Hoare triple {30092#(and (<= main_~b~0 main_~v~0) (<= main_~c~0 (div (+ 2 (* (- 1) main_~b~0)) 2)))} assume !false; {30092#(and (<= main_~b~0 main_~v~0) (<= main_~c~0 (div (+ 2 (* (- 1) main_~b~0)) 2)))} is VALID [2022-04-27 13:15:34,789 INFO L272 TraceCheckUtils]: 90: Hoare triple {30092#(and (<= main_~b~0 main_~v~0) (<= main_~c~0 (div (+ 2 (* (- 1) main_~b~0)) 2)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {29812#true} is VALID [2022-04-27 13:15:34,789 INFO L290 TraceCheckUtils]: 91: Hoare triple {29812#true} ~cond := #in~cond; {29812#true} is VALID [2022-04-27 13:15:34,790 INFO L290 TraceCheckUtils]: 92: Hoare triple {29812#true} assume !(0 == ~cond); {29812#true} is VALID [2022-04-27 13:15:34,790 INFO L290 TraceCheckUtils]: 93: Hoare triple {29812#true} assume true; {29812#true} is VALID [2022-04-27 13:15:34,790 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {29812#true} {30092#(and (<= main_~b~0 main_~v~0) (<= main_~c~0 (div (+ 2 (* (- 1) main_~b~0)) 2)))} #102#return; {30092#(and (<= main_~b~0 main_~v~0) (<= main_~c~0 (div (+ 2 (* (- 1) main_~b~0)) 2)))} is VALID [2022-04-27 13:15:34,790 INFO L272 TraceCheckUtils]: 95: Hoare triple {30092#(and (<= main_~b~0 main_~v~0) (<= main_~c~0 (div (+ 2 (* (- 1) main_~b~0)) 2)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {29812#true} is VALID [2022-04-27 13:15:34,790 INFO L290 TraceCheckUtils]: 96: Hoare triple {29812#true} ~cond := #in~cond; {29812#true} is VALID [2022-04-27 13:15:34,790 INFO L290 TraceCheckUtils]: 97: Hoare triple {29812#true} assume !(0 == ~cond); {29812#true} is VALID [2022-04-27 13:15:34,790 INFO L290 TraceCheckUtils]: 98: Hoare triple {29812#true} assume true; {29812#true} is VALID [2022-04-27 13:15:34,791 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {29812#true} {30092#(and (<= main_~b~0 main_~v~0) (<= main_~c~0 (div (+ 2 (* (- 1) main_~b~0)) 2)))} #104#return; {30092#(and (<= main_~b~0 main_~v~0) (<= main_~c~0 (div (+ 2 (* (- 1) main_~b~0)) 2)))} is VALID [2022-04-27 13:15:34,791 INFO L272 TraceCheckUtils]: 100: Hoare triple {30092#(and (<= main_~b~0 main_~v~0) (<= main_~c~0 (div (+ 2 (* (- 1) main_~b~0)) 2)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {29812#true} is VALID [2022-04-27 13:15:34,791 INFO L290 TraceCheckUtils]: 101: Hoare triple {29812#true} ~cond := #in~cond; {29812#true} is VALID [2022-04-27 13:15:34,791 INFO L290 TraceCheckUtils]: 102: Hoare triple {29812#true} assume !(0 == ~cond); {29812#true} is VALID [2022-04-27 13:15:34,791 INFO L290 TraceCheckUtils]: 103: Hoare triple {29812#true} assume true; {29812#true} is VALID [2022-04-27 13:15:34,792 INFO L284 TraceCheckUtils]: 104: Hoare quadruple {29812#true} {30092#(and (<= main_~b~0 main_~v~0) (<= main_~c~0 (div (+ 2 (* (- 1) main_~b~0)) 2)))} #106#return; {30092#(and (<= main_~b~0 main_~v~0) (<= main_~c~0 (div (+ 2 (* (- 1) main_~b~0)) 2)))} is VALID [2022-04-27 13:15:34,792 INFO L272 TraceCheckUtils]: 105: Hoare triple {30092#(and (<= main_~b~0 main_~v~0) (<= main_~c~0 (div (+ 2 (* (- 1) main_~b~0)) 2)))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {29812#true} is VALID [2022-04-27 13:15:34,792 INFO L290 TraceCheckUtils]: 106: Hoare triple {29812#true} ~cond := #in~cond; {29812#true} is VALID [2022-04-27 13:15:34,792 INFO L290 TraceCheckUtils]: 107: Hoare triple {29812#true} assume !(0 == ~cond); {29812#true} is VALID [2022-04-27 13:15:34,792 INFO L290 TraceCheckUtils]: 108: Hoare triple {29812#true} assume true; {29812#true} is VALID [2022-04-27 13:15:34,792 INFO L284 TraceCheckUtils]: 109: Hoare quadruple {29812#true} {30092#(and (<= main_~b~0 main_~v~0) (<= main_~c~0 (div (+ 2 (* (- 1) main_~b~0)) 2)))} #108#return; {30092#(and (<= main_~b~0 main_~v~0) (<= main_~c~0 (div (+ 2 (* (- 1) main_~b~0)) 2)))} is VALID [2022-04-27 13:15:34,794 INFO L290 TraceCheckUtils]: 110: Hoare triple {30092#(and (<= main_~b~0 main_~v~0) (<= main_~c~0 (div (+ 2 (* (- 1) main_~b~0)) 2)))} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {30159#(and (= (mod main_~v~0 2) 0) (<= (* 2 (div main_~v~0 2)) main_~c~0) (<= main_~b~0 (div main_~v~0 2)) (<= main_~c~0 (div (+ 2 (* (- 1) main_~b~0)) 2)))} is VALID [2022-04-27 13:15:34,795 INFO L290 TraceCheckUtils]: 111: Hoare triple {30159#(and (= (mod main_~v~0 2) 0) (<= (* 2 (div main_~v~0 2)) main_~c~0) (<= main_~b~0 (div main_~v~0 2)) (<= main_~c~0 (div (+ 2 (* (- 1) main_~b~0)) 2)))} assume !false; {30159#(and (= (mod main_~v~0 2) 0) (<= (* 2 (div main_~v~0 2)) main_~c~0) (<= main_~b~0 (div main_~v~0 2)) (<= main_~c~0 (div (+ 2 (* (- 1) main_~b~0)) 2)))} is VALID [2022-04-27 13:15:34,795 INFO L272 TraceCheckUtils]: 112: Hoare triple {30159#(and (= (mod main_~v~0 2) 0) (<= (* 2 (div main_~v~0 2)) main_~c~0) (<= main_~b~0 (div main_~v~0 2)) (<= main_~c~0 (div (+ 2 (* (- 1) main_~b~0)) 2)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {29812#true} is VALID [2022-04-27 13:15:34,795 INFO L290 TraceCheckUtils]: 113: Hoare triple {29812#true} ~cond := #in~cond; {29812#true} is VALID [2022-04-27 13:15:34,795 INFO L290 TraceCheckUtils]: 114: Hoare triple {29812#true} assume !(0 == ~cond); {29812#true} is VALID [2022-04-27 13:15:34,795 INFO L290 TraceCheckUtils]: 115: Hoare triple {29812#true} assume true; {29812#true} is VALID [2022-04-27 13:15:34,795 INFO L284 TraceCheckUtils]: 116: Hoare quadruple {29812#true} {30159#(and (= (mod main_~v~0 2) 0) (<= (* 2 (div main_~v~0 2)) main_~c~0) (<= main_~b~0 (div main_~v~0 2)) (<= main_~c~0 (div (+ 2 (* (- 1) main_~b~0)) 2)))} #102#return; {30159#(and (= (mod main_~v~0 2) 0) (<= (* 2 (div main_~v~0 2)) main_~c~0) (<= main_~b~0 (div main_~v~0 2)) (<= main_~c~0 (div (+ 2 (* (- 1) main_~b~0)) 2)))} is VALID [2022-04-27 13:15:34,796 INFO L272 TraceCheckUtils]: 117: Hoare triple {30159#(and (= (mod main_~v~0 2) 0) (<= (* 2 (div main_~v~0 2)) main_~c~0) (<= main_~b~0 (div main_~v~0 2)) (<= main_~c~0 (div (+ 2 (* (- 1) main_~b~0)) 2)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {29812#true} is VALID [2022-04-27 13:15:34,796 INFO L290 TraceCheckUtils]: 118: Hoare triple {29812#true} ~cond := #in~cond; {29812#true} is VALID [2022-04-27 13:15:34,796 INFO L290 TraceCheckUtils]: 119: Hoare triple {29812#true} assume !(0 == ~cond); {29812#true} is VALID [2022-04-27 13:15:34,796 INFO L290 TraceCheckUtils]: 120: Hoare triple {29812#true} assume true; {29812#true} is VALID [2022-04-27 13:15:34,796 INFO L284 TraceCheckUtils]: 121: Hoare quadruple {29812#true} {30159#(and (= (mod main_~v~0 2) 0) (<= (* 2 (div main_~v~0 2)) main_~c~0) (<= main_~b~0 (div main_~v~0 2)) (<= main_~c~0 (div (+ 2 (* (- 1) main_~b~0)) 2)))} #104#return; {30159#(and (= (mod main_~v~0 2) 0) (<= (* 2 (div main_~v~0 2)) main_~c~0) (<= main_~b~0 (div main_~v~0 2)) (<= main_~c~0 (div (+ 2 (* (- 1) main_~b~0)) 2)))} is VALID [2022-04-27 13:15:34,796 INFO L272 TraceCheckUtils]: 122: Hoare triple {30159#(and (= (mod main_~v~0 2) 0) (<= (* 2 (div main_~v~0 2)) main_~c~0) (<= main_~b~0 (div main_~v~0 2)) (<= main_~c~0 (div (+ 2 (* (- 1) main_~b~0)) 2)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {29812#true} is VALID [2022-04-27 13:15:34,796 INFO L290 TraceCheckUtils]: 123: Hoare triple {29812#true} ~cond := #in~cond; {29812#true} is VALID [2022-04-27 13:15:34,796 INFO L290 TraceCheckUtils]: 124: Hoare triple {29812#true} assume !(0 == ~cond); {29812#true} is VALID [2022-04-27 13:15:34,796 INFO L290 TraceCheckUtils]: 125: Hoare triple {29812#true} assume true; {29812#true} is VALID [2022-04-27 13:15:34,797 INFO L284 TraceCheckUtils]: 126: Hoare quadruple {29812#true} {30159#(and (= (mod main_~v~0 2) 0) (<= (* 2 (div main_~v~0 2)) main_~c~0) (<= main_~b~0 (div main_~v~0 2)) (<= main_~c~0 (div (+ 2 (* (- 1) main_~b~0)) 2)))} #106#return; {30159#(and (= (mod main_~v~0 2) 0) (<= (* 2 (div main_~v~0 2)) main_~c~0) (<= main_~b~0 (div main_~v~0 2)) (<= main_~c~0 (div (+ 2 (* (- 1) main_~b~0)) 2)))} is VALID [2022-04-27 13:15:34,797 INFO L272 TraceCheckUtils]: 127: Hoare triple {30159#(and (= (mod main_~v~0 2) 0) (<= (* 2 (div main_~v~0 2)) main_~c~0) (<= main_~b~0 (div main_~v~0 2)) (<= main_~c~0 (div (+ 2 (* (- 1) main_~b~0)) 2)))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {29812#true} is VALID [2022-04-27 13:15:34,797 INFO L290 TraceCheckUtils]: 128: Hoare triple {29812#true} ~cond := #in~cond; {29812#true} is VALID [2022-04-27 13:15:34,797 INFO L290 TraceCheckUtils]: 129: Hoare triple {29812#true} assume !(0 == ~cond); {29812#true} is VALID [2022-04-27 13:15:34,797 INFO L290 TraceCheckUtils]: 130: Hoare triple {29812#true} assume true; {29812#true} is VALID [2022-04-27 13:15:34,798 INFO L284 TraceCheckUtils]: 131: Hoare quadruple {29812#true} {30159#(and (= (mod main_~v~0 2) 0) (<= (* 2 (div main_~v~0 2)) main_~c~0) (<= main_~b~0 (div main_~v~0 2)) (<= main_~c~0 (div (+ 2 (* (- 1) main_~b~0)) 2)))} #108#return; {30159#(and (= (mod main_~v~0 2) 0) (<= (* 2 (div main_~v~0 2)) main_~c~0) (<= main_~b~0 (div main_~v~0 2)) (<= main_~c~0 (div (+ 2 (* (- 1) main_~b~0)) 2)))} is VALID [2022-04-27 13:15:34,798 INFO L290 TraceCheckUtils]: 132: Hoare triple {30159#(and (= (mod main_~v~0 2) 0) (<= (* 2 (div main_~v~0 2)) main_~c~0) (<= main_~b~0 (div main_~v~0 2)) (<= main_~c~0 (div (+ 2 (* (- 1) main_~b~0)) 2)))} assume !(~c~0 >= 2 * ~v~0); {30159#(and (= (mod main_~v~0 2) 0) (<= (* 2 (div main_~v~0 2)) main_~c~0) (<= main_~b~0 (div main_~v~0 2)) (<= main_~c~0 (div (+ 2 (* (- 1) main_~b~0)) 2)))} is VALID [2022-04-27 13:15:34,799 INFO L290 TraceCheckUtils]: 133: Hoare triple {30159#(and (= (mod main_~v~0 2) 0) (<= (* 2 (div main_~v~0 2)) main_~c~0) (<= main_~b~0 (div main_~v~0 2)) (<= main_~c~0 (div (+ 2 (* (- 1) main_~b~0)) 2)))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {30229#(and (<= 0 main_~c~0) (<= main_~b~0 (div (+ (* (- 1) main_~c~0) (div (+ 2 (* (- 1) main_~b~0)) 2)) 2)))} is VALID [2022-04-27 13:15:34,799 INFO L290 TraceCheckUtils]: 134: Hoare triple {30229#(and (<= 0 main_~c~0) (<= main_~b~0 (div (+ (* (- 1) main_~c~0) (div (+ 2 (* (- 1) main_~b~0)) 2)) 2)))} assume !false; {30229#(and (<= 0 main_~c~0) (<= main_~b~0 (div (+ (* (- 1) main_~c~0) (div (+ 2 (* (- 1) main_~b~0)) 2)) 2)))} is VALID [2022-04-27 13:15:34,801 INFO L290 TraceCheckUtils]: 135: Hoare triple {30229#(and (<= 0 main_~c~0) (<= main_~b~0 (div (+ (* (- 1) main_~c~0) (div (+ 2 (* (- 1) main_~b~0)) 2)) 2)))} assume !(~c~0 >= ~b~0); {29813#false} is VALID [2022-04-27 13:15:34,801 INFO L290 TraceCheckUtils]: 136: Hoare triple {29813#false} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {29813#false} is VALID [2022-04-27 13:15:34,801 INFO L290 TraceCheckUtils]: 137: Hoare triple {29813#false} assume !false; {29813#false} is VALID [2022-04-27 13:15:34,801 INFO L290 TraceCheckUtils]: 138: Hoare triple {29813#false} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {29813#false} is VALID [2022-04-27 13:15:34,801 INFO L290 TraceCheckUtils]: 139: Hoare triple {29813#false} assume !false; {29813#false} is VALID [2022-04-27 13:15:34,801 INFO L290 TraceCheckUtils]: 140: Hoare triple {29813#false} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {29813#false} is VALID [2022-04-27 13:15:34,801 INFO L290 TraceCheckUtils]: 141: Hoare triple {29813#false} assume !false; {29813#false} is VALID [2022-04-27 13:15:34,801 INFO L272 TraceCheckUtils]: 142: Hoare triple {29813#false} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {29813#false} is VALID [2022-04-27 13:15:34,801 INFO L290 TraceCheckUtils]: 143: Hoare triple {29813#false} ~cond := #in~cond; {29813#false} is VALID [2022-04-27 13:15:34,801 INFO L290 TraceCheckUtils]: 144: Hoare triple {29813#false} assume !(0 == ~cond); {29813#false} is VALID [2022-04-27 13:15:34,801 INFO L290 TraceCheckUtils]: 145: Hoare triple {29813#false} assume true; {29813#false} is VALID [2022-04-27 13:15:34,801 INFO L284 TraceCheckUtils]: 146: Hoare quadruple {29813#false} {29813#false} #102#return; {29813#false} is VALID [2022-04-27 13:15:34,801 INFO L272 TraceCheckUtils]: 147: Hoare triple {29813#false} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {29813#false} is VALID [2022-04-27 13:15:34,801 INFO L290 TraceCheckUtils]: 148: Hoare triple {29813#false} ~cond := #in~cond; {29813#false} is VALID [2022-04-27 13:15:34,801 INFO L290 TraceCheckUtils]: 149: Hoare triple {29813#false} assume 0 == ~cond; {29813#false} is VALID [2022-04-27 13:15:34,801 INFO L290 TraceCheckUtils]: 150: Hoare triple {29813#false} assume !false; {29813#false} is VALID [2022-04-27 13:15:34,802 INFO L134 CoverageAnalysis]: Checked inductivity of 696 backedges. 131 proven. 68 refuted. 0 times theorem prover too weak. 497 trivial. 0 not checked. [2022-04-27 13:15:34,802 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:15:38,533 INFO L290 TraceCheckUtils]: 150: Hoare triple {29813#false} assume !false; {29813#false} is VALID [2022-04-27 13:15:38,533 INFO L290 TraceCheckUtils]: 149: Hoare triple {29813#false} assume 0 == ~cond; {29813#false} is VALID [2022-04-27 13:15:38,533 INFO L290 TraceCheckUtils]: 148: Hoare triple {29813#false} ~cond := #in~cond; {29813#false} is VALID [2022-04-27 13:15:38,533 INFO L272 TraceCheckUtils]: 147: Hoare triple {29813#false} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {29813#false} is VALID [2022-04-27 13:15:38,533 INFO L284 TraceCheckUtils]: 146: Hoare quadruple {29812#true} {29813#false} #102#return; {29813#false} is VALID [2022-04-27 13:15:38,534 INFO L290 TraceCheckUtils]: 145: Hoare triple {29812#true} assume true; {29812#true} is VALID [2022-04-27 13:15:38,534 INFO L290 TraceCheckUtils]: 144: Hoare triple {29812#true} assume !(0 == ~cond); {29812#true} is VALID [2022-04-27 13:15:38,534 INFO L290 TraceCheckUtils]: 143: Hoare triple {29812#true} ~cond := #in~cond; {29812#true} is VALID [2022-04-27 13:15:38,534 INFO L272 TraceCheckUtils]: 142: Hoare triple {29813#false} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {29812#true} is VALID [2022-04-27 13:15:38,534 INFO L290 TraceCheckUtils]: 141: Hoare triple {29813#false} assume !false; {29813#false} is VALID [2022-04-27 13:15:38,534 INFO L290 TraceCheckUtils]: 140: Hoare triple {29813#false} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {29813#false} is VALID [2022-04-27 13:15:38,534 INFO L290 TraceCheckUtils]: 139: Hoare triple {29813#false} assume !false; {29813#false} is VALID [2022-04-27 13:15:38,534 INFO L290 TraceCheckUtils]: 138: Hoare triple {30317#(= main_~b~0 0)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {29813#false} is VALID [2022-04-27 13:15:38,534 INFO L290 TraceCheckUtils]: 137: Hoare triple {30317#(= main_~b~0 0)} assume !false; {30317#(= main_~b~0 0)} is VALID [2022-04-27 13:15:38,535 INFO L290 TraceCheckUtils]: 136: Hoare triple {30324#(= main_~c~0 0)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {30317#(= main_~b~0 0)} is VALID [2022-04-27 13:15:38,535 INFO L290 TraceCheckUtils]: 135: Hoare triple {30328#(or (<= main_~b~0 main_~c~0) (= main_~c~0 0))} assume !(~c~0 >= ~b~0); {30324#(= main_~c~0 0)} is VALID [2022-04-27 13:15:38,536 INFO L290 TraceCheckUtils]: 134: Hoare triple {30328#(or (<= main_~b~0 main_~c~0) (= main_~c~0 0))} assume !false; {30328#(or (<= main_~b~0 main_~c~0) (= main_~c~0 0))} is VALID [2022-04-27 13:15:38,537 INFO L290 TraceCheckUtils]: 133: Hoare triple {30335#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) 0) (<= (+ main_~b~0 main_~v~0) main_~c~0))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {30328#(or (<= main_~b~0 main_~c~0) (= main_~c~0 0))} is VALID [2022-04-27 13:15:38,537 INFO L290 TraceCheckUtils]: 132: Hoare triple {30335#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) 0) (<= (+ main_~b~0 main_~v~0) main_~c~0))} assume !(~c~0 >= 2 * ~v~0); {30335#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) 0) (<= (+ main_~b~0 main_~v~0) main_~c~0))} is VALID [2022-04-27 13:15:38,538 INFO L284 TraceCheckUtils]: 131: Hoare quadruple {29812#true} {30335#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) 0) (<= (+ main_~b~0 main_~v~0) main_~c~0))} #108#return; {30335#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) 0) (<= (+ main_~b~0 main_~v~0) main_~c~0))} is VALID [2022-04-27 13:15:38,538 INFO L290 TraceCheckUtils]: 130: Hoare triple {29812#true} assume true; {29812#true} is VALID [2022-04-27 13:15:38,538 INFO L290 TraceCheckUtils]: 129: Hoare triple {29812#true} assume !(0 == ~cond); {29812#true} is VALID [2022-04-27 13:15:38,538 INFO L290 TraceCheckUtils]: 128: Hoare triple {29812#true} ~cond := #in~cond; {29812#true} is VALID [2022-04-27 13:15:38,538 INFO L272 TraceCheckUtils]: 127: Hoare triple {30335#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) 0) (<= (+ main_~b~0 main_~v~0) main_~c~0))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {29812#true} is VALID [2022-04-27 13:15:38,538 INFO L284 TraceCheckUtils]: 126: Hoare quadruple {29812#true} {30335#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) 0) (<= (+ main_~b~0 main_~v~0) main_~c~0))} #106#return; {30335#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) 0) (<= (+ main_~b~0 main_~v~0) main_~c~0))} is VALID [2022-04-27 13:15:38,538 INFO L290 TraceCheckUtils]: 125: Hoare triple {29812#true} assume true; {29812#true} is VALID [2022-04-27 13:15:38,539 INFO L290 TraceCheckUtils]: 124: Hoare triple {29812#true} assume !(0 == ~cond); {29812#true} is VALID [2022-04-27 13:15:38,539 INFO L290 TraceCheckUtils]: 123: Hoare triple {29812#true} ~cond := #in~cond; {29812#true} is VALID [2022-04-27 13:15:38,539 INFO L272 TraceCheckUtils]: 122: Hoare triple {30335#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) 0) (<= (+ main_~b~0 main_~v~0) main_~c~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {29812#true} is VALID [2022-04-27 13:15:38,539 INFO L284 TraceCheckUtils]: 121: Hoare quadruple {29812#true} {30335#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) 0) (<= (+ main_~b~0 main_~v~0) main_~c~0))} #104#return; {30335#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) 0) (<= (+ main_~b~0 main_~v~0) main_~c~0))} is VALID [2022-04-27 13:15:38,539 INFO L290 TraceCheckUtils]: 120: Hoare triple {29812#true} assume true; {29812#true} is VALID [2022-04-27 13:15:38,539 INFO L290 TraceCheckUtils]: 119: Hoare triple {29812#true} assume !(0 == ~cond); {29812#true} is VALID [2022-04-27 13:15:38,539 INFO L290 TraceCheckUtils]: 118: Hoare triple {29812#true} ~cond := #in~cond; {29812#true} is VALID [2022-04-27 13:15:38,540 INFO L272 TraceCheckUtils]: 117: Hoare triple {30335#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) 0) (<= (+ main_~b~0 main_~v~0) main_~c~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {29812#true} is VALID [2022-04-27 13:15:38,540 INFO L284 TraceCheckUtils]: 116: Hoare quadruple {29812#true} {30335#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) 0) (<= (+ main_~b~0 main_~v~0) main_~c~0))} #102#return; {30335#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) 0) (<= (+ main_~b~0 main_~v~0) main_~c~0))} is VALID [2022-04-27 13:15:38,540 INFO L290 TraceCheckUtils]: 115: Hoare triple {29812#true} assume true; {29812#true} is VALID [2022-04-27 13:15:38,540 INFO L290 TraceCheckUtils]: 114: Hoare triple {29812#true} assume !(0 == ~cond); {29812#true} is VALID [2022-04-27 13:15:38,540 INFO L290 TraceCheckUtils]: 113: Hoare triple {29812#true} ~cond := #in~cond; {29812#true} is VALID [2022-04-27 13:15:38,540 INFO L272 TraceCheckUtils]: 112: Hoare triple {30335#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) 0) (<= (+ main_~b~0 main_~v~0) main_~c~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {29812#true} is VALID [2022-04-27 13:15:38,541 INFO L290 TraceCheckUtils]: 111: Hoare triple {30335#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) 0) (<= (+ main_~b~0 main_~v~0) main_~c~0))} assume !false; {30335#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) 0) (<= (+ main_~b~0 main_~v~0) main_~c~0))} is VALID [2022-04-27 13:15:38,542 INFO L290 TraceCheckUtils]: 110: Hoare triple {30405#(or (= (+ main_~c~0 (* (- 2) main_~v~0)) 0) (<= (+ (* main_~v~0 2) main_~b~0) main_~c~0) (not (<= (* main_~v~0 2) main_~c~0)))} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {30335#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) 0) (<= (+ main_~b~0 main_~v~0) main_~c~0))} is VALID [2022-04-27 13:15:38,543 INFO L284 TraceCheckUtils]: 109: Hoare quadruple {29812#true} {30405#(or (= (+ main_~c~0 (* (- 2) main_~v~0)) 0) (<= (+ (* main_~v~0 2) main_~b~0) main_~c~0) (not (<= (* main_~v~0 2) main_~c~0)))} #108#return; {30405#(or (= (+ main_~c~0 (* (- 2) main_~v~0)) 0) (<= (+ (* main_~v~0 2) main_~b~0) main_~c~0) (not (<= (* main_~v~0 2) main_~c~0)))} is VALID [2022-04-27 13:15:38,543 INFO L290 TraceCheckUtils]: 108: Hoare triple {29812#true} assume true; {29812#true} is VALID [2022-04-27 13:15:38,543 INFO L290 TraceCheckUtils]: 107: Hoare triple {29812#true} assume !(0 == ~cond); {29812#true} is VALID [2022-04-27 13:15:38,543 INFO L290 TraceCheckUtils]: 106: Hoare triple {29812#true} ~cond := #in~cond; {29812#true} is VALID [2022-04-27 13:15:38,543 INFO L272 TraceCheckUtils]: 105: Hoare triple {30405#(or (= (+ main_~c~0 (* (- 2) main_~v~0)) 0) (<= (+ (* main_~v~0 2) main_~b~0) main_~c~0) (not (<= (* main_~v~0 2) main_~c~0)))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {29812#true} is VALID [2022-04-27 13:15:38,544 INFO L284 TraceCheckUtils]: 104: Hoare quadruple {29812#true} {30405#(or (= (+ main_~c~0 (* (- 2) main_~v~0)) 0) (<= (+ (* main_~v~0 2) main_~b~0) main_~c~0) (not (<= (* main_~v~0 2) main_~c~0)))} #106#return; {30405#(or (= (+ main_~c~0 (* (- 2) main_~v~0)) 0) (<= (+ (* main_~v~0 2) main_~b~0) main_~c~0) (not (<= (* main_~v~0 2) main_~c~0)))} is VALID [2022-04-27 13:15:38,544 INFO L290 TraceCheckUtils]: 103: Hoare triple {29812#true} assume true; {29812#true} is VALID [2022-04-27 13:15:38,544 INFO L290 TraceCheckUtils]: 102: Hoare triple {29812#true} assume !(0 == ~cond); {29812#true} is VALID [2022-04-27 13:15:38,544 INFO L290 TraceCheckUtils]: 101: Hoare triple {29812#true} ~cond := #in~cond; {29812#true} is VALID [2022-04-27 13:15:38,544 INFO L272 TraceCheckUtils]: 100: Hoare triple {30405#(or (= (+ main_~c~0 (* (- 2) main_~v~0)) 0) (<= (+ (* main_~v~0 2) main_~b~0) main_~c~0) (not (<= (* main_~v~0 2) main_~c~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {29812#true} is VALID [2022-04-27 13:15:38,545 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {29812#true} {30405#(or (= (+ main_~c~0 (* (- 2) main_~v~0)) 0) (<= (+ (* main_~v~0 2) main_~b~0) main_~c~0) (not (<= (* main_~v~0 2) main_~c~0)))} #104#return; {30405#(or (= (+ main_~c~0 (* (- 2) main_~v~0)) 0) (<= (+ (* main_~v~0 2) main_~b~0) main_~c~0) (not (<= (* main_~v~0 2) main_~c~0)))} is VALID [2022-04-27 13:15:38,545 INFO L290 TraceCheckUtils]: 98: Hoare triple {29812#true} assume true; {29812#true} is VALID [2022-04-27 13:15:38,545 INFO L290 TraceCheckUtils]: 97: Hoare triple {29812#true} assume !(0 == ~cond); {29812#true} is VALID [2022-04-27 13:15:38,545 INFO L290 TraceCheckUtils]: 96: Hoare triple {29812#true} ~cond := #in~cond; {29812#true} is VALID [2022-04-27 13:15:38,545 INFO L272 TraceCheckUtils]: 95: Hoare triple {30405#(or (= (+ main_~c~0 (* (- 2) main_~v~0)) 0) (<= (+ (* main_~v~0 2) main_~b~0) main_~c~0) (not (<= (* main_~v~0 2) main_~c~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {29812#true} is VALID [2022-04-27 13:15:38,545 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {29812#true} {30405#(or (= (+ main_~c~0 (* (- 2) main_~v~0)) 0) (<= (+ (* main_~v~0 2) main_~b~0) main_~c~0) (not (<= (* main_~v~0 2) main_~c~0)))} #102#return; {30405#(or (= (+ main_~c~0 (* (- 2) main_~v~0)) 0) (<= (+ (* main_~v~0 2) main_~b~0) main_~c~0) (not (<= (* main_~v~0 2) main_~c~0)))} is VALID [2022-04-27 13:15:38,546 INFO L290 TraceCheckUtils]: 93: Hoare triple {29812#true} assume true; {29812#true} is VALID [2022-04-27 13:15:38,546 INFO L290 TraceCheckUtils]: 92: Hoare triple {29812#true} assume !(0 == ~cond); {29812#true} is VALID [2022-04-27 13:15:38,546 INFO L290 TraceCheckUtils]: 91: Hoare triple {29812#true} ~cond := #in~cond; {29812#true} is VALID [2022-04-27 13:15:38,546 INFO L272 TraceCheckUtils]: 90: Hoare triple {30405#(or (= (+ main_~c~0 (* (- 2) main_~v~0)) 0) (<= (+ (* main_~v~0 2) main_~b~0) main_~c~0) (not (<= (* main_~v~0 2) main_~c~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {29812#true} is VALID [2022-04-27 13:15:38,546 INFO L290 TraceCheckUtils]: 89: Hoare triple {30405#(or (= (+ main_~c~0 (* (- 2) main_~v~0)) 0) (<= (+ (* main_~v~0 2) main_~b~0) main_~c~0) (not (<= (* main_~v~0 2) main_~c~0)))} assume !false; {30405#(or (= (+ main_~c~0 (* (- 2) main_~v~0)) 0) (<= (+ (* main_~v~0 2) main_~b~0) main_~c~0) (not (<= (* main_~v~0 2) main_~c~0)))} is VALID [2022-04-27 13:15:38,548 INFO L290 TraceCheckUtils]: 88: Hoare triple {30472#(or (<= (div (* (- 1) main_~c~0) (- 2)) (+ (div (+ main_~c~0 (* (- 1) main_~b~0)) 2) 1)) (<= (div (* (- 1) main_~c~0) (- 2)) main_~b~0))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {30405#(or (= (+ main_~c~0 (* (- 2) main_~v~0)) 0) (<= (+ (* main_~v~0 2) main_~b~0) main_~c~0) (not (<= (* main_~v~0 2) main_~c~0)))} is VALID [2022-04-27 13:15:38,548 INFO L290 TraceCheckUtils]: 87: Hoare triple {30472#(or (<= (div (* (- 1) main_~c~0) (- 2)) (+ (div (+ main_~c~0 (* (- 1) main_~b~0)) 2) 1)) (<= (div (* (- 1) main_~c~0) (- 2)) main_~b~0))} assume !false; {30472#(or (<= (div (* (- 1) main_~c~0) (- 2)) (+ (div (+ main_~c~0 (* (- 1) main_~b~0)) 2) 1)) (<= (div (* (- 1) main_~c~0) (- 2)) main_~b~0))} is VALID [2022-04-27 13:15:38,550 INFO L290 TraceCheckUtils]: 86: Hoare triple {30479#(or (<= (div (+ (* (- 1) main_~a~0) (- 2)) (- 2)) (+ main_~b~0 1)) (<= 0 (+ 2 (div (+ (* (- 1) main_~b~0) (- 3)) 2))))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {30472#(or (<= (div (* (- 1) main_~c~0) (- 2)) (+ (div (+ main_~c~0 (* (- 1) main_~b~0)) 2) 1)) (<= (div (* (- 1) main_~c~0) (- 2)) main_~b~0))} is VALID [2022-04-27 13:15:38,550 INFO L290 TraceCheckUtils]: 85: Hoare triple {30479#(or (<= (div (+ (* (- 1) main_~a~0) (- 2)) (- 2)) (+ main_~b~0 1)) (<= 0 (+ 2 (div (+ (* (- 1) main_~b~0) (- 3)) 2))))} assume !false; {30479#(or (<= (div (+ (* (- 1) main_~a~0) (- 2)) (- 2)) (+ main_~b~0 1)) (<= 0 (+ 2 (div (+ (* (- 1) main_~b~0) (- 3)) 2))))} is VALID [2022-04-27 13:15:38,551 INFO L290 TraceCheckUtils]: 84: Hoare triple {30486#(or (<= 0 (+ 3 (div (+ (* (- 1) main_~c~0) (- 5)) 2))) (<= 0 (+ 3 (div (+ (- 2) (* (- 1) (div (+ (* (- 1) main_~b~0) (- 4)) (- 2)))) 2))))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {30479#(or (<= (div (+ (* (- 1) main_~a~0) (- 2)) (- 2)) (+ main_~b~0 1)) (<= 0 (+ 2 (div (+ (* (- 1) main_~b~0) (- 3)) 2))))} is VALID [2022-04-27 13:15:38,552 INFO L290 TraceCheckUtils]: 83: Hoare triple {30486#(or (<= 0 (+ 3 (div (+ (* (- 1) main_~c~0) (- 5)) 2))) (<= 0 (+ 3 (div (+ (- 2) (* (- 1) (div (+ (* (- 1) main_~b~0) (- 4)) (- 2)))) 2))))} assume !(~c~0 >= ~b~0); {30486#(or (<= 0 (+ 3 (div (+ (* (- 1) main_~c~0) (- 5)) 2))) (<= 0 (+ 3 (div (+ (- 2) (* (- 1) (div (+ (* (- 1) main_~b~0) (- 4)) (- 2)))) 2))))} is VALID [2022-04-27 13:15:38,552 INFO L290 TraceCheckUtils]: 82: Hoare triple {30486#(or (<= 0 (+ 3 (div (+ (* (- 1) main_~c~0) (- 5)) 2))) (<= 0 (+ 3 (div (+ (- 2) (* (- 1) (div (+ (* (- 1) main_~b~0) (- 4)) (- 2)))) 2))))} assume !false; {30486#(or (<= 0 (+ 3 (div (+ (* (- 1) main_~c~0) (- 5)) 2))) (<= 0 (+ 3 (div (+ (- 2) (* (- 1) (div (+ (* (- 1) main_~b~0) (- 4)) (- 2)))) 2))))} is VALID [2022-04-27 13:15:38,553 INFO L290 TraceCheckUtils]: 81: Hoare triple {30496#(or (<= 0 (+ (div (+ (* (- 1) main_~c~0) main_~v~0 (- 7)) 2) 4)) (<= 0 (+ 3 (div (+ (- 2) (* (- 1) (div (+ (* (- 1) main_~b~0) (- 4)) (- 2)))) 2))))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {30486#(or (<= 0 (+ 3 (div (+ (* (- 1) main_~c~0) (- 5)) 2))) (<= 0 (+ 3 (div (+ (- 2) (* (- 1) (div (+ (* (- 1) main_~b~0) (- 4)) (- 2)))) 2))))} is VALID [2022-04-27 13:15:38,553 INFO L290 TraceCheckUtils]: 80: Hoare triple {30496#(or (<= 0 (+ (div (+ (* (- 1) main_~c~0) main_~v~0 (- 7)) 2) 4)) (<= 0 (+ 3 (div (+ (- 2) (* (- 1) (div (+ (* (- 1) main_~b~0) (- 4)) (- 2)))) 2))))} assume !(~c~0 >= 2 * ~v~0); {30496#(or (<= 0 (+ (div (+ (* (- 1) main_~c~0) main_~v~0 (- 7)) 2) 4)) (<= 0 (+ 3 (div (+ (- 2) (* (- 1) (div (+ (* (- 1) main_~b~0) (- 4)) (- 2)))) 2))))} is VALID [2022-04-27 13:15:38,554 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {29812#true} {30496#(or (<= 0 (+ (div (+ (* (- 1) main_~c~0) main_~v~0 (- 7)) 2) 4)) (<= 0 (+ 3 (div (+ (- 2) (* (- 1) (div (+ (* (- 1) main_~b~0) (- 4)) (- 2)))) 2))))} #108#return; {30496#(or (<= 0 (+ (div (+ (* (- 1) main_~c~0) main_~v~0 (- 7)) 2) 4)) (<= 0 (+ 3 (div (+ (- 2) (* (- 1) (div (+ (* (- 1) main_~b~0) (- 4)) (- 2)))) 2))))} is VALID [2022-04-27 13:15:38,554 INFO L290 TraceCheckUtils]: 78: Hoare triple {29812#true} assume true; {29812#true} is VALID [2022-04-27 13:15:38,554 INFO L290 TraceCheckUtils]: 77: Hoare triple {29812#true} assume !(0 == ~cond); {29812#true} is VALID [2022-04-27 13:15:38,554 INFO L290 TraceCheckUtils]: 76: Hoare triple {29812#true} ~cond := #in~cond; {29812#true} is VALID [2022-04-27 13:15:38,554 INFO L272 TraceCheckUtils]: 75: Hoare triple {30496#(or (<= 0 (+ (div (+ (* (- 1) main_~c~0) main_~v~0 (- 7)) 2) 4)) (<= 0 (+ 3 (div (+ (- 2) (* (- 1) (div (+ (* (- 1) main_~b~0) (- 4)) (- 2)))) 2))))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {29812#true} is VALID [2022-04-27 13:15:38,555 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {29812#true} {30496#(or (<= 0 (+ (div (+ (* (- 1) main_~c~0) main_~v~0 (- 7)) 2) 4)) (<= 0 (+ 3 (div (+ (- 2) (* (- 1) (div (+ (* (- 1) main_~b~0) (- 4)) (- 2)))) 2))))} #106#return; {30496#(or (<= 0 (+ (div (+ (* (- 1) main_~c~0) main_~v~0 (- 7)) 2) 4)) (<= 0 (+ 3 (div (+ (- 2) (* (- 1) (div (+ (* (- 1) main_~b~0) (- 4)) (- 2)))) 2))))} is VALID [2022-04-27 13:15:38,555 INFO L290 TraceCheckUtils]: 73: Hoare triple {29812#true} assume true; {29812#true} is VALID [2022-04-27 13:15:38,555 INFO L290 TraceCheckUtils]: 72: Hoare triple {29812#true} assume !(0 == ~cond); {29812#true} is VALID [2022-04-27 13:15:38,555 INFO L290 TraceCheckUtils]: 71: Hoare triple {29812#true} ~cond := #in~cond; {29812#true} is VALID [2022-04-27 13:15:38,555 INFO L272 TraceCheckUtils]: 70: Hoare triple {30496#(or (<= 0 (+ (div (+ (* (- 1) main_~c~0) main_~v~0 (- 7)) 2) 4)) (<= 0 (+ 3 (div (+ (- 2) (* (- 1) (div (+ (* (- 1) main_~b~0) (- 4)) (- 2)))) 2))))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {29812#true} is VALID [2022-04-27 13:15:38,556 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {29812#true} {30496#(or (<= 0 (+ (div (+ (* (- 1) main_~c~0) main_~v~0 (- 7)) 2) 4)) (<= 0 (+ 3 (div (+ (- 2) (* (- 1) (div (+ (* (- 1) main_~b~0) (- 4)) (- 2)))) 2))))} #104#return; {30496#(or (<= 0 (+ (div (+ (* (- 1) main_~c~0) main_~v~0 (- 7)) 2) 4)) (<= 0 (+ 3 (div (+ (- 2) (* (- 1) (div (+ (* (- 1) main_~b~0) (- 4)) (- 2)))) 2))))} is VALID [2022-04-27 13:15:38,556 INFO L290 TraceCheckUtils]: 68: Hoare triple {29812#true} assume true; {29812#true} is VALID [2022-04-27 13:15:38,556 INFO L290 TraceCheckUtils]: 67: Hoare triple {29812#true} assume !(0 == ~cond); {29812#true} is VALID [2022-04-27 13:15:38,556 INFO L290 TraceCheckUtils]: 66: Hoare triple {29812#true} ~cond := #in~cond; {29812#true} is VALID [2022-04-27 13:15:38,556 INFO L272 TraceCheckUtils]: 65: Hoare triple {30496#(or (<= 0 (+ (div (+ (* (- 1) main_~c~0) main_~v~0 (- 7)) 2) 4)) (<= 0 (+ 3 (div (+ (- 2) (* (- 1) (div (+ (* (- 1) main_~b~0) (- 4)) (- 2)))) 2))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {29812#true} is VALID [2022-04-27 13:15:38,556 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {29812#true} {30496#(or (<= 0 (+ (div (+ (* (- 1) main_~c~0) main_~v~0 (- 7)) 2) 4)) (<= 0 (+ 3 (div (+ (- 2) (* (- 1) (div (+ (* (- 1) main_~b~0) (- 4)) (- 2)))) 2))))} #102#return; {30496#(or (<= 0 (+ (div (+ (* (- 1) main_~c~0) main_~v~0 (- 7)) 2) 4)) (<= 0 (+ 3 (div (+ (- 2) (* (- 1) (div (+ (* (- 1) main_~b~0) (- 4)) (- 2)))) 2))))} is VALID [2022-04-27 13:15:38,556 INFO L290 TraceCheckUtils]: 63: Hoare triple {29812#true} assume true; {29812#true} is VALID [2022-04-27 13:15:38,557 INFO L290 TraceCheckUtils]: 62: Hoare triple {29812#true} assume !(0 == ~cond); {29812#true} is VALID [2022-04-27 13:15:38,557 INFO L290 TraceCheckUtils]: 61: Hoare triple {29812#true} ~cond := #in~cond; {29812#true} is VALID [2022-04-27 13:15:38,557 INFO L272 TraceCheckUtils]: 60: Hoare triple {30496#(or (<= 0 (+ (div (+ (* (- 1) main_~c~0) main_~v~0 (- 7)) 2) 4)) (<= 0 (+ 3 (div (+ (- 2) (* (- 1) (div (+ (* (- 1) main_~b~0) (- 4)) (- 2)))) 2))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {29812#true} is VALID [2022-04-27 13:15:38,557 INFO L290 TraceCheckUtils]: 59: Hoare triple {30496#(or (<= 0 (+ (div (+ (* (- 1) main_~c~0) main_~v~0 (- 7)) 2) 4)) (<= 0 (+ 3 (div (+ (- 2) (* (- 1) (div (+ (* (- 1) main_~b~0) (- 4)) (- 2)))) 2))))} assume !false; {30496#(or (<= 0 (+ (div (+ (* (- 1) main_~c~0) main_~v~0 (- 7)) 2) 4)) (<= 0 (+ 3 (div (+ (- 2) (* (- 1) (div (+ (* (- 1) main_~b~0) (- 4)) (- 2)))) 2))))} is VALID [2022-04-27 13:15:38,558 INFO L290 TraceCheckUtils]: 58: Hoare triple {30566#(or (<= 0 (+ 5 (div (+ (- 9) (* (- 1) main_~c~0)) 2) main_~v~0)) (<= 0 (+ 3 (div (+ (- 2) (* (- 1) (div (+ (* (- 1) main_~b~0) (- 4)) (- 2)))) 2))))} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {30496#(or (<= 0 (+ (div (+ (* (- 1) main_~c~0) main_~v~0 (- 7)) 2) 4)) (<= 0 (+ 3 (div (+ (- 2) (* (- 1) (div (+ (* (- 1) main_~b~0) (- 4)) (- 2)))) 2))))} is VALID [2022-04-27 13:15:38,559 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {29812#true} {30566#(or (<= 0 (+ 5 (div (+ (- 9) (* (- 1) main_~c~0)) 2) main_~v~0)) (<= 0 (+ 3 (div (+ (- 2) (* (- 1) (div (+ (* (- 1) main_~b~0) (- 4)) (- 2)))) 2))))} #108#return; {30566#(or (<= 0 (+ 5 (div (+ (- 9) (* (- 1) main_~c~0)) 2) main_~v~0)) (<= 0 (+ 3 (div (+ (- 2) (* (- 1) (div (+ (* (- 1) main_~b~0) (- 4)) (- 2)))) 2))))} is VALID [2022-04-27 13:15:38,559 INFO L290 TraceCheckUtils]: 56: Hoare triple {29812#true} assume true; {29812#true} is VALID [2022-04-27 13:15:38,559 INFO L290 TraceCheckUtils]: 55: Hoare triple {29812#true} assume !(0 == ~cond); {29812#true} is VALID [2022-04-27 13:15:38,559 INFO L290 TraceCheckUtils]: 54: Hoare triple {29812#true} ~cond := #in~cond; {29812#true} is VALID [2022-04-27 13:15:38,559 INFO L272 TraceCheckUtils]: 53: Hoare triple {30566#(or (<= 0 (+ 5 (div (+ (- 9) (* (- 1) main_~c~0)) 2) main_~v~0)) (<= 0 (+ 3 (div (+ (- 2) (* (- 1) (div (+ (* (- 1) main_~b~0) (- 4)) (- 2)))) 2))))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {29812#true} is VALID [2022-04-27 13:15:38,559 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {29812#true} {30566#(or (<= 0 (+ 5 (div (+ (- 9) (* (- 1) main_~c~0)) 2) main_~v~0)) (<= 0 (+ 3 (div (+ (- 2) (* (- 1) (div (+ (* (- 1) main_~b~0) (- 4)) (- 2)))) 2))))} #106#return; {30566#(or (<= 0 (+ 5 (div (+ (- 9) (* (- 1) main_~c~0)) 2) main_~v~0)) (<= 0 (+ 3 (div (+ (- 2) (* (- 1) (div (+ (* (- 1) main_~b~0) (- 4)) (- 2)))) 2))))} is VALID [2022-04-27 13:15:38,560 INFO L290 TraceCheckUtils]: 51: Hoare triple {29812#true} assume true; {29812#true} is VALID [2022-04-27 13:15:38,560 INFO L290 TraceCheckUtils]: 50: Hoare triple {29812#true} assume !(0 == ~cond); {29812#true} is VALID [2022-04-27 13:15:38,560 INFO L290 TraceCheckUtils]: 49: Hoare triple {29812#true} ~cond := #in~cond; {29812#true} is VALID [2022-04-27 13:15:38,560 INFO L272 TraceCheckUtils]: 48: Hoare triple {30566#(or (<= 0 (+ 5 (div (+ (- 9) (* (- 1) main_~c~0)) 2) main_~v~0)) (<= 0 (+ 3 (div (+ (- 2) (* (- 1) (div (+ (* (- 1) main_~b~0) (- 4)) (- 2)))) 2))))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {29812#true} is VALID [2022-04-27 13:15:38,560 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {29812#true} {30566#(or (<= 0 (+ 5 (div (+ (- 9) (* (- 1) main_~c~0)) 2) main_~v~0)) (<= 0 (+ 3 (div (+ (- 2) (* (- 1) (div (+ (* (- 1) main_~b~0) (- 4)) (- 2)))) 2))))} #104#return; {30566#(or (<= 0 (+ 5 (div (+ (- 9) (* (- 1) main_~c~0)) 2) main_~v~0)) (<= 0 (+ 3 (div (+ (- 2) (* (- 1) (div (+ (* (- 1) main_~b~0) (- 4)) (- 2)))) 2))))} is VALID [2022-04-27 13:15:38,560 INFO L290 TraceCheckUtils]: 46: Hoare triple {29812#true} assume true; {29812#true} is VALID [2022-04-27 13:15:38,560 INFO L290 TraceCheckUtils]: 45: Hoare triple {29812#true} assume !(0 == ~cond); {29812#true} is VALID [2022-04-27 13:15:38,561 INFO L290 TraceCheckUtils]: 44: Hoare triple {29812#true} ~cond := #in~cond; {29812#true} is VALID [2022-04-27 13:15:38,561 INFO L272 TraceCheckUtils]: 43: Hoare triple {30566#(or (<= 0 (+ 5 (div (+ (- 9) (* (- 1) main_~c~0)) 2) main_~v~0)) (<= 0 (+ 3 (div (+ (- 2) (* (- 1) (div (+ (* (- 1) main_~b~0) (- 4)) (- 2)))) 2))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {29812#true} is VALID [2022-04-27 13:15:38,561 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {29812#true} {30566#(or (<= 0 (+ 5 (div (+ (- 9) (* (- 1) main_~c~0)) 2) main_~v~0)) (<= 0 (+ 3 (div (+ (- 2) (* (- 1) (div (+ (* (- 1) main_~b~0) (- 4)) (- 2)))) 2))))} #102#return; {30566#(or (<= 0 (+ 5 (div (+ (- 9) (* (- 1) main_~c~0)) 2) main_~v~0)) (<= 0 (+ 3 (div (+ (- 2) (* (- 1) (div (+ (* (- 1) main_~b~0) (- 4)) (- 2)))) 2))))} is VALID [2022-04-27 13:15:38,561 INFO L290 TraceCheckUtils]: 41: Hoare triple {29812#true} assume true; {29812#true} is VALID [2022-04-27 13:15:38,561 INFO L290 TraceCheckUtils]: 40: Hoare triple {29812#true} assume !(0 == ~cond); {29812#true} is VALID [2022-04-27 13:15:38,561 INFO L290 TraceCheckUtils]: 39: Hoare triple {29812#true} ~cond := #in~cond; {29812#true} is VALID [2022-04-27 13:15:38,561 INFO L272 TraceCheckUtils]: 38: Hoare triple {30566#(or (<= 0 (+ 5 (div (+ (- 9) (* (- 1) main_~c~0)) 2) main_~v~0)) (<= 0 (+ 3 (div (+ (- 2) (* (- 1) (div (+ (* (- 1) main_~b~0) (- 4)) (- 2)))) 2))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {29812#true} is VALID [2022-04-27 13:15:38,562 INFO L290 TraceCheckUtils]: 37: Hoare triple {30566#(or (<= 0 (+ 5 (div (+ (- 9) (* (- 1) main_~c~0)) 2) main_~v~0)) (<= 0 (+ 3 (div (+ (- 2) (* (- 1) (div (+ (* (- 1) main_~b~0) (- 4)) (- 2)))) 2))))} assume !false; {30566#(or (<= 0 (+ 5 (div (+ (- 9) (* (- 1) main_~c~0)) 2) main_~v~0)) (<= 0 (+ 3 (div (+ (- 2) (* (- 1) (div (+ (* (- 1) main_~b~0) (- 4)) (- 2)))) 2))))} is VALID [2022-04-27 13:15:38,563 INFO L290 TraceCheckUtils]: 36: Hoare triple {30633#(<= 0 (+ (div (+ (- 1) (div (+ (div (+ (- 9) (* (- 1) main_~c~0)) 2) (- 4)) 2)) 2) 4))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {30566#(or (<= 0 (+ 5 (div (+ (- 9) (* (- 1) main_~c~0)) 2) main_~v~0)) (<= 0 (+ 3 (div (+ (- 2) (* (- 1) (div (+ (* (- 1) main_~b~0) (- 4)) (- 2)))) 2))))} is VALID [2022-04-27 13:15:38,563 INFO L290 TraceCheckUtils]: 35: Hoare triple {30633#(<= 0 (+ (div (+ (- 1) (div (+ (div (+ (- 9) (* (- 1) main_~c~0)) 2) (- 4)) 2)) 2) 4))} assume !false; {30633#(<= 0 (+ (div (+ (- 1) (div (+ (div (+ (- 9) (* (- 1) main_~c~0)) 2) (- 4)) 2)) 2) 4))} is VALID [2022-04-27 13:15:38,564 INFO L290 TraceCheckUtils]: 34: Hoare triple {30640#(<= 0 (+ (div (+ (- 1) (div (+ (- 1) (div (+ (* (- 1) main_~a~0) (- 23)) 2)) 2)) 2) 5))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {30633#(<= 0 (+ (div (+ (- 1) (div (+ (div (+ (- 9) (* (- 1) main_~c~0)) 2) (- 4)) 2)) 2) 4))} is VALID [2022-04-27 13:15:38,564 INFO L290 TraceCheckUtils]: 33: Hoare triple {30640#(<= 0 (+ (div (+ (- 1) (div (+ (- 1) (div (+ (* (- 1) main_~a~0) (- 23)) 2)) 2)) 2) 5))} assume !false; {30640#(<= 0 (+ (div (+ (- 1) (div (+ (- 1) (div (+ (* (- 1) main_~a~0) (- 23)) 2)) 2)) 2) 5))} is VALID [2022-04-27 13:15:38,566 INFO L290 TraceCheckUtils]: 32: Hoare triple {30647#(<= 0 (+ 6 (div (+ (- 1) (div (+ (- 1) (div (+ (- 31) (* (- 1) main_~b~0)) 2)) 2)) 2)))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {30640#(<= 0 (+ (div (+ (- 1) (div (+ (- 1) (div (+ (* (- 1) main_~a~0) (- 23)) 2)) 2)) 2) 5))} is VALID [2022-04-27 13:15:38,566 INFO L290 TraceCheckUtils]: 31: Hoare triple {30647#(<= 0 (+ 6 (div (+ (- 1) (div (+ (- 1) (div (+ (- 31) (* (- 1) main_~b~0)) 2)) 2)) 2)))} assume !(~c~0 >= ~b~0); {30647#(<= 0 (+ 6 (div (+ (- 1) (div (+ (- 1) (div (+ (- 31) (* (- 1) main_~b~0)) 2)) 2)) 2)))} is VALID [2022-04-27 13:15:38,566 INFO L290 TraceCheckUtils]: 30: Hoare triple {30647#(<= 0 (+ 6 (div (+ (- 1) (div (+ (- 1) (div (+ (- 31) (* (- 1) main_~b~0)) 2)) 2)) 2)))} assume !false; {30647#(<= 0 (+ 6 (div (+ (- 1) (div (+ (- 1) (div (+ (- 31) (* (- 1) main_~b~0)) 2)) 2)) 2)))} is VALID [2022-04-27 13:15:38,567 INFO L290 TraceCheckUtils]: 29: Hoare triple {30647#(<= 0 (+ 6 (div (+ (- 1) (div (+ (- 1) (div (+ (- 31) (* (- 1) main_~b~0)) 2)) 2)) 2)))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {30647#(<= 0 (+ 6 (div (+ (- 1) (div (+ (- 1) (div (+ (- 31) (* (- 1) main_~b~0)) 2)) 2)) 2)))} is VALID [2022-04-27 13:15:38,567 INFO L290 TraceCheckUtils]: 28: Hoare triple {30647#(<= 0 (+ 6 (div (+ (- 1) (div (+ (- 1) (div (+ (- 31) (* (- 1) main_~b~0)) 2)) 2)) 2)))} assume !false; {30647#(<= 0 (+ 6 (div (+ (- 1) (div (+ (- 1) (div (+ (- 31) (* (- 1) main_~b~0)) 2)) 2)) 2)))} is VALID [2022-04-27 13:15:38,568 INFO L290 TraceCheckUtils]: 27: Hoare triple {30663#(<= 0 (+ (div (+ (- 1) (div (+ (- 1) (div (+ (* (- 1) main_~y~0) (- 39)) 2)) 2)) 2) 7))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {30647#(<= 0 (+ 6 (div (+ (- 1) (div (+ (- 1) (div (+ (- 31) (* (- 1) main_~b~0)) 2)) 2)) 2)))} is VALID [2022-04-27 13:15:38,568 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {29812#true} {30663#(<= 0 (+ (div (+ (- 1) (div (+ (- 1) (div (+ (* (- 1) main_~y~0) (- 39)) 2)) 2)) 2) 7))} #100#return; {30663#(<= 0 (+ (div (+ (- 1) (div (+ (- 1) (div (+ (* (- 1) main_~y~0) (- 39)) 2)) 2)) 2) 7))} is VALID [2022-04-27 13:15:38,569 INFO L290 TraceCheckUtils]: 25: Hoare triple {29812#true} assume true; {29812#true} is VALID [2022-04-27 13:15:38,569 INFO L290 TraceCheckUtils]: 24: Hoare triple {29812#true} assume !(0 == ~cond); {29812#true} is VALID [2022-04-27 13:15:38,569 INFO L290 TraceCheckUtils]: 23: Hoare triple {29812#true} ~cond := #in~cond; {29812#true} is VALID [2022-04-27 13:15:38,569 INFO L272 TraceCheckUtils]: 22: Hoare triple {30663#(<= 0 (+ (div (+ (- 1) (div (+ (- 1) (div (+ (* (- 1) main_~y~0) (- 39)) 2)) 2)) 2) 7))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {29812#true} is VALID [2022-04-27 13:15:38,569 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {29812#true} {30663#(<= 0 (+ (div (+ (- 1) (div (+ (- 1) (div (+ (* (- 1) main_~y~0) (- 39)) 2)) 2)) 2) 7))} #98#return; {30663#(<= 0 (+ (div (+ (- 1) (div (+ (- 1) (div (+ (* (- 1) main_~y~0) (- 39)) 2)) 2)) 2) 7))} is VALID [2022-04-27 13:15:38,569 INFO L290 TraceCheckUtils]: 20: Hoare triple {29812#true} assume true; {29812#true} is VALID [2022-04-27 13:15:38,569 INFO L290 TraceCheckUtils]: 19: Hoare triple {29812#true} assume !(0 == ~cond); {29812#true} is VALID [2022-04-27 13:15:38,569 INFO L290 TraceCheckUtils]: 18: Hoare triple {29812#true} ~cond := #in~cond; {29812#true} is VALID [2022-04-27 13:15:38,569 INFO L272 TraceCheckUtils]: 17: Hoare triple {30663#(<= 0 (+ (div (+ (- 1) (div (+ (- 1) (div (+ (* (- 1) main_~y~0) (- 39)) 2)) 2)) 2) 7))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {29812#true} is VALID [2022-04-27 13:15:38,570 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {29860#(not (= |assume_abort_if_not_#in~cond| 0))} {29812#true} #96#return; {30663#(<= 0 (+ (div (+ (- 1) (div (+ (- 1) (div (+ (* (- 1) main_~y~0) (- 39)) 2)) 2)) 2) 7))} is VALID [2022-04-27 13:15:38,570 INFO L290 TraceCheckUtils]: 15: Hoare triple {29860#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {29860#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:15:38,571 INFO L290 TraceCheckUtils]: 14: Hoare triple {30706#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {29860#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:15:38,571 INFO L290 TraceCheckUtils]: 13: Hoare triple {29812#true} ~cond := #in~cond; {30706#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-27 13:15:38,571 INFO L272 TraceCheckUtils]: 12: Hoare triple {29812#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {29812#true} is VALID [2022-04-27 13:15:38,571 INFO L290 TraceCheckUtils]: 11: Hoare triple {29812#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {29812#true} is VALID [2022-04-27 13:15:38,571 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {29812#true} {29812#true} #94#return; {29812#true} is VALID [2022-04-27 13:15:38,571 INFO L290 TraceCheckUtils]: 9: Hoare triple {29812#true} assume true; {29812#true} is VALID [2022-04-27 13:15:38,571 INFO L290 TraceCheckUtils]: 8: Hoare triple {29812#true} assume !(0 == ~cond); {29812#true} is VALID [2022-04-27 13:15:38,571 INFO L290 TraceCheckUtils]: 7: Hoare triple {29812#true} ~cond := #in~cond; {29812#true} is VALID [2022-04-27 13:15:38,571 INFO L272 TraceCheckUtils]: 6: Hoare triple {29812#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {29812#true} is VALID [2022-04-27 13:15:38,571 INFO L290 TraceCheckUtils]: 5: Hoare triple {29812#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {29812#true} is VALID [2022-04-27 13:15:38,572 INFO L272 TraceCheckUtils]: 4: Hoare triple {29812#true} call #t~ret6 := main(); {29812#true} is VALID [2022-04-27 13:15:38,572 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {29812#true} {29812#true} #112#return; {29812#true} is VALID [2022-04-27 13:15:38,572 INFO L290 TraceCheckUtils]: 2: Hoare triple {29812#true} assume true; {29812#true} is VALID [2022-04-27 13:15:38,572 INFO L290 TraceCheckUtils]: 1: Hoare triple {29812#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(11, 2);call #Ultimate.allocInit(12, 3); {29812#true} is VALID [2022-04-27 13:15:38,572 INFO L272 TraceCheckUtils]: 0: Hoare triple {29812#true} call ULTIMATE.init(); {29812#true} is VALID [2022-04-27 13:15:38,572 INFO L134 CoverageAnalysis]: Checked inductivity of 696 backedges. 64 proven. 73 refuted. 0 times theorem prover too weak. 559 trivial. 0 not checked. [2022-04-27 13:15:38,572 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:15:38,572 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1455635004] [2022-04-27 13:15:38,573 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:15:38,573 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1631715459] [2022-04-27 13:15:38,573 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1631715459] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 13:15:38,573 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 13:15:38,573 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 18] total 31 [2022-04-27 13:15:38,573 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [799172607] [2022-04-27 13:15:38,573 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 13:15:38,573 INFO L78 Accepts]: Start accepts. Automaton has has 31 states, 31 states have (on average 2.806451612903226) internal successors, (87), 29 states have internal predecessors, (87), 12 states have call successors, (43), 2 states have call predecessors, (43), 3 states have return successors, (42), 12 states have call predecessors, (42), 12 states have call successors, (42) Word has length 151 [2022-04-27 13:15:38,574 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:15:38,574 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 31 states, 31 states have (on average 2.806451612903226) internal successors, (87), 29 states have internal predecessors, (87), 12 states have call successors, (43), 2 states have call predecessors, (43), 3 states have return successors, (42), 12 states have call predecessors, (42), 12 states have call successors, (42) [2022-04-27 13:15:38,790 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 172 edges. 172 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:15:38,790 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 31 states [2022-04-27 13:15:38,790 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:15:38,790 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 31 interpolants. [2022-04-27 13:15:38,791 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=126, Invalid=804, Unknown=0, NotChecked=0, Total=930 [2022-04-27 13:15:38,791 INFO L87 Difference]: Start difference. First operand 210 states and 256 transitions. Second operand has 31 states, 31 states have (on average 2.806451612903226) internal successors, (87), 29 states have internal predecessors, (87), 12 states have call successors, (43), 2 states have call predecessors, (43), 3 states have return successors, (42), 12 states have call predecessors, (42), 12 states have call successors, (42) [2022-04-27 13:15:42,509 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:15:42,509 INFO L93 Difference]: Finished difference Result 262 states and 310 transitions. [2022-04-27 13:15:42,509 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2022-04-27 13:15:42,509 INFO L78 Accepts]: Start accepts. Automaton has has 31 states, 31 states have (on average 2.806451612903226) internal successors, (87), 29 states have internal predecessors, (87), 12 states have call successors, (43), 2 states have call predecessors, (43), 3 states have return successors, (42), 12 states have call predecessors, (42), 12 states have call successors, (42) Word has length 151 [2022-04-27 13:15:42,510 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:15:42,510 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 31 states, 31 states have (on average 2.806451612903226) internal successors, (87), 29 states have internal predecessors, (87), 12 states have call successors, (43), 2 states have call predecessors, (43), 3 states have return successors, (42), 12 states have call predecessors, (42), 12 states have call successors, (42) [2022-04-27 13:15:42,511 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 97 transitions. [2022-04-27 13:15:42,511 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 31 states, 31 states have (on average 2.806451612903226) internal successors, (87), 29 states have internal predecessors, (87), 12 states have call successors, (43), 2 states have call predecessors, (43), 3 states have return successors, (42), 12 states have call predecessors, (42), 12 states have call successors, (42) [2022-04-27 13:15:42,515 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 97 transitions. [2022-04-27 13:15:42,516 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 17 states and 97 transitions. [2022-04-27 13:15:42,611 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 97 edges. 97 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:15:42,612 INFO L225 Difference]: With dead ends: 262 [2022-04-27 13:15:42,613 INFO L226 Difference]: Without dead ends: 89 [2022-04-27 13:15:42,613 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 314 GetRequests, 272 SyntacticMatches, 0 SemanticMatches, 42 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 285 ImplicationChecksByTransitivity, 1.1s TimeCoverageRelationStatistics Valid=371, Invalid=1521, Unknown=0, NotChecked=0, Total=1892 [2022-04-27 13:15:42,615 INFO L413 NwaCegarLoop]: 51 mSDtfsCounter, 57 mSDsluCounter, 487 mSDsCounter, 0 mSdLazyCounter, 715 mSolverCounterSat, 84 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 57 SdHoareTripleChecker+Valid, 538 SdHoareTripleChecker+Invalid, 799 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 84 IncrementalHoareTripleChecker+Valid, 715 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.1s IncrementalHoareTripleChecker+Time [2022-04-27 13:15:42,618 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [57 Valid, 538 Invalid, 799 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [84 Valid, 715 Invalid, 0 Unknown, 0 Unchecked, 1.1s Time] [2022-04-27 13:15:42,618 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 89 states. [2022-04-27 13:15:42,835 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 89 to 89. [2022-04-27 13:15:42,835 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:15:42,836 INFO L82 GeneralOperation]: Start isEquivalent. First operand 89 states. Second operand has 89 states, 52 states have (on average 1.0192307692307692) internal successors, (53), 52 states have internal predecessors, (53), 28 states have call successors, (28), 10 states have call predecessors, (28), 8 states have return successors, (26), 26 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-27 13:15:42,836 INFO L74 IsIncluded]: Start isIncluded. First operand 89 states. Second operand has 89 states, 52 states have (on average 1.0192307692307692) internal successors, (53), 52 states have internal predecessors, (53), 28 states have call successors, (28), 10 states have call predecessors, (28), 8 states have return successors, (26), 26 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-27 13:15:42,836 INFO L87 Difference]: Start difference. First operand 89 states. Second operand has 89 states, 52 states have (on average 1.0192307692307692) internal successors, (53), 52 states have internal predecessors, (53), 28 states have call successors, (28), 10 states have call predecessors, (28), 8 states have return successors, (26), 26 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-27 13:15:42,837 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:15:42,837 INFO L93 Difference]: Finished difference Result 89 states and 107 transitions. [2022-04-27 13:15:42,837 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 107 transitions. [2022-04-27 13:15:42,838 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:15:42,838 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:15:42,838 INFO L74 IsIncluded]: Start isIncluded. First operand has 89 states, 52 states have (on average 1.0192307692307692) internal successors, (53), 52 states have internal predecessors, (53), 28 states have call successors, (28), 10 states have call predecessors, (28), 8 states have return successors, (26), 26 states have call predecessors, (26), 26 states have call successors, (26) Second operand 89 states. [2022-04-27 13:15:42,838 INFO L87 Difference]: Start difference. First operand has 89 states, 52 states have (on average 1.0192307692307692) internal successors, (53), 52 states have internal predecessors, (53), 28 states have call successors, (28), 10 states have call predecessors, (28), 8 states have return successors, (26), 26 states have call predecessors, (26), 26 states have call successors, (26) Second operand 89 states. [2022-04-27 13:15:42,849 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:15:42,849 INFO L93 Difference]: Finished difference Result 89 states and 107 transitions. [2022-04-27 13:15:42,849 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 107 transitions. [2022-04-27 13:15:42,851 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:15:42,852 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:15:42,852 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:15:42,852 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:15:42,852 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 89 states, 52 states have (on average 1.0192307692307692) internal successors, (53), 52 states have internal predecessors, (53), 28 states have call successors, (28), 10 states have call predecessors, (28), 8 states have return successors, (26), 26 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-27 13:15:42,854 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 89 states to 89 states and 107 transitions. [2022-04-27 13:15:42,854 INFO L78 Accepts]: Start accepts. Automaton has 89 states and 107 transitions. Word has length 151 [2022-04-27 13:15:42,854 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:15:42,854 INFO L495 AbstractCegarLoop]: Abstraction has 89 states and 107 transitions. [2022-04-27 13:15:42,865 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 31 states, 31 states have (on average 2.806451612903226) internal successors, (87), 29 states have internal predecessors, (87), 12 states have call successors, (43), 2 states have call predecessors, (43), 3 states have return successors, (42), 12 states have call predecessors, (42), 12 states have call successors, (42) [2022-04-27 13:15:42,865 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 107 transitions. [2022-04-27 13:15:42,866 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 161 [2022-04-27 13:15:42,866 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:15:42,866 INFO L195 NwaCegarLoop]: trace histogram [22, 21, 21, 6, 6, 6, 6, 5, 5, 5, 5, 5, 4, 4, 4, 4, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:15:42,901 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (20)] Forceful destruction successful, exit code 0 [2022-04-27 13:15:43,067 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable19,20 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:15:43,067 INFO L420 AbstractCegarLoop]: === Iteration 21 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:15:43,067 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:15:43,067 INFO L85 PathProgramCache]: Analyzing trace with hash -83738457, now seen corresponding path program 6 times [2022-04-27 13:15:43,067 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:15:43,068 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [570855691] [2022-04-27 13:15:43,068 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:15:43,068 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:15:43,078 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:15:43,078 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2136064308] [2022-04-27 13:15:43,078 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-27 13:15:43,078 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:15:43,078 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:15:43,080 INFO L229 MonitoredProcess]: Starting monitored process 21 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 13:15:43,094 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (21)] Waiting until timeout for monitored process [2022-04-27 13:15:43,150 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 7 check-sat command(s) [2022-04-27 13:15:43,150 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 13:15:43,151 INFO L263 TraceCheckSpWp]: Trace formula consists of 244 conjuncts, 16 conjunts are in the unsatisfiable core [2022-04-27 13:15:43,171 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:15:43,173 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:15:46,395 INFO L272 TraceCheckUtils]: 0: Hoare triple {31485#true} call ULTIMATE.init(); {31485#true} is VALID [2022-04-27 13:15:46,396 INFO L290 TraceCheckUtils]: 1: Hoare triple {31485#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(11, 2);call #Ultimate.allocInit(12, 3); {31485#true} is VALID [2022-04-27 13:15:46,396 INFO L290 TraceCheckUtils]: 2: Hoare triple {31485#true} assume true; {31485#true} is VALID [2022-04-27 13:15:46,396 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {31485#true} {31485#true} #112#return; {31485#true} is VALID [2022-04-27 13:15:46,396 INFO L272 TraceCheckUtils]: 4: Hoare triple {31485#true} call #t~ret6 := main(); {31485#true} is VALID [2022-04-27 13:15:46,396 INFO L290 TraceCheckUtils]: 5: Hoare triple {31485#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {31485#true} is VALID [2022-04-27 13:15:46,396 INFO L272 TraceCheckUtils]: 6: Hoare triple {31485#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {31485#true} is VALID [2022-04-27 13:15:46,396 INFO L290 TraceCheckUtils]: 7: Hoare triple {31485#true} ~cond := #in~cond; {31511#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 13:15:46,397 INFO L290 TraceCheckUtils]: 8: Hoare triple {31511#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {31515#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:15:46,397 INFO L290 TraceCheckUtils]: 9: Hoare triple {31515#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {31515#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:15:46,398 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {31515#(not (= |assume_abort_if_not_#in~cond| 0))} {31485#true} #94#return; {31522#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-27 13:15:46,398 INFO L290 TraceCheckUtils]: 11: Hoare triple {31522#(and (<= 0 main_~x~0) (<= main_~x~0 2))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {31522#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-27 13:15:46,398 INFO L272 TraceCheckUtils]: 12: Hoare triple {31522#(and (<= 0 main_~x~0) (<= main_~x~0 2))} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {31485#true} is VALID [2022-04-27 13:15:46,398 INFO L290 TraceCheckUtils]: 13: Hoare triple {31485#true} ~cond := #in~cond; {31485#true} is VALID [2022-04-27 13:15:46,398 INFO L290 TraceCheckUtils]: 14: Hoare triple {31485#true} assume !(0 == ~cond); {31485#true} is VALID [2022-04-27 13:15:46,398 INFO L290 TraceCheckUtils]: 15: Hoare triple {31485#true} assume true; {31485#true} is VALID [2022-04-27 13:15:46,399 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {31485#true} {31522#(and (<= 0 main_~x~0) (<= main_~x~0 2))} #96#return; {31522#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-27 13:15:46,399 INFO L272 TraceCheckUtils]: 17: Hoare triple {31522#(and (<= 0 main_~x~0) (<= main_~x~0 2))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {31485#true} is VALID [2022-04-27 13:15:46,399 INFO L290 TraceCheckUtils]: 18: Hoare triple {31485#true} ~cond := #in~cond; {31485#true} is VALID [2022-04-27 13:15:46,399 INFO L290 TraceCheckUtils]: 19: Hoare triple {31485#true} assume !(0 == ~cond); {31485#true} is VALID [2022-04-27 13:15:46,399 INFO L290 TraceCheckUtils]: 20: Hoare triple {31485#true} assume true; {31485#true} is VALID [2022-04-27 13:15:46,399 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {31485#true} {31522#(and (<= 0 main_~x~0) (<= main_~x~0 2))} #98#return; {31522#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-27 13:15:46,399 INFO L272 TraceCheckUtils]: 22: Hoare triple {31522#(and (<= 0 main_~x~0) (<= main_~x~0 2))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {31485#true} is VALID [2022-04-27 13:15:46,399 INFO L290 TraceCheckUtils]: 23: Hoare triple {31485#true} ~cond := #in~cond; {31485#true} is VALID [2022-04-27 13:15:46,399 INFO L290 TraceCheckUtils]: 24: Hoare triple {31485#true} assume !(0 == ~cond); {31485#true} is VALID [2022-04-27 13:15:46,399 INFO L290 TraceCheckUtils]: 25: Hoare triple {31485#true} assume true; {31485#true} is VALID [2022-04-27 13:15:46,400 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {31485#true} {31522#(and (<= 0 main_~x~0) (<= main_~x~0 2))} #100#return; {31522#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-27 13:15:46,400 INFO L290 TraceCheckUtils]: 27: Hoare triple {31522#(and (<= 0 main_~x~0) (<= main_~x~0 2))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {31574#(<= main_~a~0 2)} is VALID [2022-04-27 13:15:46,401 INFO L290 TraceCheckUtils]: 28: Hoare triple {31574#(<= main_~a~0 2)} assume !false; {31574#(<= main_~a~0 2)} is VALID [2022-04-27 13:15:46,401 INFO L290 TraceCheckUtils]: 29: Hoare triple {31574#(<= main_~a~0 2)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {31581#(<= main_~c~0 2)} is VALID [2022-04-27 13:15:46,401 INFO L290 TraceCheckUtils]: 30: Hoare triple {31581#(<= main_~c~0 2)} assume !false; {31581#(<= main_~c~0 2)} is VALID [2022-04-27 13:15:46,401 INFO L290 TraceCheckUtils]: 31: Hoare triple {31581#(<= main_~c~0 2)} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {31588#(and (<= main_~c~0 2) (<= main_~b~0 main_~v~0))} is VALID [2022-04-27 13:15:46,402 INFO L290 TraceCheckUtils]: 32: Hoare triple {31588#(and (<= main_~c~0 2) (<= main_~b~0 main_~v~0))} assume !false; {31588#(and (<= main_~c~0 2) (<= main_~b~0 main_~v~0))} is VALID [2022-04-27 13:15:46,402 INFO L272 TraceCheckUtils]: 33: Hoare triple {31588#(and (<= main_~c~0 2) (<= main_~b~0 main_~v~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {31485#true} is VALID [2022-04-27 13:15:46,402 INFO L290 TraceCheckUtils]: 34: Hoare triple {31485#true} ~cond := #in~cond; {31485#true} is VALID [2022-04-27 13:15:46,402 INFO L290 TraceCheckUtils]: 35: Hoare triple {31485#true} assume !(0 == ~cond); {31485#true} is VALID [2022-04-27 13:15:46,402 INFO L290 TraceCheckUtils]: 36: Hoare triple {31485#true} assume true; {31485#true} is VALID [2022-04-27 13:15:46,403 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {31485#true} {31588#(and (<= main_~c~0 2) (<= main_~b~0 main_~v~0))} #102#return; {31588#(and (<= main_~c~0 2) (<= main_~b~0 main_~v~0))} is VALID [2022-04-27 13:15:46,403 INFO L272 TraceCheckUtils]: 38: Hoare triple {31588#(and (<= main_~c~0 2) (<= main_~b~0 main_~v~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {31485#true} is VALID [2022-04-27 13:15:46,403 INFO L290 TraceCheckUtils]: 39: Hoare triple {31485#true} ~cond := #in~cond; {31485#true} is VALID [2022-04-27 13:15:46,403 INFO L290 TraceCheckUtils]: 40: Hoare triple {31485#true} assume !(0 == ~cond); {31485#true} is VALID [2022-04-27 13:15:46,403 INFO L290 TraceCheckUtils]: 41: Hoare triple {31485#true} assume true; {31485#true} is VALID [2022-04-27 13:15:46,404 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {31485#true} {31588#(and (<= main_~c~0 2) (<= main_~b~0 main_~v~0))} #104#return; {31588#(and (<= main_~c~0 2) (<= main_~b~0 main_~v~0))} is VALID [2022-04-27 13:15:46,404 INFO L272 TraceCheckUtils]: 43: Hoare triple {31588#(and (<= main_~c~0 2) (<= main_~b~0 main_~v~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {31485#true} is VALID [2022-04-27 13:15:46,404 INFO L290 TraceCheckUtils]: 44: Hoare triple {31485#true} ~cond := #in~cond; {31485#true} is VALID [2022-04-27 13:15:46,404 INFO L290 TraceCheckUtils]: 45: Hoare triple {31485#true} assume !(0 == ~cond); {31485#true} is VALID [2022-04-27 13:15:46,404 INFO L290 TraceCheckUtils]: 46: Hoare triple {31485#true} assume true; {31485#true} is VALID [2022-04-27 13:15:46,404 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {31485#true} {31588#(and (<= main_~c~0 2) (<= main_~b~0 main_~v~0))} #106#return; {31588#(and (<= main_~c~0 2) (<= main_~b~0 main_~v~0))} is VALID [2022-04-27 13:15:46,404 INFO L272 TraceCheckUtils]: 48: Hoare triple {31588#(and (<= main_~c~0 2) (<= main_~b~0 main_~v~0))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {31485#true} is VALID [2022-04-27 13:15:46,404 INFO L290 TraceCheckUtils]: 49: Hoare triple {31485#true} ~cond := #in~cond; {31485#true} is VALID [2022-04-27 13:15:46,405 INFO L290 TraceCheckUtils]: 50: Hoare triple {31485#true} assume !(0 == ~cond); {31485#true} is VALID [2022-04-27 13:15:46,405 INFO L290 TraceCheckUtils]: 51: Hoare triple {31485#true} assume true; {31485#true} is VALID [2022-04-27 13:15:46,405 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {31485#true} {31588#(and (<= main_~c~0 2) (<= main_~b~0 main_~v~0))} #108#return; {31588#(and (<= main_~c~0 2) (<= main_~b~0 main_~v~0))} is VALID [2022-04-27 13:15:46,406 INFO L290 TraceCheckUtils]: 53: Hoare triple {31588#(and (<= main_~c~0 2) (<= main_~b~0 main_~v~0))} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {31655#(and (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 2))} is VALID [2022-04-27 13:15:46,406 INFO L290 TraceCheckUtils]: 54: Hoare triple {31655#(and (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 2))} assume !false; {31655#(and (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 2))} is VALID [2022-04-27 13:15:46,406 INFO L272 TraceCheckUtils]: 55: Hoare triple {31655#(and (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 2))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {31485#true} is VALID [2022-04-27 13:15:46,406 INFO L290 TraceCheckUtils]: 56: Hoare triple {31485#true} ~cond := #in~cond; {31485#true} is VALID [2022-04-27 13:15:46,407 INFO L290 TraceCheckUtils]: 57: Hoare triple {31485#true} assume !(0 == ~cond); {31485#true} is VALID [2022-04-27 13:15:46,407 INFO L290 TraceCheckUtils]: 58: Hoare triple {31485#true} assume true; {31485#true} is VALID [2022-04-27 13:15:46,407 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {31485#true} {31655#(and (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 2))} #102#return; {31655#(and (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 2))} is VALID [2022-04-27 13:15:46,407 INFO L272 TraceCheckUtils]: 60: Hoare triple {31655#(and (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 2))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {31485#true} is VALID [2022-04-27 13:15:46,407 INFO L290 TraceCheckUtils]: 61: Hoare triple {31485#true} ~cond := #in~cond; {31485#true} is VALID [2022-04-27 13:15:46,407 INFO L290 TraceCheckUtils]: 62: Hoare triple {31485#true} assume !(0 == ~cond); {31485#true} is VALID [2022-04-27 13:15:46,407 INFO L290 TraceCheckUtils]: 63: Hoare triple {31485#true} assume true; {31485#true} is VALID [2022-04-27 13:15:46,408 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {31485#true} {31655#(and (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 2))} #104#return; {31655#(and (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 2))} is VALID [2022-04-27 13:15:46,408 INFO L272 TraceCheckUtils]: 65: Hoare triple {31655#(and (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 2))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {31485#true} is VALID [2022-04-27 13:15:46,408 INFO L290 TraceCheckUtils]: 66: Hoare triple {31485#true} ~cond := #in~cond; {31485#true} is VALID [2022-04-27 13:15:46,408 INFO L290 TraceCheckUtils]: 67: Hoare triple {31485#true} assume !(0 == ~cond); {31485#true} is VALID [2022-04-27 13:15:46,408 INFO L290 TraceCheckUtils]: 68: Hoare triple {31485#true} assume true; {31485#true} is VALID [2022-04-27 13:15:46,409 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {31485#true} {31655#(and (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 2))} #106#return; {31655#(and (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 2))} is VALID [2022-04-27 13:15:46,409 INFO L272 TraceCheckUtils]: 70: Hoare triple {31655#(and (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 2))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {31485#true} is VALID [2022-04-27 13:15:46,409 INFO L290 TraceCheckUtils]: 71: Hoare triple {31485#true} ~cond := #in~cond; {31485#true} is VALID [2022-04-27 13:15:46,409 INFO L290 TraceCheckUtils]: 72: Hoare triple {31485#true} assume !(0 == ~cond); {31485#true} is VALID [2022-04-27 13:15:46,409 INFO L290 TraceCheckUtils]: 73: Hoare triple {31485#true} assume true; {31485#true} is VALID [2022-04-27 13:15:46,409 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {31485#true} {31655#(and (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 2))} #108#return; {31655#(and (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 2))} is VALID [2022-04-27 13:15:46,410 INFO L290 TraceCheckUtils]: 75: Hoare triple {31655#(and (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 2))} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {31655#(and (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 2))} is VALID [2022-04-27 13:15:46,410 INFO L290 TraceCheckUtils]: 76: Hoare triple {31655#(and (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 2))} assume !false; {31655#(and (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 2))} is VALID [2022-04-27 13:15:46,410 INFO L272 TraceCheckUtils]: 77: Hoare triple {31655#(and (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 2))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {31485#true} is VALID [2022-04-27 13:15:46,410 INFO L290 TraceCheckUtils]: 78: Hoare triple {31485#true} ~cond := #in~cond; {31485#true} is VALID [2022-04-27 13:15:46,410 INFO L290 TraceCheckUtils]: 79: Hoare triple {31485#true} assume !(0 == ~cond); {31485#true} is VALID [2022-04-27 13:15:46,410 INFO L290 TraceCheckUtils]: 80: Hoare triple {31485#true} assume true; {31485#true} is VALID [2022-04-27 13:15:46,411 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {31485#true} {31655#(and (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 2))} #102#return; {31655#(and (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 2))} is VALID [2022-04-27 13:15:46,411 INFO L272 TraceCheckUtils]: 82: Hoare triple {31655#(and (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 2))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {31485#true} is VALID [2022-04-27 13:15:46,411 INFO L290 TraceCheckUtils]: 83: Hoare triple {31485#true} ~cond := #in~cond; {31485#true} is VALID [2022-04-27 13:15:46,411 INFO L290 TraceCheckUtils]: 84: Hoare triple {31485#true} assume !(0 == ~cond); {31485#true} is VALID [2022-04-27 13:15:46,411 INFO L290 TraceCheckUtils]: 85: Hoare triple {31485#true} assume true; {31485#true} is VALID [2022-04-27 13:15:46,412 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {31485#true} {31655#(and (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 2))} #104#return; {31655#(and (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 2))} is VALID [2022-04-27 13:15:46,412 INFO L272 TraceCheckUtils]: 87: Hoare triple {31655#(and (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 2))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {31485#true} is VALID [2022-04-27 13:15:46,412 INFO L290 TraceCheckUtils]: 88: Hoare triple {31485#true} ~cond := #in~cond; {31485#true} is VALID [2022-04-27 13:15:46,412 INFO L290 TraceCheckUtils]: 89: Hoare triple {31485#true} assume !(0 == ~cond); {31485#true} is VALID [2022-04-27 13:15:46,412 INFO L290 TraceCheckUtils]: 90: Hoare triple {31485#true} assume true; {31485#true} is VALID [2022-04-27 13:15:46,413 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {31485#true} {31655#(and (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 2))} #106#return; {31655#(and (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 2))} is VALID [2022-04-27 13:15:46,413 INFO L272 TraceCheckUtils]: 92: Hoare triple {31655#(and (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 2))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {31485#true} is VALID [2022-04-27 13:15:46,413 INFO L290 TraceCheckUtils]: 93: Hoare triple {31485#true} ~cond := #in~cond; {31485#true} is VALID [2022-04-27 13:15:46,413 INFO L290 TraceCheckUtils]: 94: Hoare triple {31485#true} assume !(0 == ~cond); {31485#true} is VALID [2022-04-27 13:15:46,413 INFO L290 TraceCheckUtils]: 95: Hoare triple {31485#true} assume true; {31485#true} is VALID [2022-04-27 13:15:46,413 INFO L284 TraceCheckUtils]: 96: Hoare quadruple {31485#true} {31655#(and (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 2))} #108#return; {31655#(and (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 2))} is VALID [2022-04-27 13:15:46,414 INFO L290 TraceCheckUtils]: 97: Hoare triple {31655#(and (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 2))} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {31655#(and (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 2))} is VALID [2022-04-27 13:15:46,414 INFO L290 TraceCheckUtils]: 98: Hoare triple {31655#(and (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 2))} assume !false; {31655#(and (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 2))} is VALID [2022-04-27 13:15:46,414 INFO L272 TraceCheckUtils]: 99: Hoare triple {31655#(and (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 2))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {31485#true} is VALID [2022-04-27 13:15:46,414 INFO L290 TraceCheckUtils]: 100: Hoare triple {31485#true} ~cond := #in~cond; {31485#true} is VALID [2022-04-27 13:15:46,414 INFO L290 TraceCheckUtils]: 101: Hoare triple {31485#true} assume !(0 == ~cond); {31485#true} is VALID [2022-04-27 13:15:46,414 INFO L290 TraceCheckUtils]: 102: Hoare triple {31485#true} assume true; {31485#true} is VALID [2022-04-27 13:15:46,415 INFO L284 TraceCheckUtils]: 103: Hoare quadruple {31485#true} {31655#(and (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 2))} #102#return; {31655#(and (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 2))} is VALID [2022-04-27 13:15:46,415 INFO L272 TraceCheckUtils]: 104: Hoare triple {31655#(and (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 2))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {31485#true} is VALID [2022-04-27 13:15:46,415 INFO L290 TraceCheckUtils]: 105: Hoare triple {31485#true} ~cond := #in~cond; {31485#true} is VALID [2022-04-27 13:15:46,415 INFO L290 TraceCheckUtils]: 106: Hoare triple {31485#true} assume !(0 == ~cond); {31485#true} is VALID [2022-04-27 13:15:46,415 INFO L290 TraceCheckUtils]: 107: Hoare triple {31485#true} assume true; {31485#true} is VALID [2022-04-27 13:15:46,416 INFO L284 TraceCheckUtils]: 108: Hoare quadruple {31485#true} {31655#(and (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 2))} #104#return; {31655#(and (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 2))} is VALID [2022-04-27 13:15:46,416 INFO L272 TraceCheckUtils]: 109: Hoare triple {31655#(and (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 2))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {31485#true} is VALID [2022-04-27 13:15:46,416 INFO L290 TraceCheckUtils]: 110: Hoare triple {31485#true} ~cond := #in~cond; {31485#true} is VALID [2022-04-27 13:15:46,416 INFO L290 TraceCheckUtils]: 111: Hoare triple {31485#true} assume !(0 == ~cond); {31485#true} is VALID [2022-04-27 13:15:46,416 INFO L290 TraceCheckUtils]: 112: Hoare triple {31485#true} assume true; {31485#true} is VALID [2022-04-27 13:15:46,416 INFO L284 TraceCheckUtils]: 113: Hoare quadruple {31485#true} {31655#(and (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 2))} #106#return; {31655#(and (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 2))} is VALID [2022-04-27 13:15:46,416 INFO L272 TraceCheckUtils]: 114: Hoare triple {31655#(and (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 2))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {31485#true} is VALID [2022-04-27 13:15:46,417 INFO L290 TraceCheckUtils]: 115: Hoare triple {31485#true} ~cond := #in~cond; {31485#true} is VALID [2022-04-27 13:15:46,417 INFO L290 TraceCheckUtils]: 116: Hoare triple {31485#true} assume !(0 == ~cond); {31485#true} is VALID [2022-04-27 13:15:46,417 INFO L290 TraceCheckUtils]: 117: Hoare triple {31485#true} assume true; {31485#true} is VALID [2022-04-27 13:15:46,417 INFO L284 TraceCheckUtils]: 118: Hoare quadruple {31485#true} {31655#(and (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 2))} #108#return; {31655#(and (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 2))} is VALID [2022-04-27 13:15:46,419 INFO L290 TraceCheckUtils]: 119: Hoare triple {31655#(and (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 2))} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {31854#(and (<= (div (- main_~v~0) (- 2)) (div main_~c~0 2)) (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 2))} is VALID [2022-04-27 13:15:46,419 INFO L290 TraceCheckUtils]: 120: Hoare triple {31854#(and (<= (div (- main_~v~0) (- 2)) (div main_~c~0 2)) (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 2))} assume !false; {31854#(and (<= (div (- main_~v~0) (- 2)) (div main_~c~0 2)) (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 2))} is VALID [2022-04-27 13:15:46,419 INFO L272 TraceCheckUtils]: 121: Hoare triple {31854#(and (<= (div (- main_~v~0) (- 2)) (div main_~c~0 2)) (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 2))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {31485#true} is VALID [2022-04-27 13:15:46,419 INFO L290 TraceCheckUtils]: 122: Hoare triple {31485#true} ~cond := #in~cond; {31485#true} is VALID [2022-04-27 13:15:46,419 INFO L290 TraceCheckUtils]: 123: Hoare triple {31485#true} assume !(0 == ~cond); {31485#true} is VALID [2022-04-27 13:15:46,419 INFO L290 TraceCheckUtils]: 124: Hoare triple {31485#true} assume true; {31485#true} is VALID [2022-04-27 13:15:46,420 INFO L284 TraceCheckUtils]: 125: Hoare quadruple {31485#true} {31854#(and (<= (div (- main_~v~0) (- 2)) (div main_~c~0 2)) (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 2))} #102#return; {31854#(and (<= (div (- main_~v~0) (- 2)) (div main_~c~0 2)) (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 2))} is VALID [2022-04-27 13:15:46,420 INFO L272 TraceCheckUtils]: 126: Hoare triple {31854#(and (<= (div (- main_~v~0) (- 2)) (div main_~c~0 2)) (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 2))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {31485#true} is VALID [2022-04-27 13:15:46,420 INFO L290 TraceCheckUtils]: 127: Hoare triple {31485#true} ~cond := #in~cond; {31485#true} is VALID [2022-04-27 13:15:46,420 INFO L290 TraceCheckUtils]: 128: Hoare triple {31485#true} assume !(0 == ~cond); {31485#true} is VALID [2022-04-27 13:15:46,420 INFO L290 TraceCheckUtils]: 129: Hoare triple {31485#true} assume true; {31485#true} is VALID [2022-04-27 13:15:46,421 INFO L284 TraceCheckUtils]: 130: Hoare quadruple {31485#true} {31854#(and (<= (div (- main_~v~0) (- 2)) (div main_~c~0 2)) (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 2))} #104#return; {31854#(and (<= (div (- main_~v~0) (- 2)) (div main_~c~0 2)) (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 2))} is VALID [2022-04-27 13:15:46,421 INFO L272 TraceCheckUtils]: 131: Hoare triple {31854#(and (<= (div (- main_~v~0) (- 2)) (div main_~c~0 2)) (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 2))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {31485#true} is VALID [2022-04-27 13:15:46,421 INFO L290 TraceCheckUtils]: 132: Hoare triple {31485#true} ~cond := #in~cond; {31485#true} is VALID [2022-04-27 13:15:46,421 INFO L290 TraceCheckUtils]: 133: Hoare triple {31485#true} assume !(0 == ~cond); {31485#true} is VALID [2022-04-27 13:15:46,421 INFO L290 TraceCheckUtils]: 134: Hoare triple {31485#true} assume true; {31485#true} is VALID [2022-04-27 13:15:46,422 INFO L284 TraceCheckUtils]: 135: Hoare quadruple {31485#true} {31854#(and (<= (div (- main_~v~0) (- 2)) (div main_~c~0 2)) (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 2))} #106#return; {31854#(and (<= (div (- main_~v~0) (- 2)) (div main_~c~0 2)) (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 2))} is VALID [2022-04-27 13:15:46,422 INFO L272 TraceCheckUtils]: 136: Hoare triple {31854#(and (<= (div (- main_~v~0) (- 2)) (div main_~c~0 2)) (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 2))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {31485#true} is VALID [2022-04-27 13:15:46,422 INFO L290 TraceCheckUtils]: 137: Hoare triple {31485#true} ~cond := #in~cond; {31485#true} is VALID [2022-04-27 13:15:46,422 INFO L290 TraceCheckUtils]: 138: Hoare triple {31485#true} assume !(0 == ~cond); {31485#true} is VALID [2022-04-27 13:15:46,422 INFO L290 TraceCheckUtils]: 139: Hoare triple {31485#true} assume true; {31485#true} is VALID [2022-04-27 13:15:46,422 INFO L284 TraceCheckUtils]: 140: Hoare quadruple {31485#true} {31854#(and (<= (div (- main_~v~0) (- 2)) (div main_~c~0 2)) (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 2))} #108#return; {31854#(and (<= (div (- main_~v~0) (- 2)) (div main_~c~0 2)) (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 2))} is VALID [2022-04-27 13:15:46,423 INFO L290 TraceCheckUtils]: 141: Hoare triple {31854#(and (<= (div (- main_~v~0) (- 2)) (div main_~c~0 2)) (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 2))} assume !(~c~0 >= 2 * ~v~0); {31854#(and (<= (div (- main_~v~0) (- 2)) (div main_~c~0 2)) (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 2))} is VALID [2022-04-27 13:15:46,424 INFO L290 TraceCheckUtils]: 142: Hoare triple {31854#(and (<= (div (- main_~v~0) (- 2)) (div main_~c~0 2)) (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 2))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {31924#(and (<= (div main_~c~0 (- 2)) 0) (<= main_~b~0 1))} is VALID [2022-04-27 13:15:46,425 INFO L290 TraceCheckUtils]: 143: Hoare triple {31924#(and (<= (div main_~c~0 (- 2)) 0) (<= main_~b~0 1))} assume !false; {31924#(and (<= (div main_~c~0 (- 2)) 0) (<= main_~b~0 1))} is VALID [2022-04-27 13:15:46,425 INFO L290 TraceCheckUtils]: 144: Hoare triple {31924#(and (<= (div main_~c~0 (- 2)) 0) (<= main_~b~0 1))} assume !(~c~0 >= ~b~0); {31931#(and (<= (div main_~c~0 (- 2)) 0) (< main_~c~0 1))} is VALID [2022-04-27 13:15:46,426 INFO L290 TraceCheckUtils]: 145: Hoare triple {31931#(and (<= (div main_~c~0 (- 2)) 0) (< main_~c~0 1))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {31935#(and (<= (div main_~b~0 (- 2)) 0) (< main_~b~0 1))} is VALID [2022-04-27 13:15:46,426 INFO L290 TraceCheckUtils]: 146: Hoare triple {31935#(and (<= (div main_~b~0 (- 2)) 0) (< main_~b~0 1))} assume !false; {31935#(and (<= (div main_~b~0 (- 2)) 0) (< main_~b~0 1))} is VALID [2022-04-27 13:15:46,427 INFO L290 TraceCheckUtils]: 147: Hoare triple {31935#(and (<= (div main_~b~0 (- 2)) 0) (< main_~b~0 1))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {31486#false} is VALID [2022-04-27 13:15:46,427 INFO L290 TraceCheckUtils]: 148: Hoare triple {31486#false} assume !false; {31486#false} is VALID [2022-04-27 13:15:46,427 INFO L290 TraceCheckUtils]: 149: Hoare triple {31486#false} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {31486#false} is VALID [2022-04-27 13:15:46,427 INFO L290 TraceCheckUtils]: 150: Hoare triple {31486#false} assume !false; {31486#false} is VALID [2022-04-27 13:15:46,427 INFO L272 TraceCheckUtils]: 151: Hoare triple {31486#false} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {31486#false} is VALID [2022-04-27 13:15:46,427 INFO L290 TraceCheckUtils]: 152: Hoare triple {31486#false} ~cond := #in~cond; {31486#false} is VALID [2022-04-27 13:15:46,427 INFO L290 TraceCheckUtils]: 153: Hoare triple {31486#false} assume !(0 == ~cond); {31486#false} is VALID [2022-04-27 13:15:46,427 INFO L290 TraceCheckUtils]: 154: Hoare triple {31486#false} assume true; {31486#false} is VALID [2022-04-27 13:15:46,427 INFO L284 TraceCheckUtils]: 155: Hoare quadruple {31486#false} {31486#false} #102#return; {31486#false} is VALID [2022-04-27 13:15:46,427 INFO L272 TraceCheckUtils]: 156: Hoare triple {31486#false} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {31486#false} is VALID [2022-04-27 13:15:46,427 INFO L290 TraceCheckUtils]: 157: Hoare triple {31486#false} ~cond := #in~cond; {31486#false} is VALID [2022-04-27 13:15:46,427 INFO L290 TraceCheckUtils]: 158: Hoare triple {31486#false} assume 0 == ~cond; {31486#false} is VALID [2022-04-27 13:15:46,427 INFO L290 TraceCheckUtils]: 159: Hoare triple {31486#false} assume !false; {31486#false} is VALID [2022-04-27 13:15:46,428 INFO L134 CoverageAnalysis]: Checked inductivity of 989 backedges. 157 proven. 37 refuted. 0 times theorem prover too weak. 795 trivial. 0 not checked. [2022-04-27 13:15:46,428 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:15:48,008 INFO L290 TraceCheckUtils]: 159: Hoare triple {31486#false} assume !false; {31486#false} is VALID [2022-04-27 13:15:48,008 INFO L290 TraceCheckUtils]: 158: Hoare triple {31486#false} assume 0 == ~cond; {31486#false} is VALID [2022-04-27 13:15:48,008 INFO L290 TraceCheckUtils]: 157: Hoare triple {31486#false} ~cond := #in~cond; {31486#false} is VALID [2022-04-27 13:15:48,008 INFO L272 TraceCheckUtils]: 156: Hoare triple {31486#false} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {31486#false} is VALID [2022-04-27 13:15:48,008 INFO L284 TraceCheckUtils]: 155: Hoare quadruple {31485#true} {31486#false} #102#return; {31486#false} is VALID [2022-04-27 13:15:48,009 INFO L290 TraceCheckUtils]: 154: Hoare triple {31485#true} assume true; {31485#true} is VALID [2022-04-27 13:15:48,009 INFO L290 TraceCheckUtils]: 153: Hoare triple {31485#true} assume !(0 == ~cond); {31485#true} is VALID [2022-04-27 13:15:48,009 INFO L290 TraceCheckUtils]: 152: Hoare triple {31485#true} ~cond := #in~cond; {31485#true} is VALID [2022-04-27 13:15:48,009 INFO L272 TraceCheckUtils]: 151: Hoare triple {31486#false} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {31485#true} is VALID [2022-04-27 13:15:48,009 INFO L290 TraceCheckUtils]: 150: Hoare triple {31486#false} assume !false; {31486#false} is VALID [2022-04-27 13:15:48,009 INFO L290 TraceCheckUtils]: 149: Hoare triple {31486#false} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {31486#false} is VALID [2022-04-27 13:15:48,009 INFO L290 TraceCheckUtils]: 148: Hoare triple {31486#false} assume !false; {31486#false} is VALID [2022-04-27 13:15:48,009 INFO L290 TraceCheckUtils]: 147: Hoare triple {31935#(and (<= (div main_~b~0 (- 2)) 0) (< main_~b~0 1))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {31486#false} is VALID [2022-04-27 13:15:48,010 INFO L290 TraceCheckUtils]: 146: Hoare triple {31935#(and (<= (div main_~b~0 (- 2)) 0) (< main_~b~0 1))} assume !false; {31935#(and (<= (div main_~b~0 (- 2)) 0) (< main_~b~0 1))} is VALID [2022-04-27 13:15:48,010 INFO L290 TraceCheckUtils]: 145: Hoare triple {31931#(and (<= (div main_~c~0 (- 2)) 0) (< main_~c~0 1))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {31935#(and (<= (div main_~b~0 (- 2)) 0) (< main_~b~0 1))} is VALID [2022-04-27 13:15:48,011 INFO L290 TraceCheckUtils]: 144: Hoare triple {32023#(or (and (<= (div main_~c~0 (- 2)) 0) (< main_~c~0 1)) (<= main_~b~0 main_~c~0))} assume !(~c~0 >= ~b~0); {31931#(and (<= (div main_~c~0 (- 2)) 0) (< main_~c~0 1))} is VALID [2022-04-27 13:15:48,011 INFO L290 TraceCheckUtils]: 143: Hoare triple {32023#(or (and (<= (div main_~c~0 (- 2)) 0) (< main_~c~0 1)) (<= main_~b~0 main_~c~0))} assume !false; {32023#(or (and (<= (div main_~c~0 (- 2)) 0) (< main_~c~0 1)) (<= main_~b~0 main_~c~0))} is VALID [2022-04-27 13:15:48,012 INFO L290 TraceCheckUtils]: 142: Hoare triple {32030#(and (or (<= (div (+ (- 2) main_~c~0 (* (- 1) main_~v~0)) (- 2)) 1) (<= (+ main_~b~0 main_~v~0) main_~c~0)) (or (<= (+ main_~b~0 main_~v~0) main_~c~0) (<= main_~b~0 1)))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {32023#(or (and (<= (div main_~c~0 (- 2)) 0) (< main_~c~0 1)) (<= main_~b~0 main_~c~0))} is VALID [2022-04-27 13:15:48,013 INFO L290 TraceCheckUtils]: 141: Hoare triple {32030#(and (or (<= (div (+ (- 2) main_~c~0 (* (- 1) main_~v~0)) (- 2)) 1) (<= (+ main_~b~0 main_~v~0) main_~c~0)) (or (<= (+ main_~b~0 main_~v~0) main_~c~0) (<= main_~b~0 1)))} assume !(~c~0 >= 2 * ~v~0); {32030#(and (or (<= (div (+ (- 2) main_~c~0 (* (- 1) main_~v~0)) (- 2)) 1) (<= (+ main_~b~0 main_~v~0) main_~c~0)) (or (<= (+ main_~b~0 main_~v~0) main_~c~0) (<= main_~b~0 1)))} is VALID [2022-04-27 13:15:48,014 INFO L284 TraceCheckUtils]: 140: Hoare quadruple {31485#true} {32030#(and (or (<= (div (+ (- 2) main_~c~0 (* (- 1) main_~v~0)) (- 2)) 1) (<= (+ main_~b~0 main_~v~0) main_~c~0)) (or (<= (+ main_~b~0 main_~v~0) main_~c~0) (<= main_~b~0 1)))} #108#return; {32030#(and (or (<= (div (+ (- 2) main_~c~0 (* (- 1) main_~v~0)) (- 2)) 1) (<= (+ main_~b~0 main_~v~0) main_~c~0)) (or (<= (+ main_~b~0 main_~v~0) main_~c~0) (<= main_~b~0 1)))} is VALID [2022-04-27 13:15:48,014 INFO L290 TraceCheckUtils]: 139: Hoare triple {31485#true} assume true; {31485#true} is VALID [2022-04-27 13:15:48,014 INFO L290 TraceCheckUtils]: 138: Hoare triple {31485#true} assume !(0 == ~cond); {31485#true} is VALID [2022-04-27 13:15:48,014 INFO L290 TraceCheckUtils]: 137: Hoare triple {31485#true} ~cond := #in~cond; {31485#true} is VALID [2022-04-27 13:15:48,014 INFO L272 TraceCheckUtils]: 136: Hoare triple {32030#(and (or (<= (div (+ (- 2) main_~c~0 (* (- 1) main_~v~0)) (- 2)) 1) (<= (+ main_~b~0 main_~v~0) main_~c~0)) (or (<= (+ main_~b~0 main_~v~0) main_~c~0) (<= main_~b~0 1)))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {31485#true} is VALID [2022-04-27 13:15:48,015 INFO L284 TraceCheckUtils]: 135: Hoare quadruple {31485#true} {32030#(and (or (<= (div (+ (- 2) main_~c~0 (* (- 1) main_~v~0)) (- 2)) 1) (<= (+ main_~b~0 main_~v~0) main_~c~0)) (or (<= (+ main_~b~0 main_~v~0) main_~c~0) (<= main_~b~0 1)))} #106#return; {32030#(and (or (<= (div (+ (- 2) main_~c~0 (* (- 1) main_~v~0)) (- 2)) 1) (<= (+ main_~b~0 main_~v~0) main_~c~0)) (or (<= (+ main_~b~0 main_~v~0) main_~c~0) (<= main_~b~0 1)))} is VALID [2022-04-27 13:15:48,015 INFO L290 TraceCheckUtils]: 134: Hoare triple {31485#true} assume true; {31485#true} is VALID [2022-04-27 13:15:48,015 INFO L290 TraceCheckUtils]: 133: Hoare triple {31485#true} assume !(0 == ~cond); {31485#true} is VALID [2022-04-27 13:15:48,015 INFO L290 TraceCheckUtils]: 132: Hoare triple {31485#true} ~cond := #in~cond; {31485#true} is VALID [2022-04-27 13:15:48,015 INFO L272 TraceCheckUtils]: 131: Hoare triple {32030#(and (or (<= (div (+ (- 2) main_~c~0 (* (- 1) main_~v~0)) (- 2)) 1) (<= (+ main_~b~0 main_~v~0) main_~c~0)) (or (<= (+ main_~b~0 main_~v~0) main_~c~0) (<= main_~b~0 1)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {31485#true} is VALID [2022-04-27 13:15:48,015 INFO L284 TraceCheckUtils]: 130: Hoare quadruple {31485#true} {32030#(and (or (<= (div (+ (- 2) main_~c~0 (* (- 1) main_~v~0)) (- 2)) 1) (<= (+ main_~b~0 main_~v~0) main_~c~0)) (or (<= (+ main_~b~0 main_~v~0) main_~c~0) (<= main_~b~0 1)))} #104#return; {32030#(and (or (<= (div (+ (- 2) main_~c~0 (* (- 1) main_~v~0)) (- 2)) 1) (<= (+ main_~b~0 main_~v~0) main_~c~0)) (or (<= (+ main_~b~0 main_~v~0) main_~c~0) (<= main_~b~0 1)))} is VALID [2022-04-27 13:15:48,016 INFO L290 TraceCheckUtils]: 129: Hoare triple {31485#true} assume true; {31485#true} is VALID [2022-04-27 13:15:48,016 INFO L290 TraceCheckUtils]: 128: Hoare triple {31485#true} assume !(0 == ~cond); {31485#true} is VALID [2022-04-27 13:15:48,016 INFO L290 TraceCheckUtils]: 127: Hoare triple {31485#true} ~cond := #in~cond; {31485#true} is VALID [2022-04-27 13:15:48,016 INFO L272 TraceCheckUtils]: 126: Hoare triple {32030#(and (or (<= (div (+ (- 2) main_~c~0 (* (- 1) main_~v~0)) (- 2)) 1) (<= (+ main_~b~0 main_~v~0) main_~c~0)) (or (<= (+ main_~b~0 main_~v~0) main_~c~0) (<= main_~b~0 1)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {31485#true} is VALID [2022-04-27 13:15:48,016 INFO L284 TraceCheckUtils]: 125: Hoare quadruple {31485#true} {32030#(and (or (<= (div (+ (- 2) main_~c~0 (* (- 1) main_~v~0)) (- 2)) 1) (<= (+ main_~b~0 main_~v~0) main_~c~0)) (or (<= (+ main_~b~0 main_~v~0) main_~c~0) (<= main_~b~0 1)))} #102#return; {32030#(and (or (<= (div (+ (- 2) main_~c~0 (* (- 1) main_~v~0)) (- 2)) 1) (<= (+ main_~b~0 main_~v~0) main_~c~0)) (or (<= (+ main_~b~0 main_~v~0) main_~c~0) (<= main_~b~0 1)))} is VALID [2022-04-27 13:15:48,016 INFO L290 TraceCheckUtils]: 124: Hoare triple {31485#true} assume true; {31485#true} is VALID [2022-04-27 13:15:48,016 INFO L290 TraceCheckUtils]: 123: Hoare triple {31485#true} assume !(0 == ~cond); {31485#true} is VALID [2022-04-27 13:15:48,016 INFO L290 TraceCheckUtils]: 122: Hoare triple {31485#true} ~cond := #in~cond; {31485#true} is VALID [2022-04-27 13:15:48,017 INFO L272 TraceCheckUtils]: 121: Hoare triple {32030#(and (or (<= (div (+ (- 2) main_~c~0 (* (- 1) main_~v~0)) (- 2)) 1) (<= (+ main_~b~0 main_~v~0) main_~c~0)) (or (<= (+ main_~b~0 main_~v~0) main_~c~0) (<= main_~b~0 1)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {31485#true} is VALID [2022-04-27 13:15:48,017 INFO L290 TraceCheckUtils]: 120: Hoare triple {32030#(and (or (<= (div (+ (- 2) main_~c~0 (* (- 1) main_~v~0)) (- 2)) 1) (<= (+ main_~b~0 main_~v~0) main_~c~0)) (or (<= (+ main_~b~0 main_~v~0) main_~c~0) (<= main_~b~0 1)))} assume !false; {32030#(and (or (<= (div (+ (- 2) main_~c~0 (* (- 1) main_~v~0)) (- 2)) 1) (<= (+ main_~b~0 main_~v~0) main_~c~0)) (or (<= (+ main_~b~0 main_~v~0) main_~c~0) (<= main_~b~0 1)))} is VALID [2022-04-27 13:15:48,018 INFO L290 TraceCheckUtils]: 119: Hoare triple {32100#(<= main_~b~0 1)} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {32030#(and (or (<= (div (+ (- 2) main_~c~0 (* (- 1) main_~v~0)) (- 2)) 1) (<= (+ main_~b~0 main_~v~0) main_~c~0)) (or (<= (+ main_~b~0 main_~v~0) main_~c~0) (<= main_~b~0 1)))} is VALID [2022-04-27 13:15:48,018 INFO L284 TraceCheckUtils]: 118: Hoare quadruple {31485#true} {32100#(<= main_~b~0 1)} #108#return; {32100#(<= main_~b~0 1)} is VALID [2022-04-27 13:15:48,018 INFO L290 TraceCheckUtils]: 117: Hoare triple {31485#true} assume true; {31485#true} is VALID [2022-04-27 13:15:48,018 INFO L290 TraceCheckUtils]: 116: Hoare triple {31485#true} assume !(0 == ~cond); {31485#true} is VALID [2022-04-27 13:15:48,019 INFO L290 TraceCheckUtils]: 115: Hoare triple {31485#true} ~cond := #in~cond; {31485#true} is VALID [2022-04-27 13:15:48,019 INFO L272 TraceCheckUtils]: 114: Hoare triple {32100#(<= main_~b~0 1)} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {31485#true} is VALID [2022-04-27 13:15:48,019 INFO L284 TraceCheckUtils]: 113: Hoare quadruple {31485#true} {32100#(<= main_~b~0 1)} #106#return; {32100#(<= main_~b~0 1)} is VALID [2022-04-27 13:15:48,019 INFO L290 TraceCheckUtils]: 112: Hoare triple {31485#true} assume true; {31485#true} is VALID [2022-04-27 13:15:48,019 INFO L290 TraceCheckUtils]: 111: Hoare triple {31485#true} assume !(0 == ~cond); {31485#true} is VALID [2022-04-27 13:15:48,019 INFO L290 TraceCheckUtils]: 110: Hoare triple {31485#true} ~cond := #in~cond; {31485#true} is VALID [2022-04-27 13:15:48,019 INFO L272 TraceCheckUtils]: 109: Hoare triple {32100#(<= main_~b~0 1)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {31485#true} is VALID [2022-04-27 13:15:48,020 INFO L284 TraceCheckUtils]: 108: Hoare quadruple {31485#true} {32100#(<= main_~b~0 1)} #104#return; {32100#(<= main_~b~0 1)} is VALID [2022-04-27 13:15:48,020 INFO L290 TraceCheckUtils]: 107: Hoare triple {31485#true} assume true; {31485#true} is VALID [2022-04-27 13:15:48,020 INFO L290 TraceCheckUtils]: 106: Hoare triple {31485#true} assume !(0 == ~cond); {31485#true} is VALID [2022-04-27 13:15:48,020 INFO L290 TraceCheckUtils]: 105: Hoare triple {31485#true} ~cond := #in~cond; {31485#true} is VALID [2022-04-27 13:15:48,020 INFO L272 TraceCheckUtils]: 104: Hoare triple {32100#(<= main_~b~0 1)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {31485#true} is VALID [2022-04-27 13:15:48,020 INFO L284 TraceCheckUtils]: 103: Hoare quadruple {31485#true} {32100#(<= main_~b~0 1)} #102#return; {32100#(<= main_~b~0 1)} is VALID [2022-04-27 13:15:48,021 INFO L290 TraceCheckUtils]: 102: Hoare triple {31485#true} assume true; {31485#true} is VALID [2022-04-27 13:15:48,021 INFO L290 TraceCheckUtils]: 101: Hoare triple {31485#true} assume !(0 == ~cond); {31485#true} is VALID [2022-04-27 13:15:48,021 INFO L290 TraceCheckUtils]: 100: Hoare triple {31485#true} ~cond := #in~cond; {31485#true} is VALID [2022-04-27 13:15:48,021 INFO L272 TraceCheckUtils]: 99: Hoare triple {32100#(<= main_~b~0 1)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {31485#true} is VALID [2022-04-27 13:15:48,021 INFO L290 TraceCheckUtils]: 98: Hoare triple {32100#(<= main_~b~0 1)} assume !false; {32100#(<= main_~b~0 1)} is VALID [2022-04-27 13:15:48,021 INFO L290 TraceCheckUtils]: 97: Hoare triple {32100#(<= main_~b~0 1)} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {32100#(<= main_~b~0 1)} is VALID [2022-04-27 13:15:48,022 INFO L284 TraceCheckUtils]: 96: Hoare quadruple {31485#true} {32100#(<= main_~b~0 1)} #108#return; {32100#(<= main_~b~0 1)} is VALID [2022-04-27 13:15:48,022 INFO L290 TraceCheckUtils]: 95: Hoare triple {31485#true} assume true; {31485#true} is VALID [2022-04-27 13:15:48,022 INFO L290 TraceCheckUtils]: 94: Hoare triple {31485#true} assume !(0 == ~cond); {31485#true} is VALID [2022-04-27 13:15:48,022 INFO L290 TraceCheckUtils]: 93: Hoare triple {31485#true} ~cond := #in~cond; {31485#true} is VALID [2022-04-27 13:15:48,022 INFO L272 TraceCheckUtils]: 92: Hoare triple {32100#(<= main_~b~0 1)} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {31485#true} is VALID [2022-04-27 13:15:48,022 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {31485#true} {32100#(<= main_~b~0 1)} #106#return; {32100#(<= main_~b~0 1)} is VALID [2022-04-27 13:15:48,022 INFO L290 TraceCheckUtils]: 90: Hoare triple {31485#true} assume true; {31485#true} is VALID [2022-04-27 13:15:48,023 INFO L290 TraceCheckUtils]: 89: Hoare triple {31485#true} assume !(0 == ~cond); {31485#true} is VALID [2022-04-27 13:15:48,023 INFO L290 TraceCheckUtils]: 88: Hoare triple {31485#true} ~cond := #in~cond; {31485#true} is VALID [2022-04-27 13:15:48,023 INFO L272 TraceCheckUtils]: 87: Hoare triple {32100#(<= main_~b~0 1)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {31485#true} is VALID [2022-04-27 13:15:48,023 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {31485#true} {32100#(<= main_~b~0 1)} #104#return; {32100#(<= main_~b~0 1)} is VALID [2022-04-27 13:15:48,023 INFO L290 TraceCheckUtils]: 85: Hoare triple {31485#true} assume true; {31485#true} is VALID [2022-04-27 13:15:48,023 INFO L290 TraceCheckUtils]: 84: Hoare triple {31485#true} assume !(0 == ~cond); {31485#true} is VALID [2022-04-27 13:15:48,023 INFO L290 TraceCheckUtils]: 83: Hoare triple {31485#true} ~cond := #in~cond; {31485#true} is VALID [2022-04-27 13:15:48,023 INFO L272 TraceCheckUtils]: 82: Hoare triple {32100#(<= main_~b~0 1)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {31485#true} is VALID [2022-04-27 13:15:48,024 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {31485#true} {32100#(<= main_~b~0 1)} #102#return; {32100#(<= main_~b~0 1)} is VALID [2022-04-27 13:15:48,024 INFO L290 TraceCheckUtils]: 80: Hoare triple {31485#true} assume true; {31485#true} is VALID [2022-04-27 13:15:48,024 INFO L290 TraceCheckUtils]: 79: Hoare triple {31485#true} assume !(0 == ~cond); {31485#true} is VALID [2022-04-27 13:15:48,024 INFO L290 TraceCheckUtils]: 78: Hoare triple {31485#true} ~cond := #in~cond; {31485#true} is VALID [2022-04-27 13:15:48,024 INFO L272 TraceCheckUtils]: 77: Hoare triple {32100#(<= main_~b~0 1)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {31485#true} is VALID [2022-04-27 13:15:48,024 INFO L290 TraceCheckUtils]: 76: Hoare triple {32100#(<= main_~b~0 1)} assume !false; {32100#(<= main_~b~0 1)} is VALID [2022-04-27 13:15:48,025 INFO L290 TraceCheckUtils]: 75: Hoare triple {32100#(<= main_~b~0 1)} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {32100#(<= main_~b~0 1)} is VALID [2022-04-27 13:15:48,025 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {31485#true} {32100#(<= main_~b~0 1)} #108#return; {32100#(<= main_~b~0 1)} is VALID [2022-04-27 13:15:48,025 INFO L290 TraceCheckUtils]: 73: Hoare triple {31485#true} assume true; {31485#true} is VALID [2022-04-27 13:15:48,025 INFO L290 TraceCheckUtils]: 72: Hoare triple {31485#true} assume !(0 == ~cond); {31485#true} is VALID [2022-04-27 13:15:48,025 INFO L290 TraceCheckUtils]: 71: Hoare triple {31485#true} ~cond := #in~cond; {31485#true} is VALID [2022-04-27 13:15:48,025 INFO L272 TraceCheckUtils]: 70: Hoare triple {32100#(<= main_~b~0 1)} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {31485#true} is VALID [2022-04-27 13:15:48,026 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {31485#true} {32100#(<= main_~b~0 1)} #106#return; {32100#(<= main_~b~0 1)} is VALID [2022-04-27 13:15:48,026 INFO L290 TraceCheckUtils]: 68: Hoare triple {31485#true} assume true; {31485#true} is VALID [2022-04-27 13:15:48,026 INFO L290 TraceCheckUtils]: 67: Hoare triple {31485#true} assume !(0 == ~cond); {31485#true} is VALID [2022-04-27 13:15:48,026 INFO L290 TraceCheckUtils]: 66: Hoare triple {31485#true} ~cond := #in~cond; {31485#true} is VALID [2022-04-27 13:15:48,026 INFO L272 TraceCheckUtils]: 65: Hoare triple {32100#(<= main_~b~0 1)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {31485#true} is VALID [2022-04-27 13:15:48,026 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {31485#true} {32100#(<= main_~b~0 1)} #104#return; {32100#(<= main_~b~0 1)} is VALID [2022-04-27 13:15:48,027 INFO L290 TraceCheckUtils]: 63: Hoare triple {31485#true} assume true; {31485#true} is VALID [2022-04-27 13:15:48,027 INFO L290 TraceCheckUtils]: 62: Hoare triple {31485#true} assume !(0 == ~cond); {31485#true} is VALID [2022-04-27 13:15:48,027 INFO L290 TraceCheckUtils]: 61: Hoare triple {31485#true} ~cond := #in~cond; {31485#true} is VALID [2022-04-27 13:15:48,027 INFO L272 TraceCheckUtils]: 60: Hoare triple {32100#(<= main_~b~0 1)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {31485#true} is VALID [2022-04-27 13:15:48,027 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {31485#true} {32100#(<= main_~b~0 1)} #102#return; {32100#(<= main_~b~0 1)} is VALID [2022-04-27 13:15:48,027 INFO L290 TraceCheckUtils]: 58: Hoare triple {31485#true} assume true; {31485#true} is VALID [2022-04-27 13:15:48,027 INFO L290 TraceCheckUtils]: 57: Hoare triple {31485#true} assume !(0 == ~cond); {31485#true} is VALID [2022-04-27 13:15:48,027 INFO L290 TraceCheckUtils]: 56: Hoare triple {31485#true} ~cond := #in~cond; {31485#true} is VALID [2022-04-27 13:15:48,027 INFO L272 TraceCheckUtils]: 55: Hoare triple {32100#(<= main_~b~0 1)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {31485#true} is VALID [2022-04-27 13:15:48,028 INFO L290 TraceCheckUtils]: 54: Hoare triple {32100#(<= main_~b~0 1)} assume !false; {32100#(<= main_~b~0 1)} is VALID [2022-04-27 13:15:48,028 INFO L290 TraceCheckUtils]: 53: Hoare triple {32299#(or (<= main_~b~0 1) (not (<= (* main_~v~0 2) main_~c~0)))} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {32100#(<= main_~b~0 1)} is VALID [2022-04-27 13:15:48,029 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {31485#true} {32299#(or (<= main_~b~0 1) (not (<= (* main_~v~0 2) main_~c~0)))} #108#return; {32299#(or (<= main_~b~0 1) (not (<= (* main_~v~0 2) main_~c~0)))} is VALID [2022-04-27 13:15:48,029 INFO L290 TraceCheckUtils]: 51: Hoare triple {31485#true} assume true; {31485#true} is VALID [2022-04-27 13:15:48,029 INFO L290 TraceCheckUtils]: 50: Hoare triple {31485#true} assume !(0 == ~cond); {31485#true} is VALID [2022-04-27 13:15:48,029 INFO L290 TraceCheckUtils]: 49: Hoare triple {31485#true} ~cond := #in~cond; {31485#true} is VALID [2022-04-27 13:15:48,029 INFO L272 TraceCheckUtils]: 48: Hoare triple {32299#(or (<= main_~b~0 1) (not (<= (* main_~v~0 2) main_~c~0)))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {31485#true} is VALID [2022-04-27 13:15:48,029 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {31485#true} {32299#(or (<= main_~b~0 1) (not (<= (* main_~v~0 2) main_~c~0)))} #106#return; {32299#(or (<= main_~b~0 1) (not (<= (* main_~v~0 2) main_~c~0)))} is VALID [2022-04-27 13:15:48,029 INFO L290 TraceCheckUtils]: 46: Hoare triple {31485#true} assume true; {31485#true} is VALID [2022-04-27 13:15:48,029 INFO L290 TraceCheckUtils]: 45: Hoare triple {31485#true} assume !(0 == ~cond); {31485#true} is VALID [2022-04-27 13:15:48,029 INFO L290 TraceCheckUtils]: 44: Hoare triple {31485#true} ~cond := #in~cond; {31485#true} is VALID [2022-04-27 13:15:48,030 INFO L272 TraceCheckUtils]: 43: Hoare triple {32299#(or (<= main_~b~0 1) (not (<= (* main_~v~0 2) main_~c~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {31485#true} is VALID [2022-04-27 13:15:48,030 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {31485#true} {32299#(or (<= main_~b~0 1) (not (<= (* main_~v~0 2) main_~c~0)))} #104#return; {32299#(or (<= main_~b~0 1) (not (<= (* main_~v~0 2) main_~c~0)))} is VALID [2022-04-27 13:15:48,030 INFO L290 TraceCheckUtils]: 41: Hoare triple {31485#true} assume true; {31485#true} is VALID [2022-04-27 13:15:48,030 INFO L290 TraceCheckUtils]: 40: Hoare triple {31485#true} assume !(0 == ~cond); {31485#true} is VALID [2022-04-27 13:15:48,030 INFO L290 TraceCheckUtils]: 39: Hoare triple {31485#true} ~cond := #in~cond; {31485#true} is VALID [2022-04-27 13:15:48,030 INFO L272 TraceCheckUtils]: 38: Hoare triple {32299#(or (<= main_~b~0 1) (not (<= (* main_~v~0 2) main_~c~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {31485#true} is VALID [2022-04-27 13:15:48,031 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {31485#true} {32299#(or (<= main_~b~0 1) (not (<= (* main_~v~0 2) main_~c~0)))} #102#return; {32299#(or (<= main_~b~0 1) (not (<= (* main_~v~0 2) main_~c~0)))} is VALID [2022-04-27 13:15:48,031 INFO L290 TraceCheckUtils]: 36: Hoare triple {31485#true} assume true; {31485#true} is VALID [2022-04-27 13:15:48,031 INFO L290 TraceCheckUtils]: 35: Hoare triple {31485#true} assume !(0 == ~cond); {31485#true} is VALID [2022-04-27 13:15:48,031 INFO L290 TraceCheckUtils]: 34: Hoare triple {31485#true} ~cond := #in~cond; {31485#true} is VALID [2022-04-27 13:15:48,031 INFO L272 TraceCheckUtils]: 33: Hoare triple {32299#(or (<= main_~b~0 1) (not (<= (* main_~v~0 2) main_~c~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {31485#true} is VALID [2022-04-27 13:15:48,032 INFO L290 TraceCheckUtils]: 32: Hoare triple {32299#(or (<= main_~b~0 1) (not (<= (* main_~v~0 2) main_~c~0)))} assume !false; {32299#(or (<= main_~b~0 1) (not (<= (* main_~v~0 2) main_~c~0)))} is VALID [2022-04-27 13:15:48,033 INFO L290 TraceCheckUtils]: 31: Hoare triple {32366#(<= (div main_~c~0 2) 1)} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {32299#(or (<= main_~b~0 1) (not (<= (* main_~v~0 2) main_~c~0)))} is VALID [2022-04-27 13:15:48,034 INFO L290 TraceCheckUtils]: 30: Hoare triple {32366#(<= (div main_~c~0 2) 1)} assume !false; {32366#(<= (div main_~c~0 2) 1)} is VALID [2022-04-27 13:15:48,034 INFO L290 TraceCheckUtils]: 29: Hoare triple {32373#(<= (div (+ (- 1) (* (- 1) main_~a~0)) (- 2)) 2)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {32366#(<= (div main_~c~0 2) 1)} is VALID [2022-04-27 13:15:48,035 INFO L290 TraceCheckUtils]: 28: Hoare triple {32373#(<= (div (+ (- 1) (* (- 1) main_~a~0)) (- 2)) 2)} assume !false; {32373#(<= (div (+ (- 1) (* (- 1) main_~a~0)) (- 2)) 2)} is VALID [2022-04-27 13:15:48,035 INFO L290 TraceCheckUtils]: 27: Hoare triple {32380#(<= (div (+ (- 3) (* (- 1) main_~x~0)) (- 2)) 3)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {32373#(<= (div (+ (- 1) (* (- 1) main_~a~0)) (- 2)) 2)} is VALID [2022-04-27 13:15:48,036 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {31485#true} {32380#(<= (div (+ (- 3) (* (- 1) main_~x~0)) (- 2)) 3)} #100#return; {32380#(<= (div (+ (- 3) (* (- 1) main_~x~0)) (- 2)) 3)} is VALID [2022-04-27 13:15:48,036 INFO L290 TraceCheckUtils]: 25: Hoare triple {31485#true} assume true; {31485#true} is VALID [2022-04-27 13:15:48,036 INFO L290 TraceCheckUtils]: 24: Hoare triple {31485#true} assume !(0 == ~cond); {31485#true} is VALID [2022-04-27 13:15:48,036 INFO L290 TraceCheckUtils]: 23: Hoare triple {31485#true} ~cond := #in~cond; {31485#true} is VALID [2022-04-27 13:15:48,036 INFO L272 TraceCheckUtils]: 22: Hoare triple {32380#(<= (div (+ (- 3) (* (- 1) main_~x~0)) (- 2)) 3)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {31485#true} is VALID [2022-04-27 13:15:48,036 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {31485#true} {32380#(<= (div (+ (- 3) (* (- 1) main_~x~0)) (- 2)) 3)} #98#return; {32380#(<= (div (+ (- 3) (* (- 1) main_~x~0)) (- 2)) 3)} is VALID [2022-04-27 13:15:48,036 INFO L290 TraceCheckUtils]: 20: Hoare triple {31485#true} assume true; {31485#true} is VALID [2022-04-27 13:15:48,036 INFO L290 TraceCheckUtils]: 19: Hoare triple {31485#true} assume !(0 == ~cond); {31485#true} is VALID [2022-04-27 13:15:48,037 INFO L290 TraceCheckUtils]: 18: Hoare triple {31485#true} ~cond := #in~cond; {31485#true} is VALID [2022-04-27 13:15:48,037 INFO L272 TraceCheckUtils]: 17: Hoare triple {32380#(<= (div (+ (- 3) (* (- 1) main_~x~0)) (- 2)) 3)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {31485#true} is VALID [2022-04-27 13:15:48,037 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {31485#true} {32380#(<= (div (+ (- 3) (* (- 1) main_~x~0)) (- 2)) 3)} #96#return; {32380#(<= (div (+ (- 3) (* (- 1) main_~x~0)) (- 2)) 3)} is VALID [2022-04-27 13:15:48,037 INFO L290 TraceCheckUtils]: 15: Hoare triple {31485#true} assume true; {31485#true} is VALID [2022-04-27 13:15:48,037 INFO L290 TraceCheckUtils]: 14: Hoare triple {31485#true} assume !(0 == ~cond); {31485#true} is VALID [2022-04-27 13:15:48,037 INFO L290 TraceCheckUtils]: 13: Hoare triple {31485#true} ~cond := #in~cond; {31485#true} is VALID [2022-04-27 13:15:48,037 INFO L272 TraceCheckUtils]: 12: Hoare triple {32380#(<= (div (+ (- 3) (* (- 1) main_~x~0)) (- 2)) 3)} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {31485#true} is VALID [2022-04-27 13:15:48,038 INFO L290 TraceCheckUtils]: 11: Hoare triple {32380#(<= (div (+ (- 3) (* (- 1) main_~x~0)) (- 2)) 3)} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {32380#(<= (div (+ (- 3) (* (- 1) main_~x~0)) (- 2)) 3)} is VALID [2022-04-27 13:15:48,038 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {31515#(not (= |assume_abort_if_not_#in~cond| 0))} {31485#true} #94#return; {32380#(<= (div (+ (- 3) (* (- 1) main_~x~0)) (- 2)) 3)} is VALID [2022-04-27 13:15:48,039 INFO L290 TraceCheckUtils]: 9: Hoare triple {31515#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {31515#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:15:48,039 INFO L290 TraceCheckUtils]: 8: Hoare triple {32441#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {31515#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:15:48,039 INFO L290 TraceCheckUtils]: 7: Hoare triple {31485#true} ~cond := #in~cond; {32441#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-27 13:15:48,039 INFO L272 TraceCheckUtils]: 6: Hoare triple {31485#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {31485#true} is VALID [2022-04-27 13:15:48,039 INFO L290 TraceCheckUtils]: 5: Hoare triple {31485#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {31485#true} is VALID [2022-04-27 13:15:48,039 INFO L272 TraceCheckUtils]: 4: Hoare triple {31485#true} call #t~ret6 := main(); {31485#true} is VALID [2022-04-27 13:15:48,039 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {31485#true} {31485#true} #112#return; {31485#true} is VALID [2022-04-27 13:15:48,040 INFO L290 TraceCheckUtils]: 2: Hoare triple {31485#true} assume true; {31485#true} is VALID [2022-04-27 13:15:48,040 INFO L290 TraceCheckUtils]: 1: Hoare triple {31485#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(11, 2);call #Ultimate.allocInit(12, 3); {31485#true} is VALID [2022-04-27 13:15:48,040 INFO L272 TraceCheckUtils]: 0: Hoare triple {31485#true} call ULTIMATE.init(); {31485#true} is VALID [2022-04-27 13:15:48,040 INFO L134 CoverageAnalysis]: Checked inductivity of 989 backedges. 79 proven. 37 refuted. 0 times theorem prover too weak. 873 trivial. 0 not checked. [2022-04-27 13:15:48,040 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:15:48,040 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [570855691] [2022-04-27 13:15:48,040 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:15:48,040 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2136064308] [2022-04-27 13:15:48,041 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2136064308] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 13:15:48,041 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 13:15:48,041 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 13] total 21 [2022-04-27 13:15:48,041 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1971616637] [2022-04-27 13:15:48,041 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 13:15:48,042 INFO L78 Accepts]: Start accepts. Automaton has has 21 states, 21 states have (on average 2.7142857142857144) internal successors, (57), 21 states have internal predecessors, (57), 10 states have call successors, (36), 2 states have call predecessors, (36), 3 states have return successors, (35), 10 states have call predecessors, (35), 10 states have call successors, (35) Word has length 160 [2022-04-27 13:15:48,042 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:15:48,042 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 21 states, 21 states have (on average 2.7142857142857144) internal successors, (57), 21 states have internal predecessors, (57), 10 states have call successors, (36), 2 states have call predecessors, (36), 3 states have return successors, (35), 10 states have call predecessors, (35), 10 states have call successors, (35) [2022-04-27 13:15:48,172 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 128 edges. 128 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:15:48,172 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 21 states [2022-04-27 13:15:48,172 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:15:48,172 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 21 interpolants. [2022-04-27 13:15:48,172 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=66, Invalid=354, Unknown=0, NotChecked=0, Total=420 [2022-04-27 13:15:48,172 INFO L87 Difference]: Start difference. First operand 89 states and 107 transitions. Second operand has 21 states, 21 states have (on average 2.7142857142857144) internal successors, (57), 21 states have internal predecessors, (57), 10 states have call successors, (36), 2 states have call predecessors, (36), 3 states have return successors, (35), 10 states have call predecessors, (35), 10 states have call successors, (35) [2022-04-27 13:15:50,060 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:15:50,061 INFO L93 Difference]: Finished difference Result 89 states and 107 transitions. [2022-04-27 13:15:50,061 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-27 13:15:50,061 INFO L78 Accepts]: Start accepts. Automaton has has 21 states, 21 states have (on average 2.7142857142857144) internal successors, (57), 21 states have internal predecessors, (57), 10 states have call successors, (36), 2 states have call predecessors, (36), 3 states have return successors, (35), 10 states have call predecessors, (35), 10 states have call successors, (35) Word has length 160 [2022-04-27 13:15:50,061 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:15:50,061 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 21 states, 21 states have (on average 2.7142857142857144) internal successors, (57), 21 states have internal predecessors, (57), 10 states have call successors, (36), 2 states have call predecessors, (36), 3 states have return successors, (35), 10 states have call predecessors, (35), 10 states have call successors, (35) [2022-04-27 13:15:50,062 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 64 transitions. [2022-04-27 13:15:50,062 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 21 states, 21 states have (on average 2.7142857142857144) internal successors, (57), 21 states have internal predecessors, (57), 10 states have call successors, (36), 2 states have call predecessors, (36), 3 states have return successors, (35), 10 states have call predecessors, (35), 10 states have call successors, (35) [2022-04-27 13:15:50,063 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 64 transitions. [2022-04-27 13:15:50,063 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 64 transitions. [2022-04-27 13:15:50,145 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:15:50,145 INFO L225 Difference]: With dead ends: 89 [2022-04-27 13:15:50,146 INFO L226 Difference]: Without dead ends: 0 [2022-04-27 13:15:50,146 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 328 GetRequests, 299 SyntacticMatches, 1 SemanticMatches, 28 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 108 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=182, Invalid=688, Unknown=0, NotChecked=0, Total=870 [2022-04-27 13:15:50,146 INFO L413 NwaCegarLoop]: 38 mSDtfsCounter, 44 mSDsluCounter, 216 mSDsCounter, 0 mSdLazyCounter, 289 mSolverCounterSat, 78 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 44 SdHoareTripleChecker+Valid, 254 SdHoareTripleChecker+Invalid, 367 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 78 IncrementalHoareTripleChecker+Valid, 289 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-27 13:15:50,147 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [44 Valid, 254 Invalid, 367 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [78 Valid, 289 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-27 13:15:50,147 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 0 states. [2022-04-27 13:15:50,147 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 0 to 0. [2022-04-27 13:15:50,147 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:15:50,147 INFO L82 GeneralOperation]: Start isEquivalent. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-27 13:15:50,147 INFO L74 IsIncluded]: Start isIncluded. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-27 13:15:50,147 INFO L87 Difference]: Start difference. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-27 13:15:50,147 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:15:50,147 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-04-27 13:15:50,147 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-27 13:15:50,147 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:15:50,147 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:15:50,148 INFO L74 IsIncluded]: Start isIncluded. First operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 0 states. [2022-04-27 13:15:50,148 INFO L87 Difference]: Start difference. First operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 0 states. [2022-04-27 13:15:50,148 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:15:50,148 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-04-27 13:15:50,148 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-27 13:15:50,148 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:15:50,148 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:15:50,148 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:15:50,148 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:15:50,148 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-27 13:15:50,148 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 0 states to 0 states and 0 transitions. [2022-04-27 13:15:50,148 INFO L78 Accepts]: Start accepts. Automaton has 0 states and 0 transitions. Word has length 160 [2022-04-27 13:15:50,148 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:15:50,148 INFO L495 AbstractCegarLoop]: Abstraction has 0 states and 0 transitions. [2022-04-27 13:15:50,149 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 21 states, 21 states have (on average 2.7142857142857144) internal successors, (57), 21 states have internal predecessors, (57), 10 states have call successors, (36), 2 states have call predecessors, (36), 3 states have return successors, (35), 10 states have call predecessors, (35), 10 states have call successors, (35) [2022-04-27 13:15:50,149 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-27 13:15:50,149 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:15:50,150 INFO L805 garLoopResultBuilder]: Registering result SAFE for location __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 1 remaining) [2022-04-27 13:15:50,169 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (21)] Forceful destruction successful, exit code 0 [2022-04-27 13:15:50,367 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 21 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable20 [2022-04-27 13:15:50,368 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends 0 states and 0 transitions. [2022-04-27 13:16:14,421 WARN L232 SmtUtils]: Spent 20.12s on a formula simplification. DAG size of input: 171 DAG size of output: 94 (called from [L 149] de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.HoareAnnotationComposer.combineInter) [2022-04-27 13:16:25,403 WARN L232 SmtUtils]: Spent 10.94s on a formula simplification. DAG size of input: 247 DAG size of output: 72 (called from [L 149] de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.HoareAnnotationComposer.combineInter) [2022-04-27 13:16:31,195 WARN L232 SmtUtils]: Spent 5.75s on a formula simplification. DAG size of input: 245 DAG size of output: 68 (called from [L 149] de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.HoareAnnotationComposer.combineInter) [2022-04-27 13:16:51,389 WARN L232 SmtUtils]: Spent 20.17s on a formula simplification. DAG size of input: 215 DAG size of output: 90 (called from [L 149] de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.HoareAnnotationComposer.combineInter) [2022-04-27 13:17:03,043 WARN L232 SmtUtils]: Spent 11.62s on a formula simplification. DAG size of input: 243 DAG size of output: 67 (called from [L 149] de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.HoareAnnotationComposer.combineInter) [2022-04-27 13:17:13,210 WARN L232 SmtUtils]: Spent 10.14s on a formula simplification. DAG size of input: 251 DAG size of output: 73 (called from [L 149] de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.HoareAnnotationComposer.combineInter) [2022-04-27 13:17:20,459 WARN L232 SmtUtils]: Spent 7.22s on a formula simplification. DAG size of input: 251 DAG size of output: 73 (called from [L 149] de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.HoareAnnotationComposer.combineInter) [2022-04-27 13:17:20,477 INFO L899 garLoopResultBuilder]: For program point reach_errorEXIT(line 4) no Hoare annotation was computed. [2022-04-27 13:17:20,477 INFO L899 garLoopResultBuilder]: For program point reach_errorENTRY(line 4) no Hoare annotation was computed. [2022-04-27 13:17:20,477 INFO L899 garLoopResultBuilder]: For program point reach_errorFINAL(line 4) no Hoare annotation was computed. [2022-04-27 13:17:20,477 INFO L902 garLoopResultBuilder]: At program point assume_abort_if_notENTRY(lines 7 9) the Hoare annotation is: true [2022-04-27 13:17:20,477 INFO L899 garLoopResultBuilder]: For program point L8(line 8) no Hoare annotation was computed. [2022-04-27 13:17:20,477 INFO L899 garLoopResultBuilder]: For program point L8-2(lines 7 9) no Hoare annotation was computed. [2022-04-27 13:17:20,477 INFO L899 garLoopResultBuilder]: For program point assume_abort_if_notEXIT(lines 7 9) no Hoare annotation was computed. [2022-04-27 13:17:20,478 INFO L895 garLoopResultBuilder]: At program point L35-2(lines 35 73) the Hoare annotation is: (let ((.cse12 (* main_~y~0 main_~r~0)) (.cse13 (* main_~p~0 main_~x~0))) (let ((.cse18 (* main_~q~0 main_~x~0)) (.cse19 (* main_~y~0 main_~s~0)) (.cse17 (+ .cse12 .cse13))) (let ((.cse15 (= (+ .cse18 main_~a~0 .cse19) .cse17)) (.cse11 (* main_~k~0 main_~y~0 main_~s~0)) (.cse10 (* main_~q~0 main_~k~0 main_~x~0)) (.cse1 (<= main_~b~0 main_~c~0))) (let ((.cse2 (<= main_~a~0 2)) (.cse7 (or (= .cse17 (+ .cse11 main_~c~0 .cse10)) .cse1)) (.cse8 (or (= main_~b~0 (+ .cse18 .cse19)) .cse1)) (.cse3 (< main_~b~0 main_~a~0)) (.cse16 (div (+ 2 (* (- 1) main_~b~0)) 2)) (.cse4 (<= 1 main_~x~0)) (.cse5 (<= main_~y~0 2)) (.cse6 (or .cse15 (not (= main_~b~0 0)))) (.cse0 (= main_~a~0 .cse17)) (.cse9 (<= 1 main_~y~0)) (.cse14 (<= main_~x~0 2))) (or (and (= main_~s~0 0) (= main_~k~0 0) .cse0 (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (<= main_~c~0 2) .cse1 (< main_~x~0 main_~a~0) .cse2 (<= 1 main_~b~0) (= main_~q~0 1)) (and .cse3 (<= (div main_~b~0 (- 2)) 0) (< main_~c~0 1) .cse4 .cse5 .cse6 (<= main_~b~0 (div main_~c~0 2)) .cse7 .cse2 .cse8 .cse9 (not (= (+ (* 2 .cse10) main_~b~0 (* .cse11 2)) (+ (* .cse12 2) (* 2 .cse13)))) .cse14) (and .cse3 .cse4 .cse5 .cse15 .cse7 (<= main_~a~0 .cse16) (<= main_~c~0 (+ (div (+ main_~b~0 (- 4)) 2) 2)) .cse8 (= main_~c~0 0) .cse9 .cse14) (and .cse5 (= main_~s~0 1) .cse0 (<= 1 main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) .cse9 (= main_~a~0 main_~x~0) .cse14 (= main_~p~0 1)) (and .cse3 (< main_~b~0 .cse16) .cse4 .cse5 (< main_~c~0 (div (+ (* (- 1) main_~c~0) 2) 2)) .cse6 .cse0 (<= 0 main_~c~0) (<= 0 main_~b~0) .cse9 .cse14)))))) [2022-04-27 13:17:20,478 INFO L895 garLoopResultBuilder]: At program point L35-3(lines 35 73) the Hoare annotation is: (let ((.cse0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (and (< main_~b~0 main_~a~0) (<= 1 main_~x~0) (<= main_~y~0 2) (= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) .cse0) (<= main_~b~0 main_~c~0) (or (= main_~b~0 0) (= main_~a~0 .cse0)) (<= 1 main_~y~0))) [2022-04-27 13:17:20,478 INFO L899 garLoopResultBuilder]: For program point mainEXIT(lines 18 76) no Hoare annotation was computed. [2022-04-27 13:17:20,478 INFO L895 garLoopResultBuilder]: At program point L52(line 52) the Hoare annotation is: (let ((.cse1 (= main_~c~0 main_~a~0)) (.cse2 (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (.cse7 (< main_~b~0 main_~c~0)) (.cse9 (<= main_~a~0 2)) (.cse12 (div main_~c~0 2)) (.cse0 (= main_~v~0 (* main_~d~0 main_~b~0))) (.cse3 (<= 1 main_~x~0)) (.cse4 (<= main_~y~0 2)) (.cse5 (= main_~k~0 0)) (.cse13 (= main_~s~0 1)) (.cse6 (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (.cse14 (= main_~b~0 main_~y~0)) (.cse8 (= main_~d~0 1)) (.cse15 (= main_~q~0 0)) (.cse16 (<= main_~x~0 main_~a~0)) (.cse10 (<= 1 main_~y~0)) (.cse17 (= main_~a~0 main_~x~0)) (.cse18 (= main_~c~0 main_~x~0)) (.cse11 (<= main_~x~0 2)) (.cse19 (= main_~p~0 1))) (or (and .cse0 .cse1 .cse2 .cse3 .cse4 .cse5 .cse6 .cse7 .cse8 .cse9 .cse10 .cse11) (and .cse0 .cse1 .cse2 .cse3 .cse4 .cse5 .cse6 .cse7 (<= main_~v~0 (* main_~b~0 4)) .cse9 .cse10 (<= main_~b~0 (div .cse12 2)) .cse11) (and .cse0 .cse1 .cse2 (= main_~v~0 (* main_~b~0 2)) .cse3 .cse4 .cse5 .cse6 .cse7 .cse9 .cse10 .cse11) (and .cse0 .cse3 .cse4 .cse5 .cse13 (<= main_~b~0 .cse12) .cse6 (<= (div (* (- 1) main_~v~0) (- 2)) main_~b~0) .cse14 .cse15 .cse16 .cse10 .cse17 .cse18 .cse11 .cse19) (and .cse0 .cse3 .cse4 .cse5 .cse13 .cse6 .cse14 (<= main_~b~0 main_~c~0) .cse8 .cse15 .cse16 .cse10 .cse17 .cse18 .cse11 .cse19))) [2022-04-27 13:17:20,478 INFO L899 garLoopResultBuilder]: For program point L36(lines 36 37) no Hoare annotation was computed. [2022-04-27 13:17:20,478 INFO L895 garLoopResultBuilder]: At program point L24(line 24) the Hoare annotation is: (and (<= 0 main_~x~0) (<= main_~x~0 2)) [2022-04-27 13:17:20,478 INFO L895 garLoopResultBuilder]: At program point L24-1(line 24) the Hoare annotation is: (and (<= 0 main_~y~0) (<= main_~y~0 2) (<= 0 main_~x~0) (<= main_~x~0 2)) [2022-04-27 13:17:20,478 INFO L899 garLoopResultBuilder]: For program point L53(lines 49 59) no Hoare annotation was computed. [2022-04-27 13:17:20,478 INFO L895 garLoopResultBuilder]: At program point L49-2(lines 49 59) the Hoare annotation is: (let ((.cse1 (= main_~c~0 main_~a~0)) (.cse2 (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (.cse7 (< main_~b~0 main_~c~0)) (.cse10 (<= main_~a~0 2)) (.cse11 (div main_~c~0 2)) (.cse0 (= main_~v~0 (* main_~d~0 main_~b~0))) (.cse3 (<= 1 main_~x~0)) (.cse4 (<= main_~y~0 2)) (.cse5 (= main_~k~0 0)) (.cse13 (= main_~s~0 1)) (.cse6 (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (.cse14 (= main_~b~0 main_~y~0)) (.cse8 (= main_~d~0 1)) (.cse15 (= main_~q~0 0)) (.cse16 (<= main_~x~0 main_~a~0)) (.cse9 (<= 1 main_~y~0)) (.cse17 (= main_~a~0 main_~x~0)) (.cse18 (= main_~c~0 main_~x~0)) (.cse12 (<= main_~x~0 2)) (.cse19 (= main_~p~0 1))) (or (and .cse0 .cse1 .cse2 .cse3 .cse4 .cse5 .cse6 (= main_~r~0 1) (= main_~a~0 main_~y~0) .cse7 (= main_~b~0 main_~x~0) .cse8 (= main_~q~0 1) .cse9) (and .cse0 .cse1 .cse2 .cse3 .cse4 .cse5 .cse6 .cse7 (<= main_~v~0 (* main_~b~0 4)) .cse10 .cse9 (<= main_~b~0 (div .cse11 2)) .cse12) (and .cse0 .cse1 .cse2 (= main_~v~0 (* main_~b~0 2)) .cse3 .cse4 .cse5 .cse6 .cse7 .cse10 .cse9 .cse12) (and .cse0 .cse3 .cse4 .cse5 .cse13 (<= main_~b~0 .cse11) .cse6 (<= (div (* (- 1) main_~v~0) (- 2)) main_~b~0) .cse14 .cse15 .cse16 .cse9 .cse17 .cse18 .cse12 .cse19) (and .cse0 .cse3 .cse4 .cse5 .cse13 .cse6 .cse14 (<= main_~b~0 main_~c~0) .cse8 .cse15 .cse16 .cse9 .cse17 .cse18 .cse12 .cse19))) [2022-04-27 13:17:20,478 INFO L899 garLoopResultBuilder]: For program point L49-3(lines 49 59) no Hoare annotation was computed. [2022-04-27 13:17:20,478 INFO L899 garLoopResultBuilder]: For program point L74(line 74) no Hoare annotation was computed. [2022-04-27 13:17:20,478 INFO L895 garLoopResultBuilder]: At program point L25(line 25) the Hoare annotation is: (and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 2) (<= main_~x~0 2)) [2022-04-27 13:17:20,478 INFO L895 garLoopResultBuilder]: At program point L50(line 50) the Hoare annotation is: (let ((.cse1 (= main_~c~0 main_~a~0)) (.cse2 (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (.cse7 (< main_~b~0 main_~c~0)) (.cse10 (<= main_~a~0 2)) (.cse11 (div main_~c~0 2)) (.cse0 (= main_~v~0 (* main_~d~0 main_~b~0))) (.cse3 (<= 1 main_~x~0)) (.cse4 (<= main_~y~0 2)) (.cse5 (= main_~k~0 0)) (.cse13 (= main_~s~0 1)) (.cse6 (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (.cse14 (= main_~b~0 main_~y~0)) (.cse8 (= main_~d~0 1)) (.cse15 (= main_~q~0 0)) (.cse16 (<= main_~x~0 main_~a~0)) (.cse9 (<= 1 main_~y~0)) (.cse17 (= main_~a~0 main_~x~0)) (.cse18 (= main_~c~0 main_~x~0)) (.cse12 (<= main_~x~0 2)) (.cse19 (= main_~p~0 1))) (or (and .cse0 .cse1 .cse2 .cse3 .cse4 .cse5 .cse6 (= main_~r~0 1) (= main_~a~0 main_~y~0) .cse7 (= main_~b~0 main_~x~0) .cse8 (= main_~q~0 1) .cse9) (and .cse0 .cse1 .cse2 .cse3 .cse4 .cse5 .cse6 .cse7 (<= main_~v~0 (* main_~b~0 4)) .cse10 .cse9 (<= main_~b~0 (div .cse11 2)) .cse12) (and .cse0 .cse1 .cse2 (= main_~v~0 (* main_~b~0 2)) .cse3 .cse4 .cse5 .cse6 .cse7 .cse10 .cse9 .cse12) (and .cse0 .cse3 .cse4 .cse5 .cse13 (<= main_~b~0 .cse11) .cse6 (<= (div (* (- 1) main_~v~0) (- 2)) main_~b~0) .cse14 .cse15 .cse16 .cse9 .cse17 .cse18 .cse12 .cse19) (and .cse0 .cse3 .cse4 .cse5 .cse13 .cse6 .cse14 (<= main_~b~0 main_~c~0) .cse8 .cse15 .cse16 .cse9 .cse17 .cse18 .cse12 .cse19))) [2022-04-27 13:17:20,479 INFO L895 garLoopResultBuilder]: At program point L50-1(line 50) the Hoare annotation is: (let ((.cse1 (= main_~c~0 main_~a~0)) (.cse2 (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (.cse7 (< main_~b~0 main_~c~0)) (.cse10 (<= main_~a~0 2)) (.cse11 (div main_~c~0 2)) (.cse0 (= main_~v~0 (* main_~d~0 main_~b~0))) (.cse3 (<= 1 main_~x~0)) (.cse4 (<= main_~y~0 2)) (.cse5 (= main_~k~0 0)) (.cse13 (= main_~s~0 1)) (.cse6 (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (.cse14 (= main_~b~0 main_~y~0)) (.cse8 (= main_~d~0 1)) (.cse15 (= main_~q~0 0)) (.cse16 (<= main_~x~0 main_~a~0)) (.cse9 (<= 1 main_~y~0)) (.cse17 (= main_~a~0 main_~x~0)) (.cse18 (= main_~c~0 main_~x~0)) (.cse12 (<= main_~x~0 2)) (.cse19 (= main_~p~0 1))) (or (and .cse0 .cse1 .cse2 .cse3 .cse4 .cse5 .cse6 (= main_~r~0 1) (= main_~a~0 main_~y~0) .cse7 (= main_~b~0 main_~x~0) .cse8 (= main_~q~0 1) .cse9) (and .cse0 .cse1 .cse2 .cse3 .cse4 .cse5 .cse6 .cse7 (<= main_~v~0 (* main_~b~0 4)) .cse10 .cse9 (<= main_~b~0 (div .cse11 2)) .cse12) (and .cse0 .cse1 .cse2 (= main_~v~0 (* main_~b~0 2)) .cse3 .cse4 .cse5 .cse6 .cse7 .cse10 .cse9 .cse12) (and .cse0 .cse3 .cse4 .cse5 .cse13 (<= main_~b~0 .cse11) .cse6 (<= (div (* (- 1) main_~v~0) (- 2)) main_~b~0) .cse14 .cse15 .cse16 .cse9 .cse17 .cse18 .cse12 .cse19) (and .cse0 .cse3 .cse4 .cse5 .cse13 .cse6 .cse14 (<= main_~b~0 main_~c~0) .cse8 .cse15 .cse16 .cse9 .cse17 .cse18 .cse12 .cse19))) [2022-04-27 13:17:20,479 INFO L899 garLoopResultBuilder]: For program point mainFINAL(lines 18 76) no Hoare annotation was computed. [2022-04-27 13:17:20,479 INFO L895 garLoopResultBuilder]: At program point L42-2(lines 42 62) the Hoare annotation is: (let ((.cse19 (* main_~y~0 main_~r~0)) (.cse20 (* main_~p~0 main_~x~0))) (let ((.cse17 (= main_~c~0 0)) (.cse13 (+ .cse19 main_~b~0 .cse20)) (.cse14 (* main_~q~0 main_~x~0)) (.cse15 (* main_~y~0 main_~s~0))) (let ((.cse5 (<= 0 main_~c~0)) (.cse12 (or (not .cse17) (= .cse13 (+ .cse14 (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0) .cse15)))) (.cse0 (= main_~v~0 (* main_~d~0 main_~b~0))) (.cse16 (<= main_~a~0 2)) (.cse1 (<= main_~y~0 2)) (.cse18 (= main_~k~0 0)) (.cse2 (= main_~s~0 1)) (.cse3 (= main_~a~0 (+ .cse19 .cse20))) (.cse4 (<= 1 main_~a~0)) (.cse6 (= main_~b~0 main_~y~0)) (.cse7 (= main_~q~0 0)) (.cse8 (<= 1 main_~y~0)) (.cse9 (= main_~a~0 main_~x~0)) (.cse10 (<= main_~x~0 2)) (.cse11 (= main_~p~0 1))) (or (and .cse0 (= main_~x~0 (+ main_~c~0 main_~b~0)) .cse1 .cse2 .cse3 .cse4 .cse5 .cse6 (= main_~k~0 1) (not (<= main_~b~0 main_~c~0)) .cse7 .cse8 .cse9 .cse10 .cse11) (and .cse12 .cse0 .cse1 .cse2 .cse3 (<= (div (* (- 1) main_~v~0) (- 2)) main_~b~0) .cse4 .cse5 .cse6 .cse7 (<= main_~b~0 (div (+ (* (- 1) main_~c~0) 2) 2)) .cse8 .cse9 .cse10 .cse11) (and .cse12 (< main_~b~0 main_~a~0) .cse0 (= .cse13 (+ (* .cse14 3) (* 3 .cse15))) (= main_~b~0 (+ .cse14 .cse15)) (= main_~v~0 (* main_~b~0 2)) (<= 1 main_~x~0) .cse1 .cse16 .cse17 (< main_~c~0 main_~b~0) .cse8 .cse10) (and (= main_~s~0 0) .cse18 .cse3 (= main_~r~0 1) (= main_~a~0 main_~y~0) (< main_~b~0 main_~c~0) (= main_~b~0 main_~x~0) (<= main_~c~0 2) (< main_~x~0 main_~a~0) .cse16 (<= 1 main_~b~0) (= main_~q~0 1)) (and .cse1 .cse18 .cse2 .cse3 .cse4 .cse6 .cse7 .cse8 .cse9 (= main_~c~0 main_~x~0) .cse10 .cse11))))) [2022-04-27 13:17:20,479 INFO L899 garLoopResultBuilder]: For program point L42-3(lines 42 62) no Hoare annotation was computed. [2022-04-27 13:17:20,479 INFO L902 garLoopResultBuilder]: At program point mainENTRY(lines 18 76) the Hoare annotation is: true [2022-04-27 13:17:20,479 INFO L899 garLoopResultBuilder]: For program point L26(line 26) no Hoare annotation was computed. [2022-04-27 13:17:20,479 INFO L902 garLoopResultBuilder]: At program point L22(line 22) the Hoare annotation is: true [2022-04-27 13:17:20,479 INFO L899 garLoopResultBuilder]: For program point L22-1(line 22) no Hoare annotation was computed. [2022-04-27 13:17:20,479 INFO L895 garLoopResultBuilder]: At program point L51(line 51) the Hoare annotation is: (let ((.cse1 (= main_~c~0 main_~a~0)) (.cse2 (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (.cse7 (< main_~b~0 main_~c~0)) (.cse9 (<= main_~a~0 2)) (.cse12 (div main_~c~0 2)) (.cse0 (= main_~v~0 (* main_~d~0 main_~b~0))) (.cse3 (<= 1 main_~x~0)) (.cse4 (<= main_~y~0 2)) (.cse5 (= main_~k~0 0)) (.cse13 (= main_~s~0 1)) (.cse6 (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (.cse14 (= main_~b~0 main_~y~0)) (.cse8 (= main_~d~0 1)) (.cse15 (= main_~q~0 0)) (.cse16 (<= main_~x~0 main_~a~0)) (.cse10 (<= 1 main_~y~0)) (.cse17 (= main_~a~0 main_~x~0)) (.cse18 (= main_~c~0 main_~x~0)) (.cse11 (<= main_~x~0 2)) (.cse19 (= main_~p~0 1))) (or (and .cse0 .cse1 .cse2 .cse3 .cse4 .cse5 .cse6 .cse7 .cse8 .cse9 .cse10 .cse11) (and .cse0 .cse1 .cse2 .cse3 .cse4 .cse5 .cse6 .cse7 (<= main_~v~0 (* main_~b~0 4)) .cse9 .cse10 (<= main_~b~0 (div .cse12 2)) .cse11) (and .cse0 .cse1 .cse2 (= main_~v~0 (* main_~b~0 2)) .cse3 .cse4 .cse5 .cse6 .cse7 .cse9 .cse10 .cse11) (and .cse0 .cse3 .cse4 .cse5 .cse13 (<= main_~b~0 .cse12) .cse6 (<= (div (* (- 1) main_~v~0) (- 2)) main_~b~0) .cse14 .cse15 .cse16 .cse10 .cse17 .cse18 .cse11 .cse19) (and .cse0 .cse3 .cse4 .cse5 .cse13 .cse6 .cse14 (<= main_~b~0 main_~c~0) .cse8 .cse15 .cse16 .cse10 .cse17 .cse18 .cse11 .cse19))) [2022-04-27 13:17:20,479 INFO L899 garLoopResultBuilder]: For program point L43(lines 43 44) no Hoare annotation was computed. [2022-04-27 13:17:20,479 INFO L899 garLoopResultBuilder]: For program point ULTIMATE.initFINAL(line -1) no Hoare annotation was computed. [2022-04-27 13:17:20,479 INFO L895 garLoopResultBuilder]: At program point ULTIMATE.initENTRY(line -1) the Hoare annotation is: (and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|)) [2022-04-27 13:17:20,479 INFO L899 garLoopResultBuilder]: For program point ULTIMATE.initEXIT(line -1) no Hoare annotation was computed. [2022-04-27 13:17:20,479 INFO L899 garLoopResultBuilder]: For program point ULTIMATE.startEXIT(line -1) no Hoare annotation was computed. [2022-04-27 13:17:20,479 INFO L902 garLoopResultBuilder]: At program point L-1(line -1) the Hoare annotation is: true [2022-04-27 13:17:20,480 INFO L902 garLoopResultBuilder]: At program point ULTIMATE.startENTRY(line -1) the Hoare annotation is: true [2022-04-27 13:17:20,480 INFO L899 garLoopResultBuilder]: For program point ULTIMATE.startFINAL(line -1) no Hoare annotation was computed. [2022-04-27 13:17:20,480 INFO L902 garLoopResultBuilder]: At program point __VERIFIER_assertENTRY(lines 10 16) the Hoare annotation is: true [2022-04-27 13:17:20,480 INFO L899 garLoopResultBuilder]: For program point L12(lines 12 13) no Hoare annotation was computed. [2022-04-27 13:17:20,480 INFO L899 garLoopResultBuilder]: For program point L11(lines 11 14) no Hoare annotation was computed. [2022-04-27 13:17:20,480 INFO L899 garLoopResultBuilder]: For program point __VERIFIER_assertEXIT(lines 10 16) no Hoare annotation was computed. [2022-04-27 13:17:20,480 INFO L899 garLoopResultBuilder]: For program point L11-2(lines 10 16) no Hoare annotation was computed. [2022-04-27 13:17:20,480 INFO L899 garLoopResultBuilder]: For program point __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION(line 13) no Hoare annotation was computed. [2022-04-27 13:17:20,482 INFO L356 BasicCegarLoop]: Path program histogram: [6, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:17:20,483 INFO L176 ceAbstractionStarter]: Computing trace abstraction results [2022-04-27 13:17:20,485 WARN L170 areAnnotationChecker]: reach_errorENTRY has no Hoare annotation [2022-04-27 13:17:20,486 WARN L170 areAnnotationChecker]: ULTIMATE.initFINAL has no Hoare annotation [2022-04-27 13:17:20,503 WARN L170 areAnnotationChecker]: L8 has no Hoare annotation [2022-04-27 13:17:20,503 WARN L170 areAnnotationChecker]: L11 has no Hoare annotation [2022-04-27 13:17:20,503 WARN L170 areAnnotationChecker]: reach_errorFINAL has no Hoare annotation [2022-04-27 13:17:20,503 WARN L170 areAnnotationChecker]: ULTIMATE.initFINAL has no Hoare annotation [2022-04-27 13:17:20,503 WARN L170 areAnnotationChecker]: ULTIMATE.startFINAL has no Hoare annotation [2022-04-27 13:17:20,503 WARN L170 areAnnotationChecker]: L8 has no Hoare annotation [2022-04-27 13:17:20,503 WARN L170 areAnnotationChecker]: L8 has no Hoare annotation [2022-04-27 13:17:20,503 WARN L170 areAnnotationChecker]: L22-1 has no Hoare annotation [2022-04-27 13:17:20,503 WARN L170 areAnnotationChecker]: L11 has no Hoare annotation [2022-04-27 13:17:20,503 WARN L170 areAnnotationChecker]: L11 has no Hoare annotation [2022-04-27 13:17:20,503 WARN L170 areAnnotationChecker]: ULTIMATE.initEXIT has no Hoare annotation [2022-04-27 13:17:20,503 WARN L170 areAnnotationChecker]: ULTIMATE.startFINAL has no Hoare annotation [2022-04-27 13:17:20,503 WARN L170 areAnnotationChecker]: L8-2 has no Hoare annotation [2022-04-27 13:17:20,504 WARN L170 areAnnotationChecker]: L22-1 has no Hoare annotation [2022-04-27 13:17:20,504 WARN L170 areAnnotationChecker]: L12 has no Hoare annotation [2022-04-27 13:17:20,504 WARN L170 areAnnotationChecker]: L12 has no Hoare annotation [2022-04-27 13:17:20,504 WARN L170 areAnnotationChecker]: L11-2 has no Hoare annotation [2022-04-27 13:17:20,504 WARN L170 areAnnotationChecker]: assume_abort_if_notEXIT has no Hoare annotation [2022-04-27 13:17:20,504 WARN L170 areAnnotationChecker]: assume_abort_if_notEXIT has no Hoare annotation [2022-04-27 13:17:20,504 WARN L170 areAnnotationChecker]: assume_abort_if_notEXIT has no Hoare annotation [2022-04-27 13:17:20,504 WARN L170 areAnnotationChecker]: assume_abort_if_notEXIT has no Hoare annotation [2022-04-27 13:17:20,504 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-27 13:17:20,504 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-27 13:17:20,504 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-27 13:17:20,504 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-27 13:17:20,504 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-27 13:17:20,504 WARN L170 areAnnotationChecker]: L26 has no Hoare annotation [2022-04-27 13:17:20,504 WARN L170 areAnnotationChecker]: L26 has no Hoare annotation [2022-04-27 13:17:20,504 WARN L170 areAnnotationChecker]: L53 has no Hoare annotation [2022-04-27 13:17:20,504 WARN L170 areAnnotationChecker]: L53 has no Hoare annotation [2022-04-27 13:17:20,504 WARN L170 areAnnotationChecker]: L53 has no Hoare annotation [2022-04-27 13:17:20,504 WARN L170 areAnnotationChecker]: L74 has no Hoare annotation [2022-04-27 13:17:20,513 WARN L170 areAnnotationChecker]: L36 has no Hoare annotation [2022-04-27 13:17:20,513 WARN L170 areAnnotationChecker]: L49-3 has no Hoare annotation [2022-04-27 13:17:20,513 WARN L170 areAnnotationChecker]: L49-3 has no Hoare annotation [2022-04-27 13:17:20,513 WARN L170 areAnnotationChecker]: L49-3 has no Hoare annotation [2022-04-27 13:17:20,519 WARN L170 areAnnotationChecker]: mainFINAL has no Hoare annotation [2022-04-27 13:17:20,519 WARN L170 areAnnotationChecker]: L74 has no Hoare annotation [2022-04-27 13:17:20,519 WARN L170 areAnnotationChecker]: L36 has no Hoare annotation [2022-04-27 13:17:20,519 WARN L170 areAnnotationChecker]: L36 has no Hoare annotation [2022-04-27 13:17:20,520 WARN L170 areAnnotationChecker]: L42-3 has no Hoare annotation [2022-04-27 13:17:20,520 WARN L170 areAnnotationChecker]: L42-3 has no Hoare annotation [2022-04-27 13:17:20,520 WARN L170 areAnnotationChecker]: L43 has no Hoare annotation [2022-04-27 13:17:20,520 WARN L170 areAnnotationChecker]: mainEXIT has no Hoare annotation [2022-04-27 13:17:20,520 WARN L170 areAnnotationChecker]: L42-3 has no Hoare annotation [2022-04-27 13:17:20,520 WARN L170 areAnnotationChecker]: L43 has no Hoare annotation [2022-04-27 13:17:20,520 WARN L170 areAnnotationChecker]: L43 has no Hoare annotation [2022-04-27 13:17:20,520 INFO L163 areAnnotationChecker]: CFG has 15 edges. 15 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. 0 times interpolants missing. [2022-04-27 13:17:20,543 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 27.04 01:17:20 BoogieIcfgContainer [2022-04-27 13:17:20,543 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2022-04-27 13:17:20,543 INFO L158 Benchmark]: Toolchain (without parser) took 499506.78ms. Allocated memory was 226.5MB in the beginning and 272.6MB in the end (delta: 46.1MB). Free memory was 202.8MB in the beginning and 97.3MB in the end (delta: 105.5MB). Peak memory consumption was 168.8MB. Max. memory is 8.0GB. [2022-04-27 13:17:20,544 INFO L158 Benchmark]: CDTParser took 0.10ms. Allocated memory is still 226.5MB. Free memory was 189.4MB in the beginning and 189.2MB in the end (delta: 119.0kB). There was no memory consumed. Max. memory is 8.0GB. [2022-04-27 13:17:20,544 INFO L158 Benchmark]: CACSL2BoogieTranslator took 163.32ms. Allocated memory is still 226.5MB. Free memory was 202.5MB in the beginning and 200.4MB in the end (delta: 2.1MB). Peak memory consumption was 10.3MB. Max. memory is 8.0GB. [2022-04-27 13:17:20,544 INFO L158 Benchmark]: Boogie Preprocessor took 20.19ms. Allocated memory is still 226.5MB. Free memory was 200.4MB in the beginning and 198.8MB in the end (delta: 1.6MB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB. [2022-04-27 13:17:20,544 INFO L158 Benchmark]: RCFGBuilder took 282.52ms. Allocated memory is still 226.5MB. Free memory was 198.8MB in the beginning and 185.5MB in the end (delta: 13.2MB). Peak memory consumption was 12.6MB. Max. memory is 8.0GB. [2022-04-27 13:17:20,544 INFO L158 Benchmark]: TraceAbstraction took 499037.69ms. Allocated memory was 226.5MB in the beginning and 272.6MB in the end (delta: 46.1MB). Free memory was 185.1MB in the beginning and 97.3MB in the end (delta: 87.8MB). Peak memory consumption was 151.2MB. Max. memory is 8.0GB. [2022-04-27 13:17:20,545 INFO L339 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - AssertionsEnabledResult: Assertions are enabled Assertions are enabled - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.10ms. Allocated memory is still 226.5MB. Free memory was 189.4MB in the beginning and 189.2MB in the end (delta: 119.0kB). There was no memory consumed. Max. memory is 8.0GB. * CACSL2BoogieTranslator took 163.32ms. Allocated memory is still 226.5MB. Free memory was 202.5MB in the beginning and 200.4MB in the end (delta: 2.1MB). Peak memory consumption was 10.3MB. Max. memory is 8.0GB. * Boogie Preprocessor took 20.19ms. Allocated memory is still 226.5MB. Free memory was 200.4MB in the beginning and 198.8MB in the end (delta: 1.6MB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB. * RCFGBuilder took 282.52ms. Allocated memory is still 226.5MB. Free memory was 198.8MB in the beginning and 185.5MB in the end (delta: 13.2MB). Peak memory consumption was 12.6MB. Max. memory is 8.0GB. * TraceAbstraction took 499037.69ms. Allocated memory was 226.5MB in the beginning and 272.6MB in the end (delta: 46.1MB). Free memory was 185.1MB in the beginning and 97.3MB in the end (delta: 87.8MB). Peak memory consumption was 151.2MB. Max. memory is 8.0GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - StatisticsResult: ErrorAutomatonStatistics NumberErrorTraces: 0, NumberStatementsAllTraces: 0, NumberRelevantStatements: 0, 0.0s ErrorAutomatonConstructionTimeTotal, 0.0s FaulLocalizationTime, NumberStatementsFirstTrace: -1, TraceLengthAvg: 0, 0.0s ErrorAutomatonConstructionTimeAvg, 0.0s ErrorAutomatonDifferenceTimeAvg, 0.0s ErrorAutomatonDifferenceTimeTotal, NumberOfNoEnhancement: 0, NumberOfFiniteEnhancement: 0, NumberOfInfiniteEnhancement: 0 - PositiveResult [Line: 13]: call to reach_error is unreachable For all program executions holds that call to reach_error is unreachable at this location - StatisticsResult: Ultimate Automizer benchmark data CFG has 6 procedures, 43 locations, 1 error locations. Started 1 CEGAR loops. OverallTime: 498.9s, OverallIterations: 21, TraceHistogramMax: 22, PathProgramHistogramMax: 6, EmptinessCheckTime: 0.0s, AutomataDifference: 151.0s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 90.1s, InitialAbstractionConstructionTime: 0.0s, HoareTripleCheckerStatistics: 3 mSolverCounterUnknown, 1496 SdHoareTripleChecker+Valid, 46.5s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 1441 mSDsluCounter, 5626 SdHoareTripleChecker+Invalid, 46.4s Time, 0 mProtectedAction, 0 SdHoareTripleChecker+Unchecked, 57 IncrementalHoareTripleChecker+Unchecked, 4548 mSDsCounter, 2189 IncrementalHoareTripleChecker+Valid, 0 mProtectedPredicate, 8568 IncrementalHoareTripleChecker+Invalid, 10817 SdHoareTripleChecker+Unknown, 0 mSolverCounterNotChecked, 2189 mSolverCounterUnsat, 1078 mSDtfsCounter, 8568 mSolverCounterSat, 0.1s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Unknown, PredicateUnifierStatistics: 0 DeclaredPredicates, 3076 GetRequests, 2552 SyntacticMatches, 13 SemanticMatches, 511 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4118 ImplicationChecksByTransitivity, 31.0s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=500occurred in iteration=18, InterpolantAutomatonStates: 336, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: 13.0s AutomataMinimizationTime, 21 MinimizatonAttempts, 373 StatesRemovedByMinimization, 16 NontrivialMinimizations, HoareAnnotationStatistics: 0.0s HoareAnnotationTime, 18 LocationsWithAnnotation, 471 PreInvPairs, 558 NumberOfFragments, 2215 HoareAnnotationTreeSize, 471 FomulaSimplifications, 23774 FormulaSimplificationTreeSizeReduction, 2.6s HoareSimplificationTime, 18 FomulaSimplificationsInter, 47255 FormulaSimplificationTreeSizeReductionInter, 87.4s HoareSimplificationTimeInter, RefinementEngineStatistics: TRACE_CHECK: 0.2s SsaConstructionTime, 0.6s SatisfiabilityAnalysisTime, 236.7s InterpolantComputationTime, 1576 NumberOfCodeBlocks, 1441 NumberOfCodeBlocksAsserted, 38 NumberOfCheckSat, 2746 ConstructedInterpolants, 2 QuantifiedInterpolants, 13775 SizeOfPredicates, 134 NumberOfNonLiveVariables, 3818 ConjunctsInSsa, 454 ConjunctsInUnsatCore, 35 InterpolantComputations, 7 PerfectInterpolantSequences, 6927/7524 InterpolantCoveringCapability, INVARIANT_SYNTHESIS: No data available, INTERPOLANT_CONSOLIDATION: No data available, ABSTRACT_INTERPRETATION: No data available, PDR: No data available, ACCELERATED_INTERPOLATION: No data available, SIFA: No data available, ReuseStatistics: No data available - AllSpecificationsHoldResult: All specifications hold 1 specifications checked. All of them hold - InvariantResult [Line: 49]: Loop Invariant Derived loop invariant: ((((((((((((((((v == d * b && c == a) && b == q * x + y * s) && 1 <= x) && y <= 2) && k == 0) && a == y * r + p * x) && r == 1) && a == y) && b < c) && b == x) && d == 1) && q == 1) && 1 <= y) || ((((((((((((v == d * b && c == a) && b == q * x + y * s) && 1 <= x) && y <= 2) && k == 0) && a == y * r + p * x) && b < c) && v <= b * 4) && a <= 2) && 1 <= y) && b <= c / 2 / 2) && x <= 2)) || (((((((((((v == d * b && c == a) && b == q * x + y * s) && v == b * 2) && 1 <= x) && y <= 2) && k == 0) && a == y * r + p * x) && b < c) && a <= 2) && 1 <= y) && x <= 2)) || (((((((((((((((v == d * b && 1 <= x) && y <= 2) && k == 0) && s == 1) && b <= c / 2) && a == y * r + p * x) && -1 * v / -2 <= b) && b == y) && q == 0) && x <= a) && 1 <= y) && a == x) && c == x) && x <= 2) && p == 1)) || (((((((((((((((v == d * b && 1 <= x) && y <= 2) && k == 0) && s == 1) && a == y * r + p * x) && b == y) && b <= c) && d == 1) && q == 0) && x <= a) && 1 <= y) && a == x) && c == x) && x <= 2) && p == 1) - InvariantResult [Line: 35]: Loop Invariant Derived loop invariant: ((((((((((((((s == 0 && k == 0) && a == y * r + p * x) && r == 1) && a == y) && b == x) && c <= 2) && b <= c) && x < a) && a <= 2) && 1 <= b) && q == 1) || ((((((((((((b < a && b / -2 <= 0) && c < 1) && 1 <= x) && y <= 2) && (q * x + a + y * s == y * r + p * x || !(b == 0))) && b <= c / 2) && (y * r + p * x == k * y * s + c + q * k * x || b <= c)) && a <= 2) && (b == q * x + y * s || b <= c)) && 1 <= y) && !(2 * (q * k * x) + b + k * y * s * 2 == y * r * 2 + 2 * (p * x))) && x <= 2)) || ((((((((((b < a && 1 <= x) && y <= 2) && q * x + a + y * s == y * r + p * x) && (y * r + p * x == k * y * s + c + q * k * x || b <= c)) && a <= (2 + -1 * b) / 2) && c <= (b + -4) / 2 + 2) && (b == q * x + y * s || b <= c)) && c == 0) && 1 <= y) && x <= 2)) || (((((((((y <= 2 && s == 1) && a == y * r + p * x) && 1 <= a) && b == y) && q == 0) && 1 <= y) && a == x) && x <= 2) && p == 1)) || ((((((((((b < a && b < (2 + -1 * b) / 2) && 1 <= x) && y <= 2) && c < (-1 * c + 2) / 2) && (q * x + a + y * s == y * r + p * x || !(b == 0))) && a == y * r + p * x) && 0 <= c) && 0 <= b) && 1 <= y) && x <= 2) - InvariantResult [Line: 42]: Loop Invariant Derived loop invariant: (((((((((((((((((v == d * b && x == c + b) && y <= 2) && s == 1) && a == y * r + p * x) && 1 <= a) && 0 <= c) && b == y) && k == 1) && !(b <= c)) && q == 0) && 1 <= y) && a == x) && x <= 2) && p == 1) || (((((((((((((((!(c == 0) || y * r + b + p * x == q * x + k * y * s + q * k * x + y * s) && v == d * b) && y <= 2) && s == 1) && a == y * r + p * x) && -1 * v / -2 <= b) && 1 <= a) && 0 <= c) && b == y) && q == 0) && b <= (-1 * c + 2) / 2) && 1 <= y) && a == x) && x <= 2) && p == 1)) || (((((((((((((!(c == 0) || y * r + b + p * x == q * x + k * y * s + q * k * x + y * s) && b < a) && v == d * b) && y * r + b + p * x == q * x * 3 + 3 * (y * s)) && b == q * x + y * s) && v == b * 2) && 1 <= x) && y <= 2) && a <= 2) && c == 0) && c < b) && 1 <= y) && x <= 2)) || (((((((((((s == 0 && k == 0) && a == y * r + p * x) && r == 1) && a == y) && b < c) && b == x) && c <= 2) && x < a) && a <= 2) && 1 <= b) && q == 1)) || (((((((((((y <= 2 && k == 0) && s == 1) && a == y * r + p * x) && 1 <= a) && b == y) && q == 0) && 1 <= y) && a == x) && c == x) && x <= 2) && p == 1) RESULT: Ultimate proved your program to be correct! [2022-04-27 13:17:20,730 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Forceful destruction successful, exit code 0 Received shutdown request...