./Ultimate.py --spec ../sv-benchmarks/c/properties/unreach-call.prp --file ../sv-benchmarks/c/ldv-consumption/32_7a_cilled_linux-3.8-rc1-drivers--block--paride--pg.ko-main.cil.out.i --full-output -ea --architecture 64bit -------------------------------------------------------------------------------- Checking for ERROR reachability Using default analysis Version 03d7b7b3 Calling Ultimate with: /usr/bin/java -Dosgi.configuration.area=/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/config -Xmx15G -Xms4m -ea -jar /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data -tc /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/AutomizerReach.xml -i ../sv-benchmarks/c/ldv-consumption/32_7a_cilled_linux-3.8-rc1-drivers--block--paride--pg.ko-main.cil.out.i -s /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-64bit-Automizer_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux --witnessprinter.witness.filename witness.graphml --witnessprinter.write.witness.besides.input.file false --witnessprinter.graph.data.specification CHECK( init(main()), LTL(G ! call(reach_error())) ) --witnessprinter.graph.data.producer Automizer --witnessprinter.graph.data.architecture 64bit --witnessprinter.graph.data.programhash 410663f06ff647e412b04b4e33dc5a0aa773139e9be33f59003b35b6e81927a8 --- Real Ultimate output --- This is Ultimate 0.2.2-dev-03d7b7b [2022-02-20 21:44:19,612 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-02-20 21:44:19,615 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-02-20 21:44:19,655 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-02-20 21:44:19,656 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-02-20 21:44:19,660 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-02-20 21:44:19,661 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-02-20 21:44:19,664 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-02-20 21:44:19,666 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-02-20 21:44:19,670 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-02-20 21:44:19,671 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-02-20 21:44:19,672 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-02-20 21:44:19,672 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-02-20 21:44:19,675 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-02-20 21:44:19,676 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-02-20 21:44:19,679 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-02-20 21:44:19,681 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-02-20 21:44:19,682 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-02-20 21:44:19,684 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-02-20 21:44:19,690 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-02-20 21:44:19,691 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-02-20 21:44:19,692 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-02-20 21:44:19,694 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-02-20 21:44:19,695 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-02-20 21:44:19,701 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-02-20 21:44:19,701 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-02-20 21:44:19,701 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-02-20 21:44:19,703 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-02-20 21:44:19,703 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-02-20 21:44:19,704 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-02-20 21:44:19,705 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-02-20 21:44:19,706 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-02-20 21:44:19,707 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-02-20 21:44:19,708 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-02-20 21:44:19,709 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-02-20 21:44:19,710 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-02-20 21:44:19,710 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-02-20 21:44:19,711 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-02-20 21:44:19,711 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-02-20 21:44:19,712 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-02-20 21:44:19,712 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-02-20 21:44:19,714 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-64bit-Automizer_Default.epf [2022-02-20 21:44:19,753 INFO L113 SettingsManager]: Loading preferences was successful [2022-02-20 21:44:19,754 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-02-20 21:44:19,754 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-02-20 21:44:19,754 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-02-20 21:44:19,755 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-02-20 21:44:19,755 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-02-20 21:44:19,764 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-02-20 21:44:19,765 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-02-20 21:44:19,765 INFO L138 SettingsManager]: * Use SBE=true [2022-02-20 21:44:19,765 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-02-20 21:44:19,765 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-02-20 21:44:19,766 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-02-20 21:44:19,766 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-02-20 21:44:19,766 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-02-20 21:44:19,766 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-02-20 21:44:19,766 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-02-20 21:44:19,767 INFO L138 SettingsManager]: * Use constant arrays=true [2022-02-20 21:44:19,767 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-02-20 21:44:19,767 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-02-20 21:44:19,767 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-02-20 21:44:19,767 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-02-20 21:44:19,768 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 21:44:19,768 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-02-20 21:44:19,768 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-02-20 21:44:19,768 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-02-20 21:44:19,769 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-02-20 21:44:19,769 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-02-20 21:44:19,769 INFO L138 SettingsManager]: * Large block encoding in concurrent analysis=OFF [2022-02-20 21:44:19,769 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2022-02-20 21:44:19,769 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-02-20 21:44:19,770 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.plugins.generator.cacsl2boogietranslator: Entry function -> main Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness directory -> /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness filename -> witness.graphml Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Write witness besides input file -> false Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data specification -> CHECK( init(main()), LTL(G ! call(reach_error())) ) Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data producer -> Automizer Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data architecture -> 64bit Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data programhash -> 410663f06ff647e412b04b4e33dc5a0aa773139e9be33f59003b35b6e81927a8 [2022-02-20 21:44:20,022 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-02-20 21:44:20,045 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-02-20 21:44:20,048 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-02-20 21:44:20,049 INFO L271 PluginConnector]: Initializing CDTParser... [2022-02-20 21:44:20,050 INFO L275 PluginConnector]: CDTParser initialized [2022-02-20 21:44:20,051 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/ldv-consumption/32_7a_cilled_linux-3.8-rc1-drivers--block--paride--pg.ko-main.cil.out.i [2022-02-20 21:44:20,105 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/8cdd48868/b2147825d032459cad8af180d122bd12/FLAG54c9c678e [2022-02-20 21:44:20,700 INFO L306 CDTParser]: Found 1 translation units. [2022-02-20 21:44:20,701 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/ldv-consumption/32_7a_cilled_linux-3.8-rc1-drivers--block--paride--pg.ko-main.cil.out.i [2022-02-20 21:44:20,724 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/8cdd48868/b2147825d032459cad8af180d122bd12/FLAG54c9c678e [2022-02-20 21:44:20,892 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/8cdd48868/b2147825d032459cad8af180d122bd12 [2022-02-20 21:44:20,894 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-02-20 21:44:20,895 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2022-02-20 21:44:20,897 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-02-20 21:44:20,897 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-02-20 21:44:20,901 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-02-20 21:44:20,903 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 09:44:20" (1/1) ... [2022-02-20 21:44:20,904 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@397008c2 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 09:44:20, skipping insertion in model container [2022-02-20 21:44:20,905 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 09:44:20" (1/1) ... [2022-02-20 21:44:20,910 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-02-20 21:44:20,987 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-02-20 21:44:21,778 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/ldv-consumption/32_7a_cilled_linux-3.8-rc1-drivers--block--paride--pg.ko-main.cil.out.i[108133,108146] [2022-02-20 21:44:21,871 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 21:44:21,909 INFO L203 MainTranslator]: Completed pre-run [2022-02-20 21:44:22,086 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/ldv-consumption/32_7a_cilled_linux-3.8-rc1-drivers--block--paride--pg.ko-main.cil.out.i[108133,108146] [2022-02-20 21:44:22,106 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 21:44:22,174 INFO L208 MainTranslator]: Completed translation [2022-02-20 21:44:22,174 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 09:44:22 WrapperNode [2022-02-20 21:44:22,176 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-02-20 21:44:22,177 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2022-02-20 21:44:22,177 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2022-02-20 21:44:22,177 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2022-02-20 21:44:22,184 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 09:44:22" (1/1) ... [2022-02-20 21:44:22,241 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 09:44:22" (1/1) ... [2022-02-20 21:44:22,331 INFO L137 Inliner]: procedures = 131, calls = 529, calls flagged for inlining = 47, calls inlined = 39, statements flattened = 1136 [2022-02-20 21:44:22,332 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2022-02-20 21:44:22,333 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-02-20 21:44:22,333 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-02-20 21:44:22,333 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-02-20 21:44:22,340 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 09:44:22" (1/1) ... [2022-02-20 21:44:22,341 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 09:44:22" (1/1) ... [2022-02-20 21:44:22,364 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 09:44:22" (1/1) ... [2022-02-20 21:44:22,367 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 09:44:22" (1/1) ... [2022-02-20 21:44:22,429 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 09:44:22" (1/1) ... [2022-02-20 21:44:22,438 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 09:44:22" (1/1) ... [2022-02-20 21:44:22,445 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 09:44:22" (1/1) ... [2022-02-20 21:44:22,458 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-02-20 21:44:22,465 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-02-20 21:44:22,466 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-02-20 21:44:22,466 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-02-20 21:44:22,467 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 09:44:22" (1/1) ... [2022-02-20 21:44:22,479 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 21:44:22,489 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 21:44:22,502 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-02-20 21:44:22,525 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-02-20 21:44:22,547 INFO L130 BoogieDeclarations]: Found specification of procedure pi_release [2022-02-20 21:44:22,548 INFO L138 BoogieDeclarations]: Found implementation of procedure pi_release [2022-02-20 21:44:22,548 INFO L130 BoogieDeclarations]: Found specification of procedure write_reg [2022-02-20 21:44:22,548 INFO L138 BoogieDeclarations]: Found implementation of procedure write_reg [2022-02-20 21:44:22,548 INFO L130 BoogieDeclarations]: Found specification of procedure pi_disconnect [2022-02-20 21:44:22,549 INFO L138 BoogieDeclarations]: Found implementation of procedure pi_disconnect [2022-02-20 21:44:22,549 INFO L130 BoogieDeclarations]: Found specification of procedure status_reg [2022-02-20 21:44:22,549 INFO L138 BoogieDeclarations]: Found implementation of procedure status_reg [2022-02-20 21:44:22,549 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-02-20 21:44:22,549 INFO L130 BoogieDeclarations]: Found specification of procedure read_reg [2022-02-20 21:44:22,549 INFO L138 BoogieDeclarations]: Found implementation of procedure read_reg [2022-02-20 21:44:22,549 INFO L130 BoogieDeclarations]: Found specification of procedure ldv_malloc [2022-02-20 21:44:22,550 INFO L138 BoogieDeclarations]: Found implementation of procedure ldv_malloc [2022-02-20 21:44:22,550 INFO L130 BoogieDeclarations]: Found specification of procedure pg_sleep [2022-02-20 21:44:22,550 INFO L138 BoogieDeclarations]: Found implementation of procedure pg_sleep [2022-02-20 21:44:22,550 INFO L130 BoogieDeclarations]: Found specification of procedure pg_completion [2022-02-20 21:44:22,551 INFO L138 BoogieDeclarations]: Found implementation of procedure pg_completion [2022-02-20 21:44:22,551 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-02-20 21:44:22,551 INFO L130 BoogieDeclarations]: Found specification of procedure mutex_unlock [2022-02-20 21:44:22,551 INFO L138 BoogieDeclarations]: Found implementation of procedure mutex_unlock [2022-02-20 21:44:22,551 INFO L130 BoogieDeclarations]: Found specification of procedure copy_to_user [2022-02-20 21:44:22,551 INFO L138 BoogieDeclarations]: Found implementation of procedure copy_to_user [2022-02-20 21:44:22,551 INFO L130 BoogieDeclarations]: Found specification of procedure pg_wait [2022-02-20 21:44:22,552 INFO L138 BoogieDeclarations]: Found implementation of procedure pg_wait [2022-02-20 21:44:22,552 INFO L130 BoogieDeclarations]: Found specification of procedure ldv_error [2022-02-20 21:44:22,552 INFO L138 BoogieDeclarations]: Found implementation of procedure ldv_error [2022-02-20 21:44:22,552 INFO L130 BoogieDeclarations]: Found specification of procedure ldv__builtin_expect [2022-02-20 21:44:22,552 INFO L138 BoogieDeclarations]: Found implementation of procedure ldv__builtin_expect [2022-02-20 21:44:22,552 INFO L130 BoogieDeclarations]: Found specification of procedure clear_bit [2022-02-20 21:44:22,552 INFO L138 BoogieDeclarations]: Found implementation of procedure clear_bit [2022-02-20 21:44:22,553 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnHeap [2022-02-20 21:44:22,553 INFO L130 BoogieDeclarations]: Found specification of procedure mutex_lock [2022-02-20 21:44:22,553 INFO L138 BoogieDeclarations]: Found implementation of procedure mutex_lock [2022-02-20 21:44:22,553 INFO L130 BoogieDeclarations]: Found specification of procedure copy_from_user [2022-02-20 21:44:22,553 INFO L138 BoogieDeclarations]: Found implementation of procedure copy_from_user [2022-02-20 21:44:22,553 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-02-20 21:44:22,553 INFO L130 BoogieDeclarations]: Found specification of procedure ldv_unregister_chrdev_11 [2022-02-20 21:44:22,553 INFO L138 BoogieDeclarations]: Found implementation of procedure ldv_unregister_chrdev_11 [2022-02-20 21:44:22,554 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2022-02-20 21:44:22,554 INFO L130 BoogieDeclarations]: Found specification of procedure write~$Pointer$ [2022-02-20 21:44:22,554 INFO L130 BoogieDeclarations]: Found specification of procedure DRIVE [2022-02-20 21:44:22,554 INFO L138 BoogieDeclarations]: Found implementation of procedure DRIVE [2022-02-20 21:44:22,555 INFO L130 BoogieDeclarations]: Found specification of procedure pg_write [2022-02-20 21:44:22,555 INFO L138 BoogieDeclarations]: Found implementation of procedure pg_write [2022-02-20 21:44:22,555 INFO L130 BoogieDeclarations]: Found specification of procedure memcmp [2022-02-20 21:44:22,555 INFO L130 BoogieDeclarations]: Found specification of procedure read~$Pointer$ [2022-02-20 21:44:22,555 INFO L130 BoogieDeclarations]: Found specification of procedure pg_reset [2022-02-20 21:44:22,555 INFO L138 BoogieDeclarations]: Found implementation of procedure pg_reset [2022-02-20 21:44:22,555 INFO L130 BoogieDeclarations]: Found specification of procedure pg_identify [2022-02-20 21:44:22,555 INFO L138 BoogieDeclarations]: Found implementation of procedure pg_identify [2022-02-20 21:44:22,556 INFO L130 BoogieDeclarations]: Found specification of procedure pi_write_block [2022-02-20 21:44:22,556 INFO L138 BoogieDeclarations]: Found implementation of procedure pi_write_block [2022-02-20 21:44:22,556 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-02-20 21:44:22,556 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~$Pointer$ [2022-02-20 21:44:22,557 INFO L130 BoogieDeclarations]: Found specification of procedure pi_init [2022-02-20 21:44:22,557 INFO L138 BoogieDeclarations]: Found implementation of procedure pi_init [2022-02-20 21:44:22,557 INFO L130 BoogieDeclarations]: Found specification of procedure pi_read_regr [2022-02-20 21:44:22,557 INFO L138 BoogieDeclarations]: Found implementation of procedure pi_read_regr [2022-02-20 21:44:22,558 INFO L130 BoogieDeclarations]: Found specification of procedure might_fault [2022-02-20 21:44:22,559 INFO L138 BoogieDeclarations]: Found implementation of procedure might_fault [2022-02-20 21:44:22,559 INFO L130 BoogieDeclarations]: Found specification of procedure pg_probe [2022-02-20 21:44:22,560 INFO L138 BoogieDeclarations]: Found implementation of procedure pg_probe [2022-02-20 21:44:22,560 INFO L130 BoogieDeclarations]: Found specification of procedure pi_connect [2022-02-20 21:44:22,560 INFO L138 BoogieDeclarations]: Found implementation of procedure pi_connect [2022-02-20 21:44:22,560 INFO L130 BoogieDeclarations]: Found specification of procedure pg_command [2022-02-20 21:44:22,560 INFO L138 BoogieDeclarations]: Found implementation of procedure pg_command [2022-02-20 21:44:22,560 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-02-20 21:44:22,560 INFO L130 BoogieDeclarations]: Found specification of procedure _copy_from_user [2022-02-20 21:44:22,561 INFO L138 BoogieDeclarations]: Found implementation of procedure _copy_from_user [2022-02-20 21:44:22,561 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-02-20 21:44:22,561 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-02-20 21:44:22,561 INFO L130 BoogieDeclarations]: Found specification of procedure xs [2022-02-20 21:44:22,561 INFO L138 BoogieDeclarations]: Found implementation of procedure xs [2022-02-20 21:44:22,990 INFO L234 CfgBuilder]: Building ICFG [2022-02-20 21:44:22,991 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-02-20 21:44:24,506 INFO L275 CfgBuilder]: Performing block encoding [2022-02-20 21:44:24,528 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-02-20 21:44:24,528 INFO L299 CfgBuilder]: Removed 0 assume(true) statements. [2022-02-20 21:44:24,531 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 09:44:24 BoogieIcfgContainer [2022-02-20 21:44:24,531 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-02-20 21:44:24,532 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-02-20 21:44:24,532 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-02-20 21:44:24,535 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-02-20 21:44:24,536 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 20.02 09:44:20" (1/3) ... [2022-02-20 21:44:24,537 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@4ef5431b and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 09:44:24, skipping insertion in model container [2022-02-20 21:44:24,537 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 09:44:22" (2/3) ... [2022-02-20 21:44:24,537 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@4ef5431b and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 09:44:24, skipping insertion in model container [2022-02-20 21:44:24,538 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 09:44:24" (3/3) ... [2022-02-20 21:44:24,541 INFO L111 eAbstractionObserver]: Analyzing ICFG 32_7a_cilled_linux-3.8-rc1-drivers--block--paride--pg.ko-main.cil.out.i [2022-02-20 21:44:24,545 INFO L205 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-02-20 21:44:24,546 INFO L164 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-02-20 21:44:24,592 INFO L338 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-02-20 21:44:24,598 INFO L339 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, mLoopAccelerationTechnique=FAST_UPR [2022-02-20 21:44:24,598 INFO L340 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-02-20 21:44:24,633 INFO L276 IsEmpty]: Start isEmpty. Operand has 471 states, 353 states have (on average 1.385269121813031) internal successors, (489), 363 states have internal predecessors, (489), 86 states have call successors, (86), 30 states have call predecessors, (86), 30 states have return successors, (86), 86 states have call predecessors, (86), 86 states have call successors, (86) [2022-02-20 21:44:24,638 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 19 [2022-02-20 21:44:24,639 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 21:44:24,639 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 21:44:24,640 INFO L402 AbstractCegarLoop]: === Iteration 1 === Targeting ldv_errorErr0ASSERT_VIOLATIONERROR_FUNCTION === [ldv_errorErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 21:44:24,644 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 21:44:24,644 INFO L85 PathProgramCache]: Analyzing trace with hash -1143745826, now seen corresponding path program 1 times [2022-02-20 21:44:24,657 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 21:44:24,657 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [351320119] [2022-02-20 21:44:24,657 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 21:44:24,658 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 21:44:24,842 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:44:25,039 INFO L290 TraceCheckUtils]: 0: Hoare triple {474#true} assume { :begin_inline_ULTIMATE.init } 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(72, 2);call #Ultimate.allocInit(3, 3);call write~init~int(112, 3, 0, 1);call write~init~int(103, 3, 1, 1);call write~init~int(0, 3, 2, 1);call #Ultimate.allocInit(124, 4);call #Ultimate.allocInit(27, 5);call #Ultimate.allocInit(19, 6);call #Ultimate.allocInit(9, 7);call #Ultimate.allocInit(5, 8);call write~init~int(37, 8, 0, 1);call write~init~int(115, 8, 1, 1);call write~init~int(37, 8, 2, 1);call write~init~int(99, 8, 3, 1);call write~init~int(0, 8, 4, 1);call #Ultimate.allocInit(9, 9);call #Ultimate.allocInit(1, 10);call write~init~int(0, 10, 0, 1);call #Ultimate.allocInit(39, 11);call #Ultimate.allocInit(15, 12);call #Ultimate.allocInit(12, 13);call #Ultimate.allocInit(25, 14);call #Ultimate.allocInit(35, 15);call #Ultimate.allocInit(6, 16);call write~init~int(37, 16, 0, 1);call write~init~int(48, 16, 1, 1);call write~init~int(50, 16, 2, 1);call write~init~int(120, 16, 3, 1);call write~init~int(32, 16, 4, 1);call write~init~int(0, 16, 5, 1);call #Ultimate.allocInit(2, 17);call write~init~int(10, 17, 0, 1);call write~init~int(0, 17, 1, 1);call #Ultimate.allocInit(11, 18);call #Ultimate.allocInit(5, 19);call write~init~int(82, 19, 0, 1);call write~init~int(101, 19, 1, 1);call write~init~int(97, 19, 2, 1);call write~init~int(100, 19, 3, 1);call write~init~int(0, 19, 4, 1);call #Ultimate.allocInit(6, 20);call write~init~int(87, 20, 0, 1);call write~init~int(114, 20, 1, 1);call write~init~int(105, 20, 2, 1);call write~init~int(116, 20, 3, 1);call write~init~int(101, 20, 4, 1);call write~init~int(0, 20, 5, 1);call #Ultimate.allocInit(17, 21);call #Ultimate.allocInit(11, 22);call #Ultimate.allocInit(28, 23);call #Ultimate.allocInit(4, 24);call write~init~int(37, 24, 0, 1);call write~init~int(51, 24, 1, 1);call write~init~int(120, 24, 2, 1);call write~init~int(0, 24, 3, 1);call #Ultimate.allocInit(13, 25);call #Ultimate.allocInit(2, 26);call write~init~int(10, 26, 0, 1);call write~init~int(0, 26, 1, 1);call #Ultimate.allocInit(7, 27);call write~init~int(109, 27, 0, 1);call write~init~int(97, 27, 1, 1);call write~init~int(115, 27, 2, 1);call write~init~int(116, 27, 3, 1);call write~init~int(101, 27, 4, 1);call write~init~int(114, 27, 5, 1);call write~init~int(0, 27, 6, 1);call #Ultimate.allocInit(6, 28);call write~init~int(115, 28, 0, 1);call write~init~int(108, 28, 1, 1);call write~init~int(97, 28, 2, 1);call write~init~int(118, 28, 3, 1);call write~init~int(101, 28, 4, 1);call write~init~int(0, 28, 5, 1);call #Ultimate.allocInit(15, 29);call #Ultimate.allocInit(29, 30);call #Ultimate.allocInit(5, 31);call write~init~int(49, 31, 0, 1);call write~init~int(46, 31, 1, 1);call write~init~int(48, 31, 2, 1);call write~init~int(50, 31, 3, 1);call write~init~int(0, 31, 4, 1);call #Ultimate.allocInit(30, 32);call #Ultimate.allocInit(30, 33);call #Ultimate.allocInit(40, 34);call #Ultimate.allocInit(3, 35);call write~init~int(112, 35, 0, 1);call write~init~int(103, 35, 1, 1);call write~init~int(0, 35, 2, 1);call #Ultimate.allocInit(5, 36);call write~init~int(112, 36, 0, 1);call write~init~int(103, 36, 1, 1);call write~init~int(37, 36, 2, 1);call write~init~int(117, 36, 3, 1);call write~init~int(0, 36, 4, 1);call #Ultimate.allocInit(3, 37);call write~init~int(112, 37, 0, 1);call write~init~int(103, 37, 1, 1);call write~init~int(0, 37, 2, 1);~ldv_state_variable_1~0 := 0;~ref_cnt~0 := 0;~ldv_state_variable_0~0 := 0;~verbose~0 := 0;~major~0 := 97;~name~0.base, ~name~0.offset := 3, 0;~disable~0 := 0;~#drive0~0.base, ~#drive0~0.offset := 38, 0;call #Ultimate.allocInit(24, 38);call write~init~int(0, ~#drive0~0.base, ~#drive0~0.offset, 4);call write~init~int(0, ~#drive0~0.base, 4 + ~#drive0~0.offset, 4);call write~init~int(0, ~#drive0~0.base, 8 + ~#drive0~0.offset, 4);call write~init~int(-1, ~#drive0~0.base, 12 + ~#drive0~0.offset, 4);call write~init~int(-1, ~#drive0~0.base, 16 + ~#drive0~0.offset, 4);call write~init~int(-1, ~#drive0~0.base, 20 + ~#drive0~0.offset, 4);~#drive1~0.base, ~#drive1~0.offset := 39, 0;call #Ultimate.allocInit(24, 39);call write~init~int(0, ~#drive1~0.base, ~#drive1~0.offset, 4);call write~init~int(0, ~#drive1~0.base, 4 + ~#drive1~0.offset, 4);call write~init~int(0, ~#drive1~0.base, 8 + ~#drive1~0.offset, 4);call write~init~int(-1, ~#drive1~0.base, 12 + ~#drive1~0.offset, 4);call write~init~int(-1, ~#drive1~0.base, 16 + ~#drive1~0.offset, 4);call write~init~int(-1, ~#drive1~0.base, 20 + ~#drive1~0.offset, 4);~#drive2~0.base, ~#drive2~0.offset := 40, 0;call #Ultimate.allocInit(24, 40);call write~init~int(0, ~#drive2~0.base, ~#drive2~0.offset, 4);call write~init~int(0, ~#drive2~0.base, 4 + ~#drive2~0.offset, 4);call write~init~int(0, ~#drive2~0.base, 8 + ~#drive2~0.offset, 4);call write~init~int(-1, ~#drive2~0.base, 12 + ~#drive2~0.offset, 4);call write~init~int(-1, ~#drive2~0.base, 16 + ~#drive2~0.offset, 4);call write~init~int(-1, ~#drive2~0.base, 20 + ~#drive2~0.offset, 4);~#drive3~0.base, ~#drive3~0.offset := 41, 0;call #Ultimate.allocInit(24, 41);call write~init~int(0, ~#drive3~0.base, ~#drive3~0.offset, 4);call write~init~int(0, ~#drive3~0.base, 4 + ~#drive3~0.offset, 4);call write~init~int(0, ~#drive3~0.base, 8 + ~#drive3~0.offset, 4);call write~init~int(-1, ~#drive3~0.base, 12 + ~#drive3~0.offset, 4);call write~init~int(-1, ~#drive3~0.base, 16 + ~#drive3~0.offset, 4);call write~init~int(-1, ~#drive3~0.base, 20 + ~#drive3~0.offset, 4);~#drives~0.base, ~#drives~0.offset := 42, 0;call #Ultimate.allocInit(32, 42);call write~init~$Pointer$(~#drive0~0.base, ~#drive0~0.offset, ~#drives~0.base, ~#drives~0.offset, 8);call write~init~$Pointer$(~#drive1~0.base, ~#drive1~0.offset, ~#drives~0.base, 8 + ~#drives~0.offset, 8);call write~init~$Pointer$(~#drive2~0.base, ~#drive2~0.offset, ~#drives~0.base, 16 + ~#drives~0.offset, 8);call write~init~$Pointer$(~#drive3~0.base, ~#drive3~0.offset, ~#drives~0.base, 24 + ~#drives~0.offset, 8);~pg_drive_count~0 := 0;~#pg_mutex~0.base, ~#pg_mutex~0.offset := 43, 0;call #Ultimate.allocInit(156, 43);call write~init~int(1, ~#pg_mutex~0.base, ~#pg_mutex~0.offset, 4);call write~init~int(0, ~#pg_mutex~0.base, 4 + ~#pg_mutex~0.offset, 4);call write~init~int(3735899821, ~#pg_mutex~0.base, 8 + ~#pg_mutex~0.offset, 4);call write~init~int(4294967295, ~#pg_mutex~0.base, 12 + ~#pg_mutex~0.offset, 4);call write~init~$Pointer$(0, -1, ~#pg_mutex~0.base, 16 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_mutex~0.base, 24 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_mutex~0.base, 32 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_mutex~0.base, 40 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(6, 0, ~#pg_mutex~0.base, 48 + ~#pg_mutex~0.offset, 8);call write~init~int(0, ~#pg_mutex~0.base, 56 + ~#pg_mutex~0.offset, 4);call write~init~int(0, ~#pg_mutex~0.base, 60 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(~#pg_mutex~0.base, 72 + ~#pg_mutex~0.offset, ~#pg_mutex~0.base, 72 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(~#pg_mutex~0.base, 72 + ~#pg_mutex~0.offset, ~#pg_mutex~0.base, 80 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_mutex~0.base, 88 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_mutex~0.base, 96 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(~#pg_mutex~0.base, ~#pg_mutex~0.offset, ~#pg_mutex~0.base, 104 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_mutex~0.base, 112 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_mutex~0.base, 120 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_mutex~0.base, 128 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(7, 0, ~#pg_mutex~0.base, 136 + ~#pg_mutex~0.offset, 8);call write~init~int(0, ~#pg_mutex~0.base, 144 + ~#pg_mutex~0.offset, 4);call write~init~int(0, ~#pg_mutex~0.base, 148 + ~#pg_mutex~0.offset, 8);~#devices~0.base, ~#devices~0.offset := 44, 0;call #Ultimate.allocInit(928, 44);#memory_$Pointer$.base, #memory_$Pointer$.offset := ~initToZeroAtPointerBaseAddress~$Pointer$.base(#memory_$Pointer$.base, #memory_$Pointer$.offset, ~#devices~0.base), ~initToZeroAtPointerBaseAddress~$Pointer$.offset(#memory_$Pointer$.base, #memory_$Pointer$.offset, ~#devices~0.base);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#devices~0.base);~#pg_scratch~0.base, ~#pg_scratch~0.offset := 45, 0;call #Ultimate.allocInit(512, 45);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#pg_scratch~0.base);~pg_class~0.base, ~pg_class~0.offset := 0, 0;~#pg_fops~0.base, ~#pg_fops~0.offset := 46, 0;call #Ultimate.allocInit(216, 46);call write~init~$Pointer$(~#__this_module~0.base, ~#__this_module~0.offset, ~#pg_fops~0.base, ~#pg_fops~0.offset, 8);call write~init~$Pointer$(#funAddr~noop_llseek.base, #funAddr~noop_llseek.offset, ~#pg_fops~0.base, 8 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(#funAddr~pg_read.base, #funAddr~pg_read.offset, ~#pg_fops~0.base, 16 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(#funAddr~pg_write.base, #funAddr~pg_write.offset, ~#pg_fops~0.base, 24 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 32 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 40 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 48 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 56 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 64 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 72 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 80 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(#funAddr~pg_open.base, #funAddr~pg_open.offset, ~#pg_fops~0.base, 88 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 96 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(#funAddr~pg_release.base, #funAddr~pg_release.offset, ~#pg_fops~0.base, 104 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 112 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 120 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 128 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 136 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 144 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 152 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 160 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 168 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 176 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 184 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 192 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 200 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 208 + ~#pg_fops~0.offset, 8);~pg_fops_group2~0.base, ~pg_fops_group2~0.offset := 0, 0;~ldvarg7~0 := 0;~ldvarg3~0 := 0;~ldvarg0~0 := 0;~ldvarg5~0.base, ~ldvarg5~0.offset := 0, 0;~ldvarg6~0.base, ~ldvarg6~0.offset := 0, 0;~ldvarg8~0.base, ~ldvarg8~0.offset := 0, 0;~ldvarg1~0 := 0;~ldv_retval_0~0 := 0;~ldvarg4~0.base, ~ldvarg4~0.offset := 0, 0;~ldv_retval_1~0 := 0;~pg_fops_group1~0.base, ~pg_fops_group1~0.offset := 0, 0;~ldvarg2~0.base, ~ldvarg2~0.offset := 0, 0;~ldv_mutex_cred_guard_mutex_of_signal_struct~0 := 0;~ldv_mutex_lock~0 := 0;~ldv_mutex_mutex_of_device~0 := 0;~ldv_mutex_pg_mutex~0 := 0; {474#true} is VALID [2022-02-20 21:44:25,040 INFO L290 TraceCheckUtils]: 1: Hoare triple {474#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet231#1, main_#t~switch232#1, main_#t~nondet233#1, main_#t~switch234#1, main_#t~ret235#1, main_#t~ret236#1, main_#t~ret237#1, main_#t~ret238#1, main_#t~ret239#1, main_#t~ret240#1, main_#t~nondet241#1, main_#t~switch242#1, main_#t~ret243#1, main_~tmp~17#1, main_~tmp___0~12#1, main_~tmp___1~11#1;havoc main_~tmp~17#1;havoc main_~tmp___0~12#1;havoc main_~tmp___1~11#1;assume { :begin_inline_ldv_initialize } true;~ldv_mutex_cred_guard_mutex_of_signal_struct~0 := 1;~ldv_mutex_lock~0 := 1;~ldv_mutex_mutex_of_device~0 := 1;~ldv_mutex_pg_mutex~0 := 1; {474#true} is VALID [2022-02-20 21:44:25,041 INFO L290 TraceCheckUtils]: 2: Hoare triple {474#true} assume { :end_inline_ldv_initialize } true;~ldv_state_variable_1~0 := 0;~ref_cnt~0 := 0;~ldv_state_variable_0~0 := 1; {476#(= ~ldv_state_variable_1~0 0)} is VALID [2022-02-20 21:44:25,041 INFO L290 TraceCheckUtils]: 3: Hoare triple {476#(= ~ldv_state_variable_1~0 0)} assume -2147483648 <= main_#t~nondet231#1 && main_#t~nondet231#1 <= 2147483647;main_~tmp~17#1 := main_#t~nondet231#1;havoc main_#t~nondet231#1;main_#t~switch232#1 := 0 == main_~tmp~17#1; {476#(= ~ldv_state_variable_1~0 0)} is VALID [2022-02-20 21:44:25,042 INFO L290 TraceCheckUtils]: 4: Hoare triple {476#(= ~ldv_state_variable_1~0 0)} assume main_#t~switch232#1; {476#(= ~ldv_state_variable_1~0 0)} is VALID [2022-02-20 21:44:25,042 INFO L290 TraceCheckUtils]: 5: Hoare triple {476#(= ~ldv_state_variable_1~0 0)} assume 0 != ~ldv_state_variable_1~0;assume -2147483648 <= main_#t~nondet233#1 && main_#t~nondet233#1 <= 2147483647;main_~tmp___0~12#1 := main_#t~nondet233#1;havoc main_#t~nondet233#1;main_#t~switch234#1 := 0 == main_~tmp___0~12#1; {475#false} is VALID [2022-02-20 21:44:25,043 INFO L290 TraceCheckUtils]: 6: Hoare triple {475#false} assume !main_#t~switch234#1;main_#t~switch234#1 := main_#t~switch234#1 || 1 == main_~tmp___0~12#1; {475#false} is VALID [2022-02-20 21:44:25,043 INFO L290 TraceCheckUtils]: 7: Hoare triple {475#false} assume !main_#t~switch234#1;main_#t~switch234#1 := main_#t~switch234#1 || 2 == main_~tmp___0~12#1; {475#false} is VALID [2022-02-20 21:44:25,043 INFO L290 TraceCheckUtils]: 8: Hoare triple {475#false} assume !main_#t~switch234#1;main_#t~switch234#1 := main_#t~switch234#1 || 3 == main_~tmp___0~12#1; {475#false} is VALID [2022-02-20 21:44:25,043 INFO L290 TraceCheckUtils]: 9: Hoare triple {475#false} assume !main_#t~switch234#1;main_#t~switch234#1 := main_#t~switch234#1 || 4 == main_~tmp___0~12#1; {475#false} is VALID [2022-02-20 21:44:25,044 INFO L290 TraceCheckUtils]: 10: Hoare triple {475#false} assume main_#t~switch234#1; {475#false} is VALID [2022-02-20 21:44:25,044 INFO L290 TraceCheckUtils]: 11: Hoare triple {475#false} assume 1 == ~ldv_state_variable_1~0;assume { :begin_inline_pg_open } true;pg_open_#in~inode#1.base, pg_open_#in~inode#1.offset, pg_open_#in~file#1.base, pg_open_#in~file#1.offset := ~pg_fops_group1~0.base, ~pg_fops_group1~0.offset, ~pg_fops_group2~0.base, ~pg_fops_group2~0.offset;havoc pg_open_#res#1;havoc pg_open_#t~ret175#1, pg_open_#t~mem177#1, pg_open_#t~short178#1, pg_open_#t~ret179#1, pg_open_#t~mem180#1, pg_open_#t~ret181#1, pg_open_#t~ret182#1, pg_open_#t~ret183#1.base, pg_open_#t~ret183#1.offset, pg_open_#t~mem184#1.base, pg_open_#t~mem184#1.offset, pg_open_#t~nondet185#1, pg_open_#t~nondet176#1, pg_open_~inode#1.base, pg_open_~inode#1.offset, pg_open_~file#1.base, pg_open_~file#1.offset, pg_open_~unit~2#1, pg_open_~tmp~13#1, pg_open_~dev~2#1.base, pg_open_~dev~2#1.offset, pg_open_~ret~0#1, pg_open_~tmp___0~8#1, pg_open_~tmp___1~7#1.base, pg_open_~tmp___1~7#1.offset;pg_open_~inode#1.base, pg_open_~inode#1.offset := pg_open_#in~inode#1.base, pg_open_#in~inode#1.offset;pg_open_~file#1.base, pg_open_~file#1.offset := pg_open_#in~file#1.base, pg_open_#in~file#1.offset;havoc pg_open_~unit~2#1;havoc pg_open_~tmp~13#1;havoc pg_open_~dev~2#1.base, pg_open_~dev~2#1.offset;havoc pg_open_~ret~0#1;havoc pg_open_~tmp___0~8#1;havoc pg_open_~tmp___1~7#1.base, pg_open_~tmp___1~7#1.offset;assume { :begin_inline_iminor } true;iminor_#in~inode#1.base, iminor_#in~inode#1.offset := pg_open_~inode#1.base, pg_open_~inode#1.offset;havoc iminor_#res#1;havoc iminor_#t~mem18#1, iminor_~inode#1.base, iminor_~inode#1.offset;iminor_~inode#1.base, iminor_~inode#1.offset := iminor_#in~inode#1.base, iminor_#in~inode#1.offset;call iminor_#t~mem18#1 := read~int(iminor_~inode#1.base, 76 + iminor_~inode#1.offset, 4);iminor_#res#1 := (if 0 == iminor_#t~mem18#1 then 0 else (if 1 == iminor_#t~mem18#1 then 1 else ~bitwiseAnd(iminor_#t~mem18#1, 1048575)));havoc iminor_#t~mem18#1; {475#false} is VALID [2022-02-20 21:44:25,044 INFO L290 TraceCheckUtils]: 12: Hoare triple {475#false} pg_open_#t~ret175#1 := iminor_#res#1;assume { :end_inline_iminor } true;pg_open_~tmp~13#1 := pg_open_#t~ret175#1;havoc pg_open_#t~ret175#1; {475#false} is VALID [2022-02-20 21:44:25,045 INFO L290 TraceCheckUtils]: 13: Hoare triple {475#false} assume 0 == (if pg_open_~tmp~13#1 % 4294967296 % 4294967296 <= 2147483647 then pg_open_~tmp~13#1 % 4294967296 % 4294967296 else pg_open_~tmp~13#1 % 4294967296 % 4294967296 - 4294967296);pg_open_~unit~2#1 := 0; {475#false} is VALID [2022-02-20 21:44:25,045 INFO L290 TraceCheckUtils]: 14: Hoare triple {475#false} pg_open_~dev~2#1.base, pg_open_~dev~2#1.offset := ~#devices~0.base, ~#devices~0.offset + 232 * (if pg_open_~unit~2#1 % 18446744073709551616 % 18446744073709551616 <= 9223372036854775807 then pg_open_~unit~2#1 % 18446744073709551616 % 18446744073709551616 else pg_open_~unit~2#1 % 18446744073709551616 % 18446744073709551616 - 18446744073709551616);pg_open_~ret~0#1 := 0;assume { :begin_inline_ldv_mutex_lock_8 } true;ldv_mutex_lock_8_#in~ldv_func_arg1#1.base, ldv_mutex_lock_8_#in~ldv_func_arg1#1.offset := ~#pg_mutex~0.base, ~#pg_mutex~0.offset;havoc ldv_mutex_lock_8_~ldv_func_arg1#1.base, ldv_mutex_lock_8_~ldv_func_arg1#1.offset;ldv_mutex_lock_8_~ldv_func_arg1#1.base, ldv_mutex_lock_8_~ldv_func_arg1#1.offset := ldv_mutex_lock_8_#in~ldv_func_arg1#1.base, ldv_mutex_lock_8_#in~ldv_func_arg1#1.offset;assume { :begin_inline_ldv_mutex_lock_pg_mutex } true;ldv_mutex_lock_pg_mutex_#in~lock#1.base, ldv_mutex_lock_pg_mutex_#in~lock#1.offset := ldv_mutex_lock_8_~ldv_func_arg1#1.base, ldv_mutex_lock_8_~ldv_func_arg1#1.offset;havoc ldv_mutex_lock_pg_mutex_~lock#1.base, ldv_mutex_lock_pg_mutex_~lock#1.offset;ldv_mutex_lock_pg_mutex_~lock#1.base, ldv_mutex_lock_pg_mutex_~lock#1.offset := ldv_mutex_lock_pg_mutex_#in~lock#1.base, ldv_mutex_lock_pg_mutex_#in~lock#1.offset; {475#false} is VALID [2022-02-20 21:44:25,045 INFO L290 TraceCheckUtils]: 15: Hoare triple {475#false} assume !(1 == ~ldv_mutex_pg_mutex~0); {475#false} is VALID [2022-02-20 21:44:25,045 INFO L272 TraceCheckUtils]: 16: Hoare triple {475#false} call ldv_error(); {475#false} is VALID [2022-02-20 21:44:25,046 INFO L290 TraceCheckUtils]: 17: Hoare triple {475#false} assume !false; {475#false} is VALID [2022-02-20 21:44:25,047 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 21:44:25,047 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 21:44:25,048 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [351320119] [2022-02-20 21:44:25,048 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [351320119] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 21:44:25,048 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 21:44:25,049 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-02-20 21:44:25,050 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [315758088] [2022-02-20 21:44:25,051 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 21:44:25,055 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 5.666666666666667) internal successors, (17), 3 states have internal predecessors, (17), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 18 [2022-02-20 21:44:25,056 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 21:44:25,059 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 5.666666666666667) internal successors, (17), 3 states have internal predecessors, (17), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 21:44:25,089 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 18 edges. 18 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 21:44:25,090 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-02-20 21:44:25,090 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 21:44:25,115 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-02-20 21:44:25,116 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-20 21:44:25,125 INFO L87 Difference]: Start difference. First operand has 471 states, 353 states have (on average 1.385269121813031) internal successors, (489), 363 states have internal predecessors, (489), 86 states have call successors, (86), 30 states have call predecessors, (86), 30 states have return successors, (86), 86 states have call predecessors, (86), 86 states have call successors, (86) Second operand has 3 states, 3 states have (on average 5.666666666666667) internal successors, (17), 3 states have internal predecessors, (17), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 21:44:27,388 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 21:44:27,389 INFO L93 Difference]: Finished difference Result 1220 states and 1738 transitions. [2022-02-20 21:44:27,389 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-02-20 21:44:27,390 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 5.666666666666667) internal successors, (17), 3 states have internal predecessors, (17), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 18 [2022-02-20 21:44:27,390 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 21:44:27,391 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 5.666666666666667) internal successors, (17), 3 states have internal predecessors, (17), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 21:44:27,456 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 1738 transitions. [2022-02-20 21:44:27,456 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 5.666666666666667) internal successors, (17), 3 states have internal predecessors, (17), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 21:44:27,505 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 1738 transitions. [2022-02-20 21:44:27,506 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 1738 transitions. [2022-02-20 21:44:29,054 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 1738 edges. 1738 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 21:44:29,161 INFO L225 Difference]: With dead ends: 1220 [2022-02-20 21:44:29,161 INFO L226 Difference]: Without dead ends: 744 [2022-02-20 21:44:29,168 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 3 GetRequests, 2 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-02-20 21:44:29,171 INFO L933 BasicCegarLoop]: 846 mSDtfsCounter, 391 mSDsluCounter, 604 mSDsCounter, 0 mSdLazyCounter, 21 mSolverCounterSat, 4 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 391 SdHoareTripleChecker+Valid, 1450 SdHoareTripleChecker+Invalid, 25 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 4 IncrementalHoareTripleChecker+Valid, 21 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 21:44:29,176 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [391 Valid, 1450 Invalid, 25 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [4 Valid, 21 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 21:44:29,190 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 744 states. [2022-02-20 21:44:29,260 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 744 to 720. [2022-02-20 21:44:29,260 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 21:44:29,265 INFO L82 GeneralOperation]: Start isEquivalent. First operand 744 states. Second operand has 720 states, 535 states have (on average 1.3457943925233644) internal successors, (720), 545 states have internal predecessors, (720), 136 states have call successors, (136), 49 states have call predecessors, (136), 48 states have return successors, (130), 130 states have call predecessors, (130), 130 states have call successors, (130) [2022-02-20 21:44:29,275 INFO L74 IsIncluded]: Start isIncluded. First operand 744 states. Second operand has 720 states, 535 states have (on average 1.3457943925233644) internal successors, (720), 545 states have internal predecessors, (720), 136 states have call successors, (136), 49 states have call predecessors, (136), 48 states have return successors, (130), 130 states have call predecessors, (130), 130 states have call successors, (130) [2022-02-20 21:44:29,283 INFO L87 Difference]: Start difference. First operand 744 states. Second operand has 720 states, 535 states have (on average 1.3457943925233644) internal successors, (720), 545 states have internal predecessors, (720), 136 states have call successors, (136), 49 states have call predecessors, (136), 48 states have return successors, (130), 130 states have call predecessors, (130), 130 states have call successors, (130) [2022-02-20 21:44:29,335 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 21:44:29,336 INFO L93 Difference]: Finished difference Result 744 states and 1015 transitions. [2022-02-20 21:44:29,336 INFO L276 IsEmpty]: Start isEmpty. Operand 744 states and 1015 transitions. [2022-02-20 21:44:29,347 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 21:44:29,347 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 21:44:29,350 INFO L74 IsIncluded]: Start isIncluded. First operand has 720 states, 535 states have (on average 1.3457943925233644) internal successors, (720), 545 states have internal predecessors, (720), 136 states have call successors, (136), 49 states have call predecessors, (136), 48 states have return successors, (130), 130 states have call predecessors, (130), 130 states have call successors, (130) Second operand 744 states. [2022-02-20 21:44:29,352 INFO L87 Difference]: Start difference. First operand has 720 states, 535 states have (on average 1.3457943925233644) internal successors, (720), 545 states have internal predecessors, (720), 136 states have call successors, (136), 49 states have call predecessors, (136), 48 states have return successors, (130), 130 states have call predecessors, (130), 130 states have call successors, (130) Second operand 744 states. [2022-02-20 21:44:29,397 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 21:44:29,398 INFO L93 Difference]: Finished difference Result 744 states and 1015 transitions. [2022-02-20 21:44:29,398 INFO L276 IsEmpty]: Start isEmpty. Operand 744 states and 1015 transitions. [2022-02-20 21:44:29,402 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 21:44:29,402 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 21:44:29,402 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 21:44:29,402 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 21:44:29,405 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 720 states, 535 states have (on average 1.3457943925233644) internal successors, (720), 545 states have internal predecessors, (720), 136 states have call successors, (136), 49 states have call predecessors, (136), 48 states have return successors, (130), 130 states have call predecessors, (130), 130 states have call successors, (130) [2022-02-20 21:44:29,453 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 720 states to 720 states and 986 transitions. [2022-02-20 21:44:29,455 INFO L78 Accepts]: Start accepts. Automaton has 720 states and 986 transitions. Word has length 18 [2022-02-20 21:44:29,455 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 21:44:29,455 INFO L470 AbstractCegarLoop]: Abstraction has 720 states and 986 transitions. [2022-02-20 21:44:29,456 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 5.666666666666667) internal successors, (17), 3 states have internal predecessors, (17), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 21:44:29,456 INFO L276 IsEmpty]: Start isEmpty. Operand 720 states and 986 transitions. [2022-02-20 21:44:29,457 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 20 [2022-02-20 21:44:29,457 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 21:44:29,457 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 21:44:29,457 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-02-20 21:44:29,458 INFO L402 AbstractCegarLoop]: === Iteration 2 === Targeting ldv_errorErr0ASSERT_VIOLATIONERROR_FUNCTION === [ldv_errorErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 21:44:29,458 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 21:44:29,458 INFO L85 PathProgramCache]: Analyzing trace with hash 1314550378, now seen corresponding path program 1 times [2022-02-20 21:44:29,459 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 21:44:29,459 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1815273251] [2022-02-20 21:44:29,459 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 21:44:29,459 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 21:44:29,537 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:44:29,588 INFO L290 TraceCheckUtils]: 0: Hoare triple {4702#true} assume { :begin_inline_ULTIMATE.init } 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(72, 2);call #Ultimate.allocInit(3, 3);call write~init~int(112, 3, 0, 1);call write~init~int(103, 3, 1, 1);call write~init~int(0, 3, 2, 1);call #Ultimate.allocInit(124, 4);call #Ultimate.allocInit(27, 5);call #Ultimate.allocInit(19, 6);call #Ultimate.allocInit(9, 7);call #Ultimate.allocInit(5, 8);call write~init~int(37, 8, 0, 1);call write~init~int(115, 8, 1, 1);call write~init~int(37, 8, 2, 1);call write~init~int(99, 8, 3, 1);call write~init~int(0, 8, 4, 1);call #Ultimate.allocInit(9, 9);call #Ultimate.allocInit(1, 10);call write~init~int(0, 10, 0, 1);call #Ultimate.allocInit(39, 11);call #Ultimate.allocInit(15, 12);call #Ultimate.allocInit(12, 13);call #Ultimate.allocInit(25, 14);call #Ultimate.allocInit(35, 15);call #Ultimate.allocInit(6, 16);call write~init~int(37, 16, 0, 1);call write~init~int(48, 16, 1, 1);call write~init~int(50, 16, 2, 1);call write~init~int(120, 16, 3, 1);call write~init~int(32, 16, 4, 1);call write~init~int(0, 16, 5, 1);call #Ultimate.allocInit(2, 17);call write~init~int(10, 17, 0, 1);call write~init~int(0, 17, 1, 1);call #Ultimate.allocInit(11, 18);call #Ultimate.allocInit(5, 19);call write~init~int(82, 19, 0, 1);call write~init~int(101, 19, 1, 1);call write~init~int(97, 19, 2, 1);call write~init~int(100, 19, 3, 1);call write~init~int(0, 19, 4, 1);call #Ultimate.allocInit(6, 20);call write~init~int(87, 20, 0, 1);call write~init~int(114, 20, 1, 1);call write~init~int(105, 20, 2, 1);call write~init~int(116, 20, 3, 1);call write~init~int(101, 20, 4, 1);call write~init~int(0, 20, 5, 1);call #Ultimate.allocInit(17, 21);call #Ultimate.allocInit(11, 22);call #Ultimate.allocInit(28, 23);call #Ultimate.allocInit(4, 24);call write~init~int(37, 24, 0, 1);call write~init~int(51, 24, 1, 1);call write~init~int(120, 24, 2, 1);call write~init~int(0, 24, 3, 1);call #Ultimate.allocInit(13, 25);call #Ultimate.allocInit(2, 26);call write~init~int(10, 26, 0, 1);call write~init~int(0, 26, 1, 1);call #Ultimate.allocInit(7, 27);call write~init~int(109, 27, 0, 1);call write~init~int(97, 27, 1, 1);call write~init~int(115, 27, 2, 1);call write~init~int(116, 27, 3, 1);call write~init~int(101, 27, 4, 1);call write~init~int(114, 27, 5, 1);call write~init~int(0, 27, 6, 1);call #Ultimate.allocInit(6, 28);call write~init~int(115, 28, 0, 1);call write~init~int(108, 28, 1, 1);call write~init~int(97, 28, 2, 1);call write~init~int(118, 28, 3, 1);call write~init~int(101, 28, 4, 1);call write~init~int(0, 28, 5, 1);call #Ultimate.allocInit(15, 29);call #Ultimate.allocInit(29, 30);call #Ultimate.allocInit(5, 31);call write~init~int(49, 31, 0, 1);call write~init~int(46, 31, 1, 1);call write~init~int(48, 31, 2, 1);call write~init~int(50, 31, 3, 1);call write~init~int(0, 31, 4, 1);call #Ultimate.allocInit(30, 32);call #Ultimate.allocInit(30, 33);call #Ultimate.allocInit(40, 34);call #Ultimate.allocInit(3, 35);call write~init~int(112, 35, 0, 1);call write~init~int(103, 35, 1, 1);call write~init~int(0, 35, 2, 1);call #Ultimate.allocInit(5, 36);call write~init~int(112, 36, 0, 1);call write~init~int(103, 36, 1, 1);call write~init~int(37, 36, 2, 1);call write~init~int(117, 36, 3, 1);call write~init~int(0, 36, 4, 1);call #Ultimate.allocInit(3, 37);call write~init~int(112, 37, 0, 1);call write~init~int(103, 37, 1, 1);call write~init~int(0, 37, 2, 1);~ldv_state_variable_1~0 := 0;~ref_cnt~0 := 0;~ldv_state_variable_0~0 := 0;~verbose~0 := 0;~major~0 := 97;~name~0.base, ~name~0.offset := 3, 0;~disable~0 := 0;~#drive0~0.base, ~#drive0~0.offset := 38, 0;call #Ultimate.allocInit(24, 38);call write~init~int(0, ~#drive0~0.base, ~#drive0~0.offset, 4);call write~init~int(0, ~#drive0~0.base, 4 + ~#drive0~0.offset, 4);call write~init~int(0, ~#drive0~0.base, 8 + ~#drive0~0.offset, 4);call write~init~int(-1, ~#drive0~0.base, 12 + ~#drive0~0.offset, 4);call write~init~int(-1, ~#drive0~0.base, 16 + ~#drive0~0.offset, 4);call write~init~int(-1, ~#drive0~0.base, 20 + ~#drive0~0.offset, 4);~#drive1~0.base, ~#drive1~0.offset := 39, 0;call #Ultimate.allocInit(24, 39);call write~init~int(0, ~#drive1~0.base, ~#drive1~0.offset, 4);call write~init~int(0, ~#drive1~0.base, 4 + ~#drive1~0.offset, 4);call write~init~int(0, ~#drive1~0.base, 8 + ~#drive1~0.offset, 4);call write~init~int(-1, ~#drive1~0.base, 12 + ~#drive1~0.offset, 4);call write~init~int(-1, ~#drive1~0.base, 16 + ~#drive1~0.offset, 4);call write~init~int(-1, ~#drive1~0.base, 20 + ~#drive1~0.offset, 4);~#drive2~0.base, ~#drive2~0.offset := 40, 0;call #Ultimate.allocInit(24, 40);call write~init~int(0, ~#drive2~0.base, ~#drive2~0.offset, 4);call write~init~int(0, ~#drive2~0.base, 4 + ~#drive2~0.offset, 4);call write~init~int(0, ~#drive2~0.base, 8 + ~#drive2~0.offset, 4);call write~init~int(-1, ~#drive2~0.base, 12 + ~#drive2~0.offset, 4);call write~init~int(-1, ~#drive2~0.base, 16 + ~#drive2~0.offset, 4);call write~init~int(-1, ~#drive2~0.base, 20 + ~#drive2~0.offset, 4);~#drive3~0.base, ~#drive3~0.offset := 41, 0;call #Ultimate.allocInit(24, 41);call write~init~int(0, ~#drive3~0.base, ~#drive3~0.offset, 4);call write~init~int(0, ~#drive3~0.base, 4 + ~#drive3~0.offset, 4);call write~init~int(0, ~#drive3~0.base, 8 + ~#drive3~0.offset, 4);call write~init~int(-1, ~#drive3~0.base, 12 + ~#drive3~0.offset, 4);call write~init~int(-1, ~#drive3~0.base, 16 + ~#drive3~0.offset, 4);call write~init~int(-1, ~#drive3~0.base, 20 + ~#drive3~0.offset, 4);~#drives~0.base, ~#drives~0.offset := 42, 0;call #Ultimate.allocInit(32, 42);call write~init~$Pointer$(~#drive0~0.base, ~#drive0~0.offset, ~#drives~0.base, ~#drives~0.offset, 8);call write~init~$Pointer$(~#drive1~0.base, ~#drive1~0.offset, ~#drives~0.base, 8 + ~#drives~0.offset, 8);call write~init~$Pointer$(~#drive2~0.base, ~#drive2~0.offset, ~#drives~0.base, 16 + ~#drives~0.offset, 8);call write~init~$Pointer$(~#drive3~0.base, ~#drive3~0.offset, ~#drives~0.base, 24 + ~#drives~0.offset, 8);~pg_drive_count~0 := 0;~#pg_mutex~0.base, ~#pg_mutex~0.offset := 43, 0;call #Ultimate.allocInit(156, 43);call write~init~int(1, ~#pg_mutex~0.base, ~#pg_mutex~0.offset, 4);call write~init~int(0, ~#pg_mutex~0.base, 4 + ~#pg_mutex~0.offset, 4);call write~init~int(3735899821, ~#pg_mutex~0.base, 8 + ~#pg_mutex~0.offset, 4);call write~init~int(4294967295, ~#pg_mutex~0.base, 12 + ~#pg_mutex~0.offset, 4);call write~init~$Pointer$(0, -1, ~#pg_mutex~0.base, 16 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_mutex~0.base, 24 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_mutex~0.base, 32 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_mutex~0.base, 40 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(6, 0, ~#pg_mutex~0.base, 48 + ~#pg_mutex~0.offset, 8);call write~init~int(0, ~#pg_mutex~0.base, 56 + ~#pg_mutex~0.offset, 4);call write~init~int(0, ~#pg_mutex~0.base, 60 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(~#pg_mutex~0.base, 72 + ~#pg_mutex~0.offset, ~#pg_mutex~0.base, 72 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(~#pg_mutex~0.base, 72 + ~#pg_mutex~0.offset, ~#pg_mutex~0.base, 80 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_mutex~0.base, 88 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_mutex~0.base, 96 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(~#pg_mutex~0.base, ~#pg_mutex~0.offset, ~#pg_mutex~0.base, 104 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_mutex~0.base, 112 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_mutex~0.base, 120 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_mutex~0.base, 128 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(7, 0, ~#pg_mutex~0.base, 136 + ~#pg_mutex~0.offset, 8);call write~init~int(0, ~#pg_mutex~0.base, 144 + ~#pg_mutex~0.offset, 4);call write~init~int(0, ~#pg_mutex~0.base, 148 + ~#pg_mutex~0.offset, 8);~#devices~0.base, ~#devices~0.offset := 44, 0;call #Ultimate.allocInit(928, 44);#memory_$Pointer$.base, #memory_$Pointer$.offset := ~initToZeroAtPointerBaseAddress~$Pointer$.base(#memory_$Pointer$.base, #memory_$Pointer$.offset, ~#devices~0.base), ~initToZeroAtPointerBaseAddress~$Pointer$.offset(#memory_$Pointer$.base, #memory_$Pointer$.offset, ~#devices~0.base);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#devices~0.base);~#pg_scratch~0.base, ~#pg_scratch~0.offset := 45, 0;call #Ultimate.allocInit(512, 45);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#pg_scratch~0.base);~pg_class~0.base, ~pg_class~0.offset := 0, 0;~#pg_fops~0.base, ~#pg_fops~0.offset := 46, 0;call #Ultimate.allocInit(216, 46);call write~init~$Pointer$(~#__this_module~0.base, ~#__this_module~0.offset, ~#pg_fops~0.base, ~#pg_fops~0.offset, 8);call write~init~$Pointer$(#funAddr~noop_llseek.base, #funAddr~noop_llseek.offset, ~#pg_fops~0.base, 8 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(#funAddr~pg_read.base, #funAddr~pg_read.offset, ~#pg_fops~0.base, 16 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(#funAddr~pg_write.base, #funAddr~pg_write.offset, ~#pg_fops~0.base, 24 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 32 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 40 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 48 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 56 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 64 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 72 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 80 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(#funAddr~pg_open.base, #funAddr~pg_open.offset, ~#pg_fops~0.base, 88 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 96 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(#funAddr~pg_release.base, #funAddr~pg_release.offset, ~#pg_fops~0.base, 104 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 112 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 120 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 128 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 136 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 144 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 152 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 160 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 168 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 176 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 184 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 192 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 200 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 208 + ~#pg_fops~0.offset, 8);~pg_fops_group2~0.base, ~pg_fops_group2~0.offset := 0, 0;~ldvarg7~0 := 0;~ldvarg3~0 := 0;~ldvarg0~0 := 0;~ldvarg5~0.base, ~ldvarg5~0.offset := 0, 0;~ldvarg6~0.base, ~ldvarg6~0.offset := 0, 0;~ldvarg8~0.base, ~ldvarg8~0.offset := 0, 0;~ldvarg1~0 := 0;~ldv_retval_0~0 := 0;~ldvarg4~0.base, ~ldvarg4~0.offset := 0, 0;~ldv_retval_1~0 := 0;~pg_fops_group1~0.base, ~pg_fops_group1~0.offset := 0, 0;~ldvarg2~0.base, ~ldvarg2~0.offset := 0, 0;~ldv_mutex_cred_guard_mutex_of_signal_struct~0 := 0;~ldv_mutex_lock~0 := 0;~ldv_mutex_mutex_of_device~0 := 0;~ldv_mutex_pg_mutex~0 := 0; {4704#(= ~disable~0 0)} is VALID [2022-02-20 21:44:29,589 INFO L290 TraceCheckUtils]: 1: Hoare triple {4704#(= ~disable~0 0)} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet231#1, main_#t~switch232#1, main_#t~nondet233#1, main_#t~switch234#1, main_#t~ret235#1, main_#t~ret236#1, main_#t~ret237#1, main_#t~ret238#1, main_#t~ret239#1, main_#t~ret240#1, main_#t~nondet241#1, main_#t~switch242#1, main_#t~ret243#1, main_~tmp~17#1, main_~tmp___0~12#1, main_~tmp___1~11#1;havoc main_~tmp~17#1;havoc main_~tmp___0~12#1;havoc main_~tmp___1~11#1;assume { :begin_inline_ldv_initialize } true;~ldv_mutex_cred_guard_mutex_of_signal_struct~0 := 1;~ldv_mutex_lock~0 := 1;~ldv_mutex_mutex_of_device~0 := 1;~ldv_mutex_pg_mutex~0 := 1; {4704#(= ~disable~0 0)} is VALID [2022-02-20 21:44:29,590 INFO L290 TraceCheckUtils]: 2: Hoare triple {4704#(= ~disable~0 0)} assume { :end_inline_ldv_initialize } true;~ldv_state_variable_1~0 := 0;~ref_cnt~0 := 0;~ldv_state_variable_0~0 := 1; {4704#(= ~disable~0 0)} is VALID [2022-02-20 21:44:29,590 INFO L290 TraceCheckUtils]: 3: Hoare triple {4704#(= ~disable~0 0)} assume -2147483648 <= main_#t~nondet231#1 && main_#t~nondet231#1 <= 2147483647;main_~tmp~17#1 := main_#t~nondet231#1;havoc main_#t~nondet231#1;main_#t~switch232#1 := 0 == main_~tmp~17#1; {4704#(= ~disable~0 0)} is VALID [2022-02-20 21:44:29,591 INFO L290 TraceCheckUtils]: 4: Hoare triple {4704#(= ~disable~0 0)} assume !main_#t~switch232#1;main_#t~switch232#1 := main_#t~switch232#1 || 1 == main_~tmp~17#1; {4704#(= ~disable~0 0)} is VALID [2022-02-20 21:44:29,591 INFO L290 TraceCheckUtils]: 5: Hoare triple {4704#(= ~disable~0 0)} assume main_#t~switch232#1; {4704#(= ~disable~0 0)} is VALID [2022-02-20 21:44:29,591 INFO L290 TraceCheckUtils]: 6: Hoare triple {4704#(= ~disable~0 0)} assume 0 != ~ldv_state_variable_0~0;assume -2147483648 <= main_#t~nondet241#1 && main_#t~nondet241#1 <= 2147483647;main_~tmp___1~11#1 := main_#t~nondet241#1;havoc main_#t~nondet241#1;main_#t~switch242#1 := 0 == main_~tmp___1~11#1; {4704#(= ~disable~0 0)} is VALID [2022-02-20 21:44:29,592 INFO L290 TraceCheckUtils]: 7: Hoare triple {4704#(= ~disable~0 0)} assume !main_#t~switch242#1;main_#t~switch242#1 := main_#t~switch242#1 || 1 == main_~tmp___1~11#1; {4704#(= ~disable~0 0)} is VALID [2022-02-20 21:44:29,592 INFO L290 TraceCheckUtils]: 8: Hoare triple {4704#(= ~disable~0 0)} assume main_#t~switch242#1; {4704#(= ~disable~0 0)} is VALID [2022-02-20 21:44:29,593 INFO L290 TraceCheckUtils]: 9: Hoare triple {4704#(= ~disable~0 0)} assume 1 == ~ldv_state_variable_0~0;assume { :begin_inline_pg_init } true;havoc pg_init_#res#1;havoc pg_init_#t~ret218#1, pg_init_#t~ret219#1, pg_init_#t~nondet220#1, pg_init_#t~mem221#1, pg_init_#t~mem222#1.base, pg_init_#t~mem222#1.offset, pg_init_#t~ret223#1.base, pg_init_#t~ret223#1.offset, pg_init_#t~ret224#1, pg_init_#t~ret225#1, pg_init_#t~mem226#1, pg_init_#t~nondet227#1.base, pg_init_#t~nondet227#1.offset, pg_init_~unit~3#1, pg_init_~err~1#1, pg_init_~tmp~16#1, pg_init_~dev~6#1.base, pg_init_~dev~6#1.offset, pg_init_~#__key~0#1.base, pg_init_~#__key~0#1.offset, pg_init_~tmp___0~11#1.base, pg_init_~tmp___0~11#1.offset, pg_init_~tmp___1~10#1, pg_init_~tmp___2~7#1, pg_init_~dev___0~0#1.base, pg_init_~dev___0~0#1.offset;havoc pg_init_~unit~3#1;havoc pg_init_~err~1#1;havoc pg_init_~tmp~16#1;havoc pg_init_~dev~6#1.base, pg_init_~dev~6#1.offset;call pg_init_~#__key~0#1.base, pg_init_~#__key~0#1.offset := #Ultimate.allocOnStack(8);havoc pg_init_~tmp___0~11#1.base, pg_init_~tmp___0~11#1.offset;havoc pg_init_~tmp___1~10#1;havoc pg_init_~tmp___2~7#1;havoc pg_init_~dev___0~0#1.base, pg_init_~dev___0~0#1.offset; {4704#(= ~disable~0 0)} is VALID [2022-02-20 21:44:29,593 INFO L290 TraceCheckUtils]: 10: Hoare triple {4704#(= ~disable~0 0)} assume 0 != ~disable~0;pg_init_~err~1#1 := -22; {4703#false} is VALID [2022-02-20 21:44:29,594 INFO L290 TraceCheckUtils]: 11: Hoare triple {4703#false} pg_init_#res#1 := pg_init_~err~1#1;call ULTIMATE.dealloc(pg_init_~#__key~0#1.base, pg_init_~#__key~0#1.offset);havoc pg_init_~#__key~0#1.base, pg_init_~#__key~0#1.offset; {4703#false} is VALID [2022-02-20 21:44:29,594 INFO L290 TraceCheckUtils]: 12: Hoare triple {4703#false} main_#t~ret243#1 := pg_init_#res#1;assume { :end_inline_pg_init } true;assume -2147483648 <= main_#t~ret243#1 && main_#t~ret243#1 <= 2147483647;~ldv_retval_1~0 := main_#t~ret243#1;havoc main_#t~ret243#1; {4703#false} is VALID [2022-02-20 21:44:29,594 INFO L290 TraceCheckUtils]: 13: Hoare triple {4703#false} assume 0 == ~ldv_retval_1~0;~ldv_state_variable_0~0 := 3; {4703#false} is VALID [2022-02-20 21:44:29,594 INFO L290 TraceCheckUtils]: 14: Hoare triple {4703#false} assume 0 != ~ldv_retval_1~0;~ldv_state_variable_0~0 := 2; {4703#false} is VALID [2022-02-20 21:44:29,595 INFO L290 TraceCheckUtils]: 15: Hoare triple {4703#false} assume { :begin_inline_ldv_check_final_state } true; {4703#false} is VALID [2022-02-20 21:44:29,595 INFO L290 TraceCheckUtils]: 16: Hoare triple {4703#false} assume !(1 == ~ldv_mutex_cred_guard_mutex_of_signal_struct~0); {4703#false} is VALID [2022-02-20 21:44:29,595 INFO L272 TraceCheckUtils]: 17: Hoare triple {4703#false} call ldv_error(); {4703#false} is VALID [2022-02-20 21:44:29,595 INFO L290 TraceCheckUtils]: 18: Hoare triple {4703#false} assume !false; {4703#false} is VALID [2022-02-20 21:44:29,596 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 21:44:29,596 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 21:44:29,596 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1815273251] [2022-02-20 21:44:29,596 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1815273251] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 21:44:29,597 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 21:44:29,597 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2022-02-20 21:44:29,597 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1097771637] [2022-02-20 21:44:29,597 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 21:44:29,599 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 6.0) internal successors, (18), 2 states have internal predecessors, (18), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 19 [2022-02-20 21:44:29,599 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 21:44:29,599 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 6.0) internal successors, (18), 2 states have internal predecessors, (18), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 21:44:29,629 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 19 edges. 19 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 21:44:29,629 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-02-20 21:44:29,630 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 21:44:29,630 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-02-20 21:44:29,631 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-20 21:44:29,631 INFO L87 Difference]: Start difference. First operand 720 states and 986 transitions. Second operand has 3 states, 3 states have (on average 6.0) internal successors, (18), 2 states have internal predecessors, (18), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 21:44:32,851 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 21:44:32,852 INFO L93 Difference]: Finished difference Result 1437 states and 1969 transitions. [2022-02-20 21:44:32,852 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-02-20 21:44:32,852 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 6.0) internal successors, (18), 2 states have internal predecessors, (18), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 19 [2022-02-20 21:44:32,852 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 21:44:32,852 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 6.0) internal successors, (18), 2 states have internal predecessors, (18), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 21:44:32,872 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 1275 transitions. [2022-02-20 21:44:32,872 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 6.0) internal successors, (18), 2 states have internal predecessors, (18), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 21:44:32,915 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 1275 transitions. [2022-02-20 21:44:32,916 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 1275 transitions. [2022-02-20 21:44:34,037 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 1275 edges. 1275 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 21:44:34,076 INFO L225 Difference]: With dead ends: 1437 [2022-02-20 21:44:34,076 INFO L226 Difference]: Without dead ends: 720 [2022-02-20 21:44:34,079 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 2 GetRequests, 1 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-02-20 21:44:34,080 INFO L933 BasicCegarLoop]: 637 mSDtfsCounter, 628 mSDsluCounter, 0 mSDsCounter, 0 mSdLazyCounter, 1 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 628 SdHoareTripleChecker+Valid, 637 SdHoareTripleChecker+Invalid, 1 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 1 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 21:44:34,080 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [628 Valid, 637 Invalid, 1 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 1 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 21:44:34,082 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 720 states. [2022-02-20 21:44:34,109 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 720 to 720. [2022-02-20 21:44:34,110 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 21:44:34,112 INFO L82 GeneralOperation]: Start isEquivalent. First operand 720 states. Second operand has 720 states, 535 states have (on average 1.3420560747663552) internal successors, (718), 545 states have internal predecessors, (718), 136 states have call successors, (136), 49 states have call predecessors, (136), 48 states have return successors, (130), 130 states have call predecessors, (130), 130 states have call successors, (130) [2022-02-20 21:44:34,114 INFO L74 IsIncluded]: Start isIncluded. First operand 720 states. Second operand has 720 states, 535 states have (on average 1.3420560747663552) internal successors, (718), 545 states have internal predecessors, (718), 136 states have call successors, (136), 49 states have call predecessors, (136), 48 states have return successors, (130), 130 states have call predecessors, (130), 130 states have call successors, (130) [2022-02-20 21:44:34,116 INFO L87 Difference]: Start difference. First operand 720 states. Second operand has 720 states, 535 states have (on average 1.3420560747663552) internal successors, (718), 545 states have internal predecessors, (718), 136 states have call successors, (136), 49 states have call predecessors, (136), 48 states have return successors, (130), 130 states have call predecessors, (130), 130 states have call successors, (130) [2022-02-20 21:44:34,172 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 21:44:34,173 INFO L93 Difference]: Finished difference Result 720 states and 984 transitions. [2022-02-20 21:44:34,173 INFO L276 IsEmpty]: Start isEmpty. Operand 720 states and 984 transitions. [2022-02-20 21:44:34,182 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 21:44:34,182 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 21:44:34,186 INFO L74 IsIncluded]: Start isIncluded. First operand has 720 states, 535 states have (on average 1.3420560747663552) internal successors, (718), 545 states have internal predecessors, (718), 136 states have call successors, (136), 49 states have call predecessors, (136), 48 states have return successors, (130), 130 states have call predecessors, (130), 130 states have call successors, (130) Second operand 720 states. [2022-02-20 21:44:34,188 INFO L87 Difference]: Start difference. First operand has 720 states, 535 states have (on average 1.3420560747663552) internal successors, (718), 545 states have internal predecessors, (718), 136 states have call successors, (136), 49 states have call predecessors, (136), 48 states have return successors, (130), 130 states have call predecessors, (130), 130 states have call successors, (130) Second operand 720 states. [2022-02-20 21:44:34,229 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 21:44:34,230 INFO L93 Difference]: Finished difference Result 720 states and 984 transitions. [2022-02-20 21:44:34,230 INFO L276 IsEmpty]: Start isEmpty. Operand 720 states and 984 transitions. [2022-02-20 21:44:34,233 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 21:44:34,233 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 21:44:34,233 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 21:44:34,234 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 21:44:34,236 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 720 states, 535 states have (on average 1.3420560747663552) internal successors, (718), 545 states have internal predecessors, (718), 136 states have call successors, (136), 49 states have call predecessors, (136), 48 states have return successors, (130), 130 states have call predecessors, (130), 130 states have call successors, (130) [2022-02-20 21:44:34,283 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 720 states to 720 states and 984 transitions. [2022-02-20 21:44:34,284 INFO L78 Accepts]: Start accepts. Automaton has 720 states and 984 transitions. Word has length 19 [2022-02-20 21:44:34,284 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 21:44:34,285 INFO L470 AbstractCegarLoop]: Abstraction has 720 states and 984 transitions. [2022-02-20 21:44:34,285 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 6.0) internal successors, (18), 2 states have internal predecessors, (18), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 21:44:34,285 INFO L276 IsEmpty]: Start isEmpty. Operand 720 states and 984 transitions. [2022-02-20 21:44:34,286 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 26 [2022-02-20 21:44:34,286 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 21:44:34,286 INFO L514 BasicCegarLoop]: trace histogram [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-02-20 21:44:34,286 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-02-20 21:44:34,287 INFO L402 AbstractCegarLoop]: === Iteration 3 === Targeting ldv_errorErr0ASSERT_VIOLATIONERROR_FUNCTION === [ldv_errorErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 21:44:34,287 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 21:44:34,288 INFO L85 PathProgramCache]: Analyzing trace with hash -84430360, now seen corresponding path program 1 times [2022-02-20 21:44:34,288 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 21:44:34,288 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1793239945] [2022-02-20 21:44:34,288 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 21:44:34,289 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 21:44:34,323 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:44:34,360 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-02-20 21:44:34,362 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:44:34,369 INFO L290 TraceCheckUtils]: 0: Hoare triple {9187#(= ~ldv_state_variable_1~0 |old(~ldv_state_variable_1~0)|)} ~major___0#1 := #in~major___0#1;~name___0#1.base, ~name___0#1.offset := #in~name___0#1.base, #in~name___0#1.offset;assume { :begin_inline_unregister_chrdev } true;unregister_chrdev_#in~major___0#1, unregister_chrdev_#in~name___0#1.base, unregister_chrdev_#in~name___0#1.offset := ~major___0#1, ~name___0#1.base, ~name___0#1.offset;havoc unregister_chrdev_~major___0#1, unregister_chrdev_~name___0#1.base, unregister_chrdev_~name___0#1.offset;unregister_chrdev_~major___0#1 := unregister_chrdev_#in~major___0#1;unregister_chrdev_~name___0#1.base, unregister_chrdev_~name___0#1.offset := unregister_chrdev_#in~name___0#1.base, unregister_chrdev_#in~name___0#1.offset;assume { :begin_inline___unregister_chrdev } true;__unregister_chrdev_#in~arg0#1, __unregister_chrdev_#in~arg1#1, __unregister_chrdev_#in~arg2#1, __unregister_chrdev_#in~arg3#1.base, __unregister_chrdev_#in~arg3#1.offset := unregister_chrdev_~major___0#1, 0, 256, unregister_chrdev_~name___0#1.base, unregister_chrdev_~name___0#1.offset;havoc __unregister_chrdev_~arg0#1, __unregister_chrdev_~arg1#1, __unregister_chrdev_~arg2#1, __unregister_chrdev_~arg3#1.base, __unregister_chrdev_~arg3#1.offset;__unregister_chrdev_~arg0#1 := __unregister_chrdev_#in~arg0#1;__unregister_chrdev_~arg1#1 := __unregister_chrdev_#in~arg1#1;__unregister_chrdev_~arg2#1 := __unregister_chrdev_#in~arg2#1;__unregister_chrdev_~arg3#1.base, __unregister_chrdev_~arg3#1.offset := __unregister_chrdev_#in~arg3#1.base, __unregister_chrdev_#in~arg3#1.offset; {9179#true} is VALID [2022-02-20 21:44:34,370 INFO L290 TraceCheckUtils]: 1: Hoare triple {9179#true} assume { :end_inline___unregister_chrdev } true; {9179#true} is VALID [2022-02-20 21:44:34,370 INFO L290 TraceCheckUtils]: 2: Hoare triple {9179#true} assume { :end_inline_unregister_chrdev } true;~ldv_state_variable_1~0 := 0; {9179#true} is VALID [2022-02-20 21:44:34,370 INFO L290 TraceCheckUtils]: 3: Hoare triple {9179#true} assume true; {9179#true} is VALID [2022-02-20 21:44:34,371 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {9179#true} {9180#false} #1238#return; {9180#false} is VALID [2022-02-20 21:44:34,371 INFO L290 TraceCheckUtils]: 0: Hoare triple {9179#true} assume { :begin_inline_ULTIMATE.init } 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(72, 2);call #Ultimate.allocInit(3, 3);call write~init~int(112, 3, 0, 1);call write~init~int(103, 3, 1, 1);call write~init~int(0, 3, 2, 1);call #Ultimate.allocInit(124, 4);call #Ultimate.allocInit(27, 5);call #Ultimate.allocInit(19, 6);call #Ultimate.allocInit(9, 7);call #Ultimate.allocInit(5, 8);call write~init~int(37, 8, 0, 1);call write~init~int(115, 8, 1, 1);call write~init~int(37, 8, 2, 1);call write~init~int(99, 8, 3, 1);call write~init~int(0, 8, 4, 1);call #Ultimate.allocInit(9, 9);call #Ultimate.allocInit(1, 10);call write~init~int(0, 10, 0, 1);call #Ultimate.allocInit(39, 11);call #Ultimate.allocInit(15, 12);call #Ultimate.allocInit(12, 13);call #Ultimate.allocInit(25, 14);call #Ultimate.allocInit(35, 15);call #Ultimate.allocInit(6, 16);call write~init~int(37, 16, 0, 1);call write~init~int(48, 16, 1, 1);call write~init~int(50, 16, 2, 1);call write~init~int(120, 16, 3, 1);call write~init~int(32, 16, 4, 1);call write~init~int(0, 16, 5, 1);call #Ultimate.allocInit(2, 17);call write~init~int(10, 17, 0, 1);call write~init~int(0, 17, 1, 1);call #Ultimate.allocInit(11, 18);call #Ultimate.allocInit(5, 19);call write~init~int(82, 19, 0, 1);call write~init~int(101, 19, 1, 1);call write~init~int(97, 19, 2, 1);call write~init~int(100, 19, 3, 1);call write~init~int(0, 19, 4, 1);call #Ultimate.allocInit(6, 20);call write~init~int(87, 20, 0, 1);call write~init~int(114, 20, 1, 1);call write~init~int(105, 20, 2, 1);call write~init~int(116, 20, 3, 1);call write~init~int(101, 20, 4, 1);call write~init~int(0, 20, 5, 1);call #Ultimate.allocInit(17, 21);call #Ultimate.allocInit(11, 22);call #Ultimate.allocInit(28, 23);call #Ultimate.allocInit(4, 24);call write~init~int(37, 24, 0, 1);call write~init~int(51, 24, 1, 1);call write~init~int(120, 24, 2, 1);call write~init~int(0, 24, 3, 1);call #Ultimate.allocInit(13, 25);call #Ultimate.allocInit(2, 26);call write~init~int(10, 26, 0, 1);call write~init~int(0, 26, 1, 1);call #Ultimate.allocInit(7, 27);call write~init~int(109, 27, 0, 1);call write~init~int(97, 27, 1, 1);call write~init~int(115, 27, 2, 1);call write~init~int(116, 27, 3, 1);call write~init~int(101, 27, 4, 1);call write~init~int(114, 27, 5, 1);call write~init~int(0, 27, 6, 1);call #Ultimate.allocInit(6, 28);call write~init~int(115, 28, 0, 1);call write~init~int(108, 28, 1, 1);call write~init~int(97, 28, 2, 1);call write~init~int(118, 28, 3, 1);call write~init~int(101, 28, 4, 1);call write~init~int(0, 28, 5, 1);call #Ultimate.allocInit(15, 29);call #Ultimate.allocInit(29, 30);call #Ultimate.allocInit(5, 31);call write~init~int(49, 31, 0, 1);call write~init~int(46, 31, 1, 1);call write~init~int(48, 31, 2, 1);call write~init~int(50, 31, 3, 1);call write~init~int(0, 31, 4, 1);call #Ultimate.allocInit(30, 32);call #Ultimate.allocInit(30, 33);call #Ultimate.allocInit(40, 34);call #Ultimate.allocInit(3, 35);call write~init~int(112, 35, 0, 1);call write~init~int(103, 35, 1, 1);call write~init~int(0, 35, 2, 1);call #Ultimate.allocInit(5, 36);call write~init~int(112, 36, 0, 1);call write~init~int(103, 36, 1, 1);call write~init~int(37, 36, 2, 1);call write~init~int(117, 36, 3, 1);call write~init~int(0, 36, 4, 1);call #Ultimate.allocInit(3, 37);call write~init~int(112, 37, 0, 1);call write~init~int(103, 37, 1, 1);call write~init~int(0, 37, 2, 1);~ldv_state_variable_1~0 := 0;~ref_cnt~0 := 0;~ldv_state_variable_0~0 := 0;~verbose~0 := 0;~major~0 := 97;~name~0.base, ~name~0.offset := 3, 0;~disable~0 := 0;~#drive0~0.base, ~#drive0~0.offset := 38, 0;call #Ultimate.allocInit(24, 38);call write~init~int(0, ~#drive0~0.base, ~#drive0~0.offset, 4);call write~init~int(0, ~#drive0~0.base, 4 + ~#drive0~0.offset, 4);call write~init~int(0, ~#drive0~0.base, 8 + ~#drive0~0.offset, 4);call write~init~int(-1, ~#drive0~0.base, 12 + ~#drive0~0.offset, 4);call write~init~int(-1, ~#drive0~0.base, 16 + ~#drive0~0.offset, 4);call write~init~int(-1, ~#drive0~0.base, 20 + ~#drive0~0.offset, 4);~#drive1~0.base, ~#drive1~0.offset := 39, 0;call #Ultimate.allocInit(24, 39);call write~init~int(0, ~#drive1~0.base, ~#drive1~0.offset, 4);call write~init~int(0, ~#drive1~0.base, 4 + ~#drive1~0.offset, 4);call write~init~int(0, ~#drive1~0.base, 8 + ~#drive1~0.offset, 4);call write~init~int(-1, ~#drive1~0.base, 12 + ~#drive1~0.offset, 4);call write~init~int(-1, ~#drive1~0.base, 16 + ~#drive1~0.offset, 4);call write~init~int(-1, ~#drive1~0.base, 20 + ~#drive1~0.offset, 4);~#drive2~0.base, ~#drive2~0.offset := 40, 0;call #Ultimate.allocInit(24, 40);call write~init~int(0, ~#drive2~0.base, ~#drive2~0.offset, 4);call write~init~int(0, ~#drive2~0.base, 4 + ~#drive2~0.offset, 4);call write~init~int(0, ~#drive2~0.base, 8 + ~#drive2~0.offset, 4);call write~init~int(-1, ~#drive2~0.base, 12 + ~#drive2~0.offset, 4);call write~init~int(-1, ~#drive2~0.base, 16 + ~#drive2~0.offset, 4);call write~init~int(-1, ~#drive2~0.base, 20 + ~#drive2~0.offset, 4);~#drive3~0.base, ~#drive3~0.offset := 41, 0;call #Ultimate.allocInit(24, 41);call write~init~int(0, ~#drive3~0.base, ~#drive3~0.offset, 4);call write~init~int(0, ~#drive3~0.base, 4 + ~#drive3~0.offset, 4);call write~init~int(0, ~#drive3~0.base, 8 + ~#drive3~0.offset, 4);call write~init~int(-1, ~#drive3~0.base, 12 + ~#drive3~0.offset, 4);call write~init~int(-1, ~#drive3~0.base, 16 + ~#drive3~0.offset, 4);call write~init~int(-1, ~#drive3~0.base, 20 + ~#drive3~0.offset, 4);~#drives~0.base, ~#drives~0.offset := 42, 0;call #Ultimate.allocInit(32, 42);call write~init~$Pointer$(~#drive0~0.base, ~#drive0~0.offset, ~#drives~0.base, ~#drives~0.offset, 8);call write~init~$Pointer$(~#drive1~0.base, ~#drive1~0.offset, ~#drives~0.base, 8 + ~#drives~0.offset, 8);call write~init~$Pointer$(~#drive2~0.base, ~#drive2~0.offset, ~#drives~0.base, 16 + ~#drives~0.offset, 8);call write~init~$Pointer$(~#drive3~0.base, ~#drive3~0.offset, ~#drives~0.base, 24 + ~#drives~0.offset, 8);~pg_drive_count~0 := 0;~#pg_mutex~0.base, ~#pg_mutex~0.offset := 43, 0;call #Ultimate.allocInit(156, 43);call write~init~int(1, ~#pg_mutex~0.base, ~#pg_mutex~0.offset, 4);call write~init~int(0, ~#pg_mutex~0.base, 4 + ~#pg_mutex~0.offset, 4);call write~init~int(3735899821, ~#pg_mutex~0.base, 8 + ~#pg_mutex~0.offset, 4);call write~init~int(4294967295, ~#pg_mutex~0.base, 12 + ~#pg_mutex~0.offset, 4);call write~init~$Pointer$(0, -1, ~#pg_mutex~0.base, 16 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_mutex~0.base, 24 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_mutex~0.base, 32 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_mutex~0.base, 40 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(6, 0, ~#pg_mutex~0.base, 48 + ~#pg_mutex~0.offset, 8);call write~init~int(0, ~#pg_mutex~0.base, 56 + ~#pg_mutex~0.offset, 4);call write~init~int(0, ~#pg_mutex~0.base, 60 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(~#pg_mutex~0.base, 72 + ~#pg_mutex~0.offset, ~#pg_mutex~0.base, 72 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(~#pg_mutex~0.base, 72 + ~#pg_mutex~0.offset, ~#pg_mutex~0.base, 80 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_mutex~0.base, 88 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_mutex~0.base, 96 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(~#pg_mutex~0.base, ~#pg_mutex~0.offset, ~#pg_mutex~0.base, 104 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_mutex~0.base, 112 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_mutex~0.base, 120 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_mutex~0.base, 128 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(7, 0, ~#pg_mutex~0.base, 136 + ~#pg_mutex~0.offset, 8);call write~init~int(0, ~#pg_mutex~0.base, 144 + ~#pg_mutex~0.offset, 4);call write~init~int(0, ~#pg_mutex~0.base, 148 + ~#pg_mutex~0.offset, 8);~#devices~0.base, ~#devices~0.offset := 44, 0;call #Ultimate.allocInit(928, 44);#memory_$Pointer$.base, #memory_$Pointer$.offset := ~initToZeroAtPointerBaseAddress~$Pointer$.base(#memory_$Pointer$.base, #memory_$Pointer$.offset, ~#devices~0.base), ~initToZeroAtPointerBaseAddress~$Pointer$.offset(#memory_$Pointer$.base, #memory_$Pointer$.offset, ~#devices~0.base);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#devices~0.base);~#pg_scratch~0.base, ~#pg_scratch~0.offset := 45, 0;call #Ultimate.allocInit(512, 45);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#pg_scratch~0.base);~pg_class~0.base, ~pg_class~0.offset := 0, 0;~#pg_fops~0.base, ~#pg_fops~0.offset := 46, 0;call #Ultimate.allocInit(216, 46);call write~init~$Pointer$(~#__this_module~0.base, ~#__this_module~0.offset, ~#pg_fops~0.base, ~#pg_fops~0.offset, 8);call write~init~$Pointer$(#funAddr~noop_llseek.base, #funAddr~noop_llseek.offset, ~#pg_fops~0.base, 8 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(#funAddr~pg_read.base, #funAddr~pg_read.offset, ~#pg_fops~0.base, 16 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(#funAddr~pg_write.base, #funAddr~pg_write.offset, ~#pg_fops~0.base, 24 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 32 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 40 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 48 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 56 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 64 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 72 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 80 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(#funAddr~pg_open.base, #funAddr~pg_open.offset, ~#pg_fops~0.base, 88 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 96 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(#funAddr~pg_release.base, #funAddr~pg_release.offset, ~#pg_fops~0.base, 104 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 112 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 120 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 128 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 136 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 144 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 152 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 160 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 168 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 176 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 184 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 192 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 200 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 208 + ~#pg_fops~0.offset, 8);~pg_fops_group2~0.base, ~pg_fops_group2~0.offset := 0, 0;~ldvarg7~0 := 0;~ldvarg3~0 := 0;~ldvarg0~0 := 0;~ldvarg5~0.base, ~ldvarg5~0.offset := 0, 0;~ldvarg6~0.base, ~ldvarg6~0.offset := 0, 0;~ldvarg8~0.base, ~ldvarg8~0.offset := 0, 0;~ldvarg1~0 := 0;~ldv_retval_0~0 := 0;~ldvarg4~0.base, ~ldvarg4~0.offset := 0, 0;~ldv_retval_1~0 := 0;~pg_fops_group1~0.base, ~pg_fops_group1~0.offset := 0, 0;~ldvarg2~0.base, ~ldvarg2~0.offset := 0, 0;~ldv_mutex_cred_guard_mutex_of_signal_struct~0 := 0;~ldv_mutex_lock~0 := 0;~ldv_mutex_mutex_of_device~0 := 0;~ldv_mutex_pg_mutex~0 := 0; {9179#true} is VALID [2022-02-20 21:44:34,371 INFO L290 TraceCheckUtils]: 1: Hoare triple {9179#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet231#1, main_#t~switch232#1, main_#t~nondet233#1, main_#t~switch234#1, main_#t~ret235#1, main_#t~ret236#1, main_#t~ret237#1, main_#t~ret238#1, main_#t~ret239#1, main_#t~ret240#1, main_#t~nondet241#1, main_#t~switch242#1, main_#t~ret243#1, main_~tmp~17#1, main_~tmp___0~12#1, main_~tmp___1~11#1;havoc main_~tmp~17#1;havoc main_~tmp___0~12#1;havoc main_~tmp___1~11#1;assume { :begin_inline_ldv_initialize } true;~ldv_mutex_cred_guard_mutex_of_signal_struct~0 := 1;~ldv_mutex_lock~0 := 1;~ldv_mutex_mutex_of_device~0 := 1;~ldv_mutex_pg_mutex~0 := 1; {9179#true} is VALID [2022-02-20 21:44:34,372 INFO L290 TraceCheckUtils]: 2: Hoare triple {9179#true} assume { :end_inline_ldv_initialize } true;~ldv_state_variable_1~0 := 0;~ref_cnt~0 := 0;~ldv_state_variable_0~0 := 1; {9181#(= ~ldv_state_variable_0~0 1)} is VALID [2022-02-20 21:44:34,372 INFO L290 TraceCheckUtils]: 3: Hoare triple {9181#(= ~ldv_state_variable_0~0 1)} assume -2147483648 <= main_#t~nondet231#1 && main_#t~nondet231#1 <= 2147483647;main_~tmp~17#1 := main_#t~nondet231#1;havoc main_#t~nondet231#1;main_#t~switch232#1 := 0 == main_~tmp~17#1; {9181#(= ~ldv_state_variable_0~0 1)} is VALID [2022-02-20 21:44:34,373 INFO L290 TraceCheckUtils]: 4: Hoare triple {9181#(= ~ldv_state_variable_0~0 1)} assume !main_#t~switch232#1;main_#t~switch232#1 := main_#t~switch232#1 || 1 == main_~tmp~17#1; {9181#(= ~ldv_state_variable_0~0 1)} is VALID [2022-02-20 21:44:34,373 INFO L290 TraceCheckUtils]: 5: Hoare triple {9181#(= ~ldv_state_variable_0~0 1)} assume main_#t~switch232#1; {9181#(= ~ldv_state_variable_0~0 1)} is VALID [2022-02-20 21:44:34,374 INFO L290 TraceCheckUtils]: 6: Hoare triple {9181#(= ~ldv_state_variable_0~0 1)} assume 0 != ~ldv_state_variable_0~0;assume -2147483648 <= main_#t~nondet241#1 && main_#t~nondet241#1 <= 2147483647;main_~tmp___1~11#1 := main_#t~nondet241#1;havoc main_#t~nondet241#1;main_#t~switch242#1 := 0 == main_~tmp___1~11#1; {9181#(= ~ldv_state_variable_0~0 1)} is VALID [2022-02-20 21:44:34,374 INFO L290 TraceCheckUtils]: 7: Hoare triple {9181#(= ~ldv_state_variable_0~0 1)} assume main_#t~switch242#1; {9181#(= ~ldv_state_variable_0~0 1)} is VALID [2022-02-20 21:44:34,375 INFO L290 TraceCheckUtils]: 8: Hoare triple {9181#(= ~ldv_state_variable_0~0 1)} assume 3 == ~ldv_state_variable_0~0 && 0 == ~ref_cnt~0;assume { :begin_inline_pg_exit } true;havoc pg_exit_#t~mem228#1, pg_exit_#t~mem229#1, pg_exit_#t~mem230#1.base, pg_exit_#t~mem230#1.offset, pg_exit_~unit~4#1, pg_exit_~dev~7#1.base, pg_exit_~dev~7#1.offset, pg_exit_~dev___0~1#1.base, pg_exit_~dev___0~1#1.offset;havoc pg_exit_~unit~4#1;havoc pg_exit_~dev~7#1.base, pg_exit_~dev~7#1.offset;havoc pg_exit_~dev___0~1#1.base, pg_exit_~dev___0~1#1.offset;pg_exit_~unit~4#1 := 0; {9180#false} is VALID [2022-02-20 21:44:34,375 INFO L290 TraceCheckUtils]: 9: Hoare triple {9180#false} assume !(pg_exit_~unit~4#1 <= 3); {9180#false} is VALID [2022-02-20 21:44:34,375 INFO L290 TraceCheckUtils]: 10: Hoare triple {9180#false} assume { :begin_inline_class_destroy } true;class_destroy_#in~arg0#1.base, class_destroy_#in~arg0#1.offset := ~pg_class~0.base, ~pg_class~0.offset;havoc class_destroy_~arg0#1.base, class_destroy_~arg0#1.offset;class_destroy_~arg0#1.base, class_destroy_~arg0#1.offset := class_destroy_#in~arg0#1.base, class_destroy_#in~arg0#1.offset; {9180#false} is VALID [2022-02-20 21:44:34,376 INFO L290 TraceCheckUtils]: 11: Hoare triple {9180#false} assume { :end_inline_class_destroy } true; {9180#false} is VALID [2022-02-20 21:44:34,376 INFO L272 TraceCheckUtils]: 12: Hoare triple {9180#false} call ldv_unregister_chrdev_11(~major~0, ~name~0.base, ~name~0.offset); {9187#(= ~ldv_state_variable_1~0 |old(~ldv_state_variable_1~0)|)} is VALID [2022-02-20 21:44:34,376 INFO L290 TraceCheckUtils]: 13: Hoare triple {9187#(= ~ldv_state_variable_1~0 |old(~ldv_state_variable_1~0)|)} ~major___0#1 := #in~major___0#1;~name___0#1.base, ~name___0#1.offset := #in~name___0#1.base, #in~name___0#1.offset;assume { :begin_inline_unregister_chrdev } true;unregister_chrdev_#in~major___0#1, unregister_chrdev_#in~name___0#1.base, unregister_chrdev_#in~name___0#1.offset := ~major___0#1, ~name___0#1.base, ~name___0#1.offset;havoc unregister_chrdev_~major___0#1, unregister_chrdev_~name___0#1.base, unregister_chrdev_~name___0#1.offset;unregister_chrdev_~major___0#1 := unregister_chrdev_#in~major___0#1;unregister_chrdev_~name___0#1.base, unregister_chrdev_~name___0#1.offset := unregister_chrdev_#in~name___0#1.base, unregister_chrdev_#in~name___0#1.offset;assume { :begin_inline___unregister_chrdev } true;__unregister_chrdev_#in~arg0#1, __unregister_chrdev_#in~arg1#1, __unregister_chrdev_#in~arg2#1, __unregister_chrdev_#in~arg3#1.base, __unregister_chrdev_#in~arg3#1.offset := unregister_chrdev_~major___0#1, 0, 256, unregister_chrdev_~name___0#1.base, unregister_chrdev_~name___0#1.offset;havoc __unregister_chrdev_~arg0#1, __unregister_chrdev_~arg1#1, __unregister_chrdev_~arg2#1, __unregister_chrdev_~arg3#1.base, __unregister_chrdev_~arg3#1.offset;__unregister_chrdev_~arg0#1 := __unregister_chrdev_#in~arg0#1;__unregister_chrdev_~arg1#1 := __unregister_chrdev_#in~arg1#1;__unregister_chrdev_~arg2#1 := __unregister_chrdev_#in~arg2#1;__unregister_chrdev_~arg3#1.base, __unregister_chrdev_~arg3#1.offset := __unregister_chrdev_#in~arg3#1.base, __unregister_chrdev_#in~arg3#1.offset; {9179#true} is VALID [2022-02-20 21:44:34,376 INFO L290 TraceCheckUtils]: 14: Hoare triple {9179#true} assume { :end_inline___unregister_chrdev } true; {9179#true} is VALID [2022-02-20 21:44:34,377 INFO L290 TraceCheckUtils]: 15: Hoare triple {9179#true} assume { :end_inline_unregister_chrdev } true;~ldv_state_variable_1~0 := 0; {9179#true} is VALID [2022-02-20 21:44:34,377 INFO L290 TraceCheckUtils]: 16: Hoare triple {9179#true} assume true; {9179#true} is VALID [2022-02-20 21:44:34,377 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {9179#true} {9180#false} #1238#return; {9180#false} is VALID [2022-02-20 21:44:34,377 INFO L290 TraceCheckUtils]: 18: Hoare triple {9180#false} pg_exit_~unit~4#1 := 0; {9180#false} is VALID [2022-02-20 21:44:34,378 INFO L290 TraceCheckUtils]: 19: Hoare triple {9180#false} assume !(pg_exit_~unit~4#1 <= 3); {9180#false} is VALID [2022-02-20 21:44:34,378 INFO L290 TraceCheckUtils]: 20: Hoare triple {9180#false} assume { :end_inline_pg_exit } true;~ldv_state_variable_0~0 := 2; {9180#false} is VALID [2022-02-20 21:44:34,378 INFO L290 TraceCheckUtils]: 21: Hoare triple {9180#false} assume { :begin_inline_ldv_check_final_state } true; {9180#false} is VALID [2022-02-20 21:44:34,378 INFO L290 TraceCheckUtils]: 22: Hoare triple {9180#false} assume !(1 == ~ldv_mutex_cred_guard_mutex_of_signal_struct~0); {9180#false} is VALID [2022-02-20 21:44:34,379 INFO L272 TraceCheckUtils]: 23: Hoare triple {9180#false} call ldv_error(); {9180#false} is VALID [2022-02-20 21:44:34,379 INFO L290 TraceCheckUtils]: 24: Hoare triple {9180#false} assume !false; {9180#false} is VALID [2022-02-20 21:44:34,379 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 21:44:34,380 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 21:44:34,380 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1793239945] [2022-02-20 21:44:34,380 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1793239945] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 21:44:34,380 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 21:44:34,380 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-02-20 21:44:34,381 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1477265759] [2022-02-20 21:44:34,381 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 21:44:34,381 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 5.5) internal successors, (22), 3 states have internal predecessors, (22), 1 states have call successors, (2), 2 states have call predecessors, (2), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 25 [2022-02-20 21:44:34,382 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 21:44:34,382 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 5.5) internal successors, (22), 3 states have internal predecessors, (22), 1 states have call successors, (2), 2 states have call predecessors, (2), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 21:44:34,412 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 25 edges. 25 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 21:44:34,412 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-02-20 21:44:34,412 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 21:44:34,413 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-02-20 21:44:34,413 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-02-20 21:44:34,413 INFO L87 Difference]: Start difference. First operand 720 states and 984 transitions. Second operand has 4 states, 4 states have (on average 5.5) internal successors, (22), 3 states have internal predecessors, (22), 1 states have call successors, (2), 2 states have call predecessors, (2), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 21:44:43,000 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 21:44:43,000 INFO L93 Difference]: Finished difference Result 1809 states and 2476 transitions. [2022-02-20 21:44:43,001 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 21:44:43,001 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 5.5) internal successors, (22), 3 states have internal predecessors, (22), 1 states have call successors, (2), 2 states have call predecessors, (2), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 25 [2022-02-20 21:44:43,001 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 21:44:43,001 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 5.5) internal successors, (22), 3 states have internal predecessors, (22), 1 states have call successors, (2), 2 states have call predecessors, (2), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 21:44:43,023 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 1760 transitions. [2022-02-20 21:44:43,024 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 5.5) internal successors, (22), 3 states have internal predecessors, (22), 1 states have call successors, (2), 2 states have call predecessors, (2), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 21:44:43,046 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 1760 transitions. [2022-02-20 21:44:43,046 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 1760 transitions. [2022-02-20 21:44:44,515 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 1760 edges. 1760 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 21:44:44,593 INFO L225 Difference]: With dead ends: 1809 [2022-02-20 21:44:44,594 INFO L226 Difference]: Without dead ends: 1092 [2022-02-20 21:44:44,596 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 7 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=9, Invalid=11, Unknown=0, NotChecked=0, Total=20 [2022-02-20 21:44:44,599 INFO L933 BasicCegarLoop]: 928 mSDtfsCounter, 767 mSDsluCounter, 444 mSDsCounter, 0 mSdLazyCounter, 548 mSolverCounterSat, 263 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 840 SdHoareTripleChecker+Valid, 1372 SdHoareTripleChecker+Invalid, 811 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 263 IncrementalHoareTripleChecker+Valid, 548 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.2s IncrementalHoareTripleChecker+Time [2022-02-20 21:44:44,601 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [840 Valid, 1372 Invalid, 811 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [263 Valid, 548 Invalid, 0 Unknown, 0 Unchecked, 1.2s Time] [2022-02-20 21:44:44,603 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1092 states. [2022-02-20 21:44:44,642 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1092 to 1088. [2022-02-20 21:44:44,642 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 21:44:44,646 INFO L82 GeneralOperation]: Start isEquivalent. First operand 1092 states. Second operand has 1088 states, 813 states have (on average 1.3456334563345633) internal successors, (1094), 825 states have internal predecessors, (1094), 199 states have call successors, (199), 76 states have call predecessors, (199), 75 states have return successors, (193), 193 states have call predecessors, (193), 193 states have call successors, (193) [2022-02-20 21:44:44,648 INFO L74 IsIncluded]: Start isIncluded. First operand 1092 states. Second operand has 1088 states, 813 states have (on average 1.3456334563345633) internal successors, (1094), 825 states have internal predecessors, (1094), 199 states have call successors, (199), 76 states have call predecessors, (199), 75 states have return successors, (193), 193 states have call predecessors, (193), 193 states have call successors, (193) [2022-02-20 21:44:44,651 INFO L87 Difference]: Start difference. First operand 1092 states. Second operand has 1088 states, 813 states have (on average 1.3456334563345633) internal successors, (1094), 825 states have internal predecessors, (1094), 199 states have call successors, (199), 76 states have call predecessors, (199), 75 states have return successors, (193), 193 states have call predecessors, (193), 193 states have call successors, (193) [2022-02-20 21:44:44,714 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 21:44:44,715 INFO L93 Difference]: Finished difference Result 1092 states and 1489 transitions. [2022-02-20 21:44:44,715 INFO L276 IsEmpty]: Start isEmpty. Operand 1092 states and 1489 transitions. [2022-02-20 21:44:44,719 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 21:44:44,720 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 21:44:44,723 INFO L74 IsIncluded]: Start isIncluded. First operand has 1088 states, 813 states have (on average 1.3456334563345633) internal successors, (1094), 825 states have internal predecessors, (1094), 199 states have call successors, (199), 76 states have call predecessors, (199), 75 states have return successors, (193), 193 states have call predecessors, (193), 193 states have call successors, (193) Second operand 1092 states. [2022-02-20 21:44:44,726 INFO L87 Difference]: Start difference. First operand has 1088 states, 813 states have (on average 1.3456334563345633) internal successors, (1094), 825 states have internal predecessors, (1094), 199 states have call successors, (199), 76 states have call predecessors, (199), 75 states have return successors, (193), 193 states have call predecessors, (193), 193 states have call successors, (193) Second operand 1092 states. [2022-02-20 21:44:44,792 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 21:44:44,792 INFO L93 Difference]: Finished difference Result 1092 states and 1489 transitions. [2022-02-20 21:44:44,792 INFO L276 IsEmpty]: Start isEmpty. Operand 1092 states and 1489 transitions. [2022-02-20 21:44:44,796 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 21:44:44,796 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 21:44:44,796 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 21:44:44,796 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 21:44:44,800 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 1088 states, 813 states have (on average 1.3456334563345633) internal successors, (1094), 825 states have internal predecessors, (1094), 199 states have call successors, (199), 76 states have call predecessors, (199), 75 states have return successors, (193), 193 states have call predecessors, (193), 193 states have call successors, (193) [2022-02-20 21:44:44,884 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 1088 states to 1088 states and 1486 transitions. [2022-02-20 21:44:44,885 INFO L78 Accepts]: Start accepts. Automaton has 1088 states and 1486 transitions. Word has length 25 [2022-02-20 21:44:44,886 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 21:44:44,887 INFO L470 AbstractCegarLoop]: Abstraction has 1088 states and 1486 transitions. [2022-02-20 21:44:44,887 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 5.5) internal successors, (22), 3 states have internal predecessors, (22), 1 states have call successors, (2), 2 states have call predecessors, (2), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 21:44:44,888 INFO L276 IsEmpty]: Start isEmpty. Operand 1088 states and 1486 transitions. [2022-02-20 21:44:44,888 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 26 [2022-02-20 21:44:44,888 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 21:44:44,888 INFO L514 BasicCegarLoop]: trace histogram [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-02-20 21:44:44,889 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2022-02-20 21:44:44,889 INFO L402 AbstractCegarLoop]: === Iteration 4 === Targeting ldv_errorErr0ASSERT_VIOLATIONERROR_FUNCTION === [ldv_errorErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 21:44:44,890 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 21:44:44,890 INFO L85 PathProgramCache]: Analyzing trace with hash -1855712426, now seen corresponding path program 1 times [2022-02-20 21:44:44,891 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 21:44:44,891 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [628794210] [2022-02-20 21:44:44,891 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 21:44:44,891 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 21:44:44,931 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:44:44,974 INFO L290 TraceCheckUtils]: 0: Hoare triple {15414#true} assume { :begin_inline_ULTIMATE.init } 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(72, 2);call #Ultimate.allocInit(3, 3);call write~init~int(112, 3, 0, 1);call write~init~int(103, 3, 1, 1);call write~init~int(0, 3, 2, 1);call #Ultimate.allocInit(124, 4);call #Ultimate.allocInit(27, 5);call #Ultimate.allocInit(19, 6);call #Ultimate.allocInit(9, 7);call #Ultimate.allocInit(5, 8);call write~init~int(37, 8, 0, 1);call write~init~int(115, 8, 1, 1);call write~init~int(37, 8, 2, 1);call write~init~int(99, 8, 3, 1);call write~init~int(0, 8, 4, 1);call #Ultimate.allocInit(9, 9);call #Ultimate.allocInit(1, 10);call write~init~int(0, 10, 0, 1);call #Ultimate.allocInit(39, 11);call #Ultimate.allocInit(15, 12);call #Ultimate.allocInit(12, 13);call #Ultimate.allocInit(25, 14);call #Ultimate.allocInit(35, 15);call #Ultimate.allocInit(6, 16);call write~init~int(37, 16, 0, 1);call write~init~int(48, 16, 1, 1);call write~init~int(50, 16, 2, 1);call write~init~int(120, 16, 3, 1);call write~init~int(32, 16, 4, 1);call write~init~int(0, 16, 5, 1);call #Ultimate.allocInit(2, 17);call write~init~int(10, 17, 0, 1);call write~init~int(0, 17, 1, 1);call #Ultimate.allocInit(11, 18);call #Ultimate.allocInit(5, 19);call write~init~int(82, 19, 0, 1);call write~init~int(101, 19, 1, 1);call write~init~int(97, 19, 2, 1);call write~init~int(100, 19, 3, 1);call write~init~int(0, 19, 4, 1);call #Ultimate.allocInit(6, 20);call write~init~int(87, 20, 0, 1);call write~init~int(114, 20, 1, 1);call write~init~int(105, 20, 2, 1);call write~init~int(116, 20, 3, 1);call write~init~int(101, 20, 4, 1);call write~init~int(0, 20, 5, 1);call #Ultimate.allocInit(17, 21);call #Ultimate.allocInit(11, 22);call #Ultimate.allocInit(28, 23);call #Ultimate.allocInit(4, 24);call write~init~int(37, 24, 0, 1);call write~init~int(51, 24, 1, 1);call write~init~int(120, 24, 2, 1);call write~init~int(0, 24, 3, 1);call #Ultimate.allocInit(13, 25);call #Ultimate.allocInit(2, 26);call write~init~int(10, 26, 0, 1);call write~init~int(0, 26, 1, 1);call #Ultimate.allocInit(7, 27);call write~init~int(109, 27, 0, 1);call write~init~int(97, 27, 1, 1);call write~init~int(115, 27, 2, 1);call write~init~int(116, 27, 3, 1);call write~init~int(101, 27, 4, 1);call write~init~int(114, 27, 5, 1);call write~init~int(0, 27, 6, 1);call #Ultimate.allocInit(6, 28);call write~init~int(115, 28, 0, 1);call write~init~int(108, 28, 1, 1);call write~init~int(97, 28, 2, 1);call write~init~int(118, 28, 3, 1);call write~init~int(101, 28, 4, 1);call write~init~int(0, 28, 5, 1);call #Ultimate.allocInit(15, 29);call #Ultimate.allocInit(29, 30);call #Ultimate.allocInit(5, 31);call write~init~int(49, 31, 0, 1);call write~init~int(46, 31, 1, 1);call write~init~int(48, 31, 2, 1);call write~init~int(50, 31, 3, 1);call write~init~int(0, 31, 4, 1);call #Ultimate.allocInit(30, 32);call #Ultimate.allocInit(30, 33);call #Ultimate.allocInit(40, 34);call #Ultimate.allocInit(3, 35);call write~init~int(112, 35, 0, 1);call write~init~int(103, 35, 1, 1);call write~init~int(0, 35, 2, 1);call #Ultimate.allocInit(5, 36);call write~init~int(112, 36, 0, 1);call write~init~int(103, 36, 1, 1);call write~init~int(37, 36, 2, 1);call write~init~int(117, 36, 3, 1);call write~init~int(0, 36, 4, 1);call #Ultimate.allocInit(3, 37);call write~init~int(112, 37, 0, 1);call write~init~int(103, 37, 1, 1);call write~init~int(0, 37, 2, 1);~ldv_state_variable_1~0 := 0;~ref_cnt~0 := 0;~ldv_state_variable_0~0 := 0;~verbose~0 := 0;~major~0 := 97;~name~0.base, ~name~0.offset := 3, 0;~disable~0 := 0;~#drive0~0.base, ~#drive0~0.offset := 38, 0;call #Ultimate.allocInit(24, 38);call write~init~int(0, ~#drive0~0.base, ~#drive0~0.offset, 4);call write~init~int(0, ~#drive0~0.base, 4 + ~#drive0~0.offset, 4);call write~init~int(0, ~#drive0~0.base, 8 + ~#drive0~0.offset, 4);call write~init~int(-1, ~#drive0~0.base, 12 + ~#drive0~0.offset, 4);call write~init~int(-1, ~#drive0~0.base, 16 + ~#drive0~0.offset, 4);call write~init~int(-1, ~#drive0~0.base, 20 + ~#drive0~0.offset, 4);~#drive1~0.base, ~#drive1~0.offset := 39, 0;call #Ultimate.allocInit(24, 39);call write~init~int(0, ~#drive1~0.base, ~#drive1~0.offset, 4);call write~init~int(0, ~#drive1~0.base, 4 + ~#drive1~0.offset, 4);call write~init~int(0, ~#drive1~0.base, 8 + ~#drive1~0.offset, 4);call write~init~int(-1, ~#drive1~0.base, 12 + ~#drive1~0.offset, 4);call write~init~int(-1, ~#drive1~0.base, 16 + ~#drive1~0.offset, 4);call write~init~int(-1, ~#drive1~0.base, 20 + ~#drive1~0.offset, 4);~#drive2~0.base, ~#drive2~0.offset := 40, 0;call #Ultimate.allocInit(24, 40);call write~init~int(0, ~#drive2~0.base, ~#drive2~0.offset, 4);call write~init~int(0, ~#drive2~0.base, 4 + ~#drive2~0.offset, 4);call write~init~int(0, ~#drive2~0.base, 8 + ~#drive2~0.offset, 4);call write~init~int(-1, ~#drive2~0.base, 12 + ~#drive2~0.offset, 4);call write~init~int(-1, ~#drive2~0.base, 16 + ~#drive2~0.offset, 4);call write~init~int(-1, ~#drive2~0.base, 20 + ~#drive2~0.offset, 4);~#drive3~0.base, ~#drive3~0.offset := 41, 0;call #Ultimate.allocInit(24, 41);call write~init~int(0, ~#drive3~0.base, ~#drive3~0.offset, 4);call write~init~int(0, ~#drive3~0.base, 4 + ~#drive3~0.offset, 4);call write~init~int(0, ~#drive3~0.base, 8 + ~#drive3~0.offset, 4);call write~init~int(-1, ~#drive3~0.base, 12 + ~#drive3~0.offset, 4);call write~init~int(-1, ~#drive3~0.base, 16 + ~#drive3~0.offset, 4);call write~init~int(-1, ~#drive3~0.base, 20 + ~#drive3~0.offset, 4);~#drives~0.base, ~#drives~0.offset := 42, 0;call #Ultimate.allocInit(32, 42);call write~init~$Pointer$(~#drive0~0.base, ~#drive0~0.offset, ~#drives~0.base, ~#drives~0.offset, 8);call write~init~$Pointer$(~#drive1~0.base, ~#drive1~0.offset, ~#drives~0.base, 8 + ~#drives~0.offset, 8);call write~init~$Pointer$(~#drive2~0.base, ~#drive2~0.offset, ~#drives~0.base, 16 + ~#drives~0.offset, 8);call write~init~$Pointer$(~#drive3~0.base, ~#drive3~0.offset, ~#drives~0.base, 24 + ~#drives~0.offset, 8);~pg_drive_count~0 := 0;~#pg_mutex~0.base, ~#pg_mutex~0.offset := 43, 0;call #Ultimate.allocInit(156, 43);call write~init~int(1, ~#pg_mutex~0.base, ~#pg_mutex~0.offset, 4);call write~init~int(0, ~#pg_mutex~0.base, 4 + ~#pg_mutex~0.offset, 4);call write~init~int(3735899821, ~#pg_mutex~0.base, 8 + ~#pg_mutex~0.offset, 4);call write~init~int(4294967295, ~#pg_mutex~0.base, 12 + ~#pg_mutex~0.offset, 4);call write~init~$Pointer$(0, -1, ~#pg_mutex~0.base, 16 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_mutex~0.base, 24 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_mutex~0.base, 32 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_mutex~0.base, 40 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(6, 0, ~#pg_mutex~0.base, 48 + ~#pg_mutex~0.offset, 8);call write~init~int(0, ~#pg_mutex~0.base, 56 + ~#pg_mutex~0.offset, 4);call write~init~int(0, ~#pg_mutex~0.base, 60 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(~#pg_mutex~0.base, 72 + ~#pg_mutex~0.offset, ~#pg_mutex~0.base, 72 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(~#pg_mutex~0.base, 72 + ~#pg_mutex~0.offset, ~#pg_mutex~0.base, 80 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_mutex~0.base, 88 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_mutex~0.base, 96 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(~#pg_mutex~0.base, ~#pg_mutex~0.offset, ~#pg_mutex~0.base, 104 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_mutex~0.base, 112 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_mutex~0.base, 120 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_mutex~0.base, 128 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(7, 0, ~#pg_mutex~0.base, 136 + ~#pg_mutex~0.offset, 8);call write~init~int(0, ~#pg_mutex~0.base, 144 + ~#pg_mutex~0.offset, 4);call write~init~int(0, ~#pg_mutex~0.base, 148 + ~#pg_mutex~0.offset, 8);~#devices~0.base, ~#devices~0.offset := 44, 0;call #Ultimate.allocInit(928, 44);#memory_$Pointer$.base, #memory_$Pointer$.offset := ~initToZeroAtPointerBaseAddress~$Pointer$.base(#memory_$Pointer$.base, #memory_$Pointer$.offset, ~#devices~0.base), ~initToZeroAtPointerBaseAddress~$Pointer$.offset(#memory_$Pointer$.base, #memory_$Pointer$.offset, ~#devices~0.base);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#devices~0.base);~#pg_scratch~0.base, ~#pg_scratch~0.offset := 45, 0;call #Ultimate.allocInit(512, 45);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#pg_scratch~0.base);~pg_class~0.base, ~pg_class~0.offset := 0, 0;~#pg_fops~0.base, ~#pg_fops~0.offset := 46, 0;call #Ultimate.allocInit(216, 46);call write~init~$Pointer$(~#__this_module~0.base, ~#__this_module~0.offset, ~#pg_fops~0.base, ~#pg_fops~0.offset, 8);call write~init~$Pointer$(#funAddr~noop_llseek.base, #funAddr~noop_llseek.offset, ~#pg_fops~0.base, 8 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(#funAddr~pg_read.base, #funAddr~pg_read.offset, ~#pg_fops~0.base, 16 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(#funAddr~pg_write.base, #funAddr~pg_write.offset, ~#pg_fops~0.base, 24 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 32 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 40 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 48 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 56 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 64 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 72 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 80 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(#funAddr~pg_open.base, #funAddr~pg_open.offset, ~#pg_fops~0.base, 88 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 96 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(#funAddr~pg_release.base, #funAddr~pg_release.offset, ~#pg_fops~0.base, 104 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 112 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 120 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 128 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 136 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 144 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 152 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 160 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 168 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 176 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 184 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 192 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 200 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 208 + ~#pg_fops~0.offset, 8);~pg_fops_group2~0.base, ~pg_fops_group2~0.offset := 0, 0;~ldvarg7~0 := 0;~ldvarg3~0 := 0;~ldvarg0~0 := 0;~ldvarg5~0.base, ~ldvarg5~0.offset := 0, 0;~ldvarg6~0.base, ~ldvarg6~0.offset := 0, 0;~ldvarg8~0.base, ~ldvarg8~0.offset := 0, 0;~ldvarg1~0 := 0;~ldv_retval_0~0 := 0;~ldvarg4~0.base, ~ldvarg4~0.offset := 0, 0;~ldv_retval_1~0 := 0;~pg_fops_group1~0.base, ~pg_fops_group1~0.offset := 0, 0;~ldvarg2~0.base, ~ldvarg2~0.offset := 0, 0;~ldv_mutex_cred_guard_mutex_of_signal_struct~0 := 0;~ldv_mutex_lock~0 := 0;~ldv_mutex_mutex_of_device~0 := 0;~ldv_mutex_pg_mutex~0 := 0; {15414#true} is VALID [2022-02-20 21:44:44,974 INFO L290 TraceCheckUtils]: 1: Hoare triple {15414#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet231#1, main_#t~switch232#1, main_#t~nondet233#1, main_#t~switch234#1, main_#t~ret235#1, main_#t~ret236#1, main_#t~ret237#1, main_#t~ret238#1, main_#t~ret239#1, main_#t~ret240#1, main_#t~nondet241#1, main_#t~switch242#1, main_#t~ret243#1, main_~tmp~17#1, main_~tmp___0~12#1, main_~tmp___1~11#1;havoc main_~tmp~17#1;havoc main_~tmp___0~12#1;havoc main_~tmp___1~11#1;assume { :begin_inline_ldv_initialize } true;~ldv_mutex_cred_guard_mutex_of_signal_struct~0 := 1;~ldv_mutex_lock~0 := 1;~ldv_mutex_mutex_of_device~0 := 1;~ldv_mutex_pg_mutex~0 := 1; {15414#true} is VALID [2022-02-20 21:44:44,974 INFO L290 TraceCheckUtils]: 2: Hoare triple {15414#true} assume { :end_inline_ldv_initialize } true;~ldv_state_variable_1~0 := 0;~ref_cnt~0 := 0;~ldv_state_variable_0~0 := 1; {15414#true} is VALID [2022-02-20 21:44:44,975 INFO L290 TraceCheckUtils]: 3: Hoare triple {15414#true} assume -2147483648 <= main_#t~nondet231#1 && main_#t~nondet231#1 <= 2147483647;main_~tmp~17#1 := main_#t~nondet231#1;havoc main_#t~nondet231#1;main_#t~switch232#1 := 0 == main_~tmp~17#1; {15414#true} is VALID [2022-02-20 21:44:44,975 INFO L290 TraceCheckUtils]: 4: Hoare triple {15414#true} assume !main_#t~switch232#1;main_#t~switch232#1 := main_#t~switch232#1 || 1 == main_~tmp~17#1; {15414#true} is VALID [2022-02-20 21:44:44,978 INFO L290 TraceCheckUtils]: 5: Hoare triple {15414#true} assume main_#t~switch232#1; {15414#true} is VALID [2022-02-20 21:44:44,978 INFO L290 TraceCheckUtils]: 6: Hoare triple {15414#true} assume 0 != ~ldv_state_variable_0~0;assume -2147483648 <= main_#t~nondet241#1 && main_#t~nondet241#1 <= 2147483647;main_~tmp___1~11#1 := main_#t~nondet241#1;havoc main_#t~nondet241#1;main_#t~switch242#1 := 0 == main_~tmp___1~11#1; {15414#true} is VALID [2022-02-20 21:44:44,978 INFO L290 TraceCheckUtils]: 7: Hoare triple {15414#true} assume !main_#t~switch242#1;main_#t~switch242#1 := main_#t~switch242#1 || 1 == main_~tmp___1~11#1; {15414#true} is VALID [2022-02-20 21:44:44,978 INFO L290 TraceCheckUtils]: 8: Hoare triple {15414#true} assume main_#t~switch242#1; {15414#true} is VALID [2022-02-20 21:44:44,979 INFO L290 TraceCheckUtils]: 9: Hoare triple {15414#true} assume 1 == ~ldv_state_variable_0~0;assume { :begin_inline_pg_init } true;havoc pg_init_#res#1;havoc pg_init_#t~ret218#1, pg_init_#t~ret219#1, pg_init_#t~nondet220#1, pg_init_#t~mem221#1, pg_init_#t~mem222#1.base, pg_init_#t~mem222#1.offset, pg_init_#t~ret223#1.base, pg_init_#t~ret223#1.offset, pg_init_#t~ret224#1, pg_init_#t~ret225#1, pg_init_#t~mem226#1, pg_init_#t~nondet227#1.base, pg_init_#t~nondet227#1.offset, pg_init_~unit~3#1, pg_init_~err~1#1, pg_init_~tmp~16#1, pg_init_~dev~6#1.base, pg_init_~dev~6#1.offset, pg_init_~#__key~0#1.base, pg_init_~#__key~0#1.offset, pg_init_~tmp___0~11#1.base, pg_init_~tmp___0~11#1.offset, pg_init_~tmp___1~10#1, pg_init_~tmp___2~7#1, pg_init_~dev___0~0#1.base, pg_init_~dev___0~0#1.offset;havoc pg_init_~unit~3#1;havoc pg_init_~err~1#1;havoc pg_init_~tmp~16#1;havoc pg_init_~dev~6#1.base, pg_init_~dev~6#1.offset;call pg_init_~#__key~0#1.base, pg_init_~#__key~0#1.offset := #Ultimate.allocOnStack(8);havoc pg_init_~tmp___0~11#1.base, pg_init_~tmp___0~11#1.offset;havoc pg_init_~tmp___1~10#1;havoc pg_init_~tmp___2~7#1;havoc pg_init_~dev___0~0#1.base, pg_init_~dev___0~0#1.offset; {15414#true} is VALID [2022-02-20 21:44:44,980 INFO L290 TraceCheckUtils]: 10: Hoare triple {15414#true} assume !(0 != ~disable~0);assume { :begin_inline_pg_init_units } true;havoc pg_init_units_#t~mem92#1.base, pg_init_units_#t~mem92#1.offset, pg_init_units_#t~mem93#1, pg_init_units_#t~nondet94#1, pg_init_units_#t~mem95#1, pg_init_units_~unit~0#1, pg_init_units_~parm~0#1.base, pg_init_units_~parm~0#1.offset, pg_init_units_~dev~0#1.base, pg_init_units_~dev~0#1.offset;havoc pg_init_units_~unit~0#1;havoc pg_init_units_~parm~0#1.base, pg_init_units_~parm~0#1.offset;havoc pg_init_units_~dev~0#1.base, pg_init_units_~dev~0#1.offset;~pg_drive_count~0 := 0;pg_init_units_~unit~0#1 := 0; {15416#(= |ULTIMATE.start_pg_init_units_~unit~0#1| 0)} is VALID [2022-02-20 21:44:44,980 INFO L290 TraceCheckUtils]: 11: Hoare triple {15416#(= |ULTIMATE.start_pg_init_units_~unit~0#1| 0)} assume !(pg_init_units_~unit~0#1 <= 3); {15415#false} is VALID [2022-02-20 21:44:44,981 INFO L290 TraceCheckUtils]: 12: Hoare triple {15415#false} assume { :end_inline_pg_init_units } true;assume { :begin_inline_pg_detect } true;havoc pg_detect_#res#1;havoc pg_detect_#t~nondet158#1, pg_detect_#t~mem159#1.base, pg_detect_#t~mem159#1.offset, pg_detect_#t~ret160#1, pg_detect_#t~ret161#1, pg_detect_#t~mem162#1.base, pg_detect_#t~mem162#1.offset, pg_detect_#t~mem163#1.base, pg_detect_#t~mem163#1.offset, pg_detect_#t~mem164#1, pg_detect_#t~mem165#1.base, pg_detect_#t~mem165#1.offset, pg_detect_#t~mem166#1, pg_detect_#t~mem167#1, pg_detect_#t~mem168#1, pg_detect_#t~mem169#1, pg_detect_#t~mem170#1, pg_detect_#t~ret171#1, pg_detect_#t~ret172#1, pg_detect_#t~mem173#1.base, pg_detect_#t~mem173#1.offset, pg_detect_#t~nondet174#1, pg_detect_~dev~1#1.base, pg_detect_~dev~1#1.offset, pg_detect_~k~3#1, pg_detect_~unit~1#1, pg_detect_~tmp~12#1, pg_detect_~parm~1#1.base, pg_detect_~parm~1#1.offset, pg_detect_~tmp___0~7#1, pg_detect_~tmp___1~6#1, pg_detect_~tmp___2~5#1;havoc pg_detect_~dev~1#1.base, pg_detect_~dev~1#1.offset;havoc pg_detect_~k~3#1;havoc pg_detect_~unit~1#1;havoc pg_detect_~tmp~12#1;havoc pg_detect_~parm~1#1.base, pg_detect_~parm~1#1.offset;havoc pg_detect_~tmp___0~7#1;havoc pg_detect_~tmp___1~6#1;havoc pg_detect_~tmp___2~5#1;pg_detect_~dev~1#1.base, pg_detect_~dev~1#1.offset := ~#devices~0.base, ~#devices~0.offset;havoc pg_detect_#t~nondet158#1;pg_detect_~k~3#1 := 0; {15415#false} is VALID [2022-02-20 21:44:44,981 INFO L290 TraceCheckUtils]: 13: Hoare triple {15415#false} assume !(0 == ~pg_drive_count~0); {15415#false} is VALID [2022-02-20 21:44:44,981 INFO L290 TraceCheckUtils]: 14: Hoare triple {15415#false} assume 0 != pg_detect_~k~3#1;pg_detect_#res#1 := 0; {15415#false} is VALID [2022-02-20 21:44:44,981 INFO L290 TraceCheckUtils]: 15: Hoare triple {15415#false} pg_init_#t~ret218#1 := pg_detect_#res#1;assume { :end_inline_pg_detect } true;assume -2147483648 <= pg_init_#t~ret218#1 && pg_init_#t~ret218#1 <= 2147483647;pg_init_~tmp~16#1 := pg_init_#t~ret218#1;havoc pg_init_#t~ret218#1; {15415#false} is VALID [2022-02-20 21:44:44,982 INFO L290 TraceCheckUtils]: 16: Hoare triple {15415#false} assume 0 != pg_init_~tmp~16#1;pg_init_~err~1#1 := -19; {15415#false} is VALID [2022-02-20 21:44:44,982 INFO L290 TraceCheckUtils]: 17: Hoare triple {15415#false} pg_init_#res#1 := pg_init_~err~1#1;call ULTIMATE.dealloc(pg_init_~#__key~0#1.base, pg_init_~#__key~0#1.offset);havoc pg_init_~#__key~0#1.base, pg_init_~#__key~0#1.offset; {15415#false} is VALID [2022-02-20 21:44:44,982 INFO L290 TraceCheckUtils]: 18: Hoare triple {15415#false} main_#t~ret243#1 := pg_init_#res#1;assume { :end_inline_pg_init } true;assume -2147483648 <= main_#t~ret243#1 && main_#t~ret243#1 <= 2147483647;~ldv_retval_1~0 := main_#t~ret243#1;havoc main_#t~ret243#1; {15415#false} is VALID [2022-02-20 21:44:44,983 INFO L290 TraceCheckUtils]: 19: Hoare triple {15415#false} assume 0 == ~ldv_retval_1~0;~ldv_state_variable_0~0 := 3; {15415#false} is VALID [2022-02-20 21:44:44,984 INFO L290 TraceCheckUtils]: 20: Hoare triple {15415#false} assume 0 != ~ldv_retval_1~0;~ldv_state_variable_0~0 := 2; {15415#false} is VALID [2022-02-20 21:44:44,984 INFO L290 TraceCheckUtils]: 21: Hoare triple {15415#false} assume { :begin_inline_ldv_check_final_state } true; {15415#false} is VALID [2022-02-20 21:44:44,984 INFO L290 TraceCheckUtils]: 22: Hoare triple {15415#false} assume !(1 == ~ldv_mutex_cred_guard_mutex_of_signal_struct~0); {15415#false} is VALID [2022-02-20 21:44:44,984 INFO L272 TraceCheckUtils]: 23: Hoare triple {15415#false} call ldv_error(); {15415#false} is VALID [2022-02-20 21:44:44,984 INFO L290 TraceCheckUtils]: 24: Hoare triple {15415#false} assume !false; {15415#false} is VALID [2022-02-20 21:44:44,985 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 21:44:44,985 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 21:44:44,985 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [628794210] [2022-02-20 21:44:44,985 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [628794210] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 21:44:44,985 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 21:44:44,986 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-02-20 21:44:44,986 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1884356653] [2022-02-20 21:44:44,986 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 21:44:44,987 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 8.0) internal successors, (24), 3 states have internal predecessors, (24), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 25 [2022-02-20 21:44:44,987 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 21:44:44,987 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 8.0) internal successors, (24), 3 states have internal predecessors, (24), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 21:44:45,047 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 25 edges. 25 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 21:44:45,047 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-02-20 21:44:45,049 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 21:44:45,050 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-02-20 21:44:45,050 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-20 21:44:45,051 INFO L87 Difference]: Start difference. First operand 1088 states and 1486 transitions. Second operand has 3 states, 3 states have (on average 8.0) internal successors, (24), 3 states have internal predecessors, (24), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 21:44:51,082 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 21:44:51,082 INFO L93 Difference]: Finished difference Result 2185 states and 2987 transitions. [2022-02-20 21:44:51,082 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-02-20 21:44:51,083 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 8.0) internal successors, (24), 3 states have internal predecessors, (24), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 25 [2022-02-20 21:44:51,083 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 21:44:51,083 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 8.0) internal successors, (24), 3 states have internal predecessors, (24), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 21:44:51,099 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 1282 transitions. [2022-02-20 21:44:51,100 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 8.0) internal successors, (24), 3 states have internal predecessors, (24), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 21:44:51,146 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 1282 transitions. [2022-02-20 21:44:51,146 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 1282 transitions. [2022-02-20 21:44:52,106 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 1282 edges. 1282 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 21:44:52,190 INFO L225 Difference]: With dead ends: 2185 [2022-02-20 21:44:52,190 INFO L226 Difference]: Without dead ends: 1100 [2022-02-20 21:44:52,194 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 3 GetRequests, 2 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-02-20 21:44:52,194 INFO L933 BasicCegarLoop]: 636 mSDtfsCounter, 5 mSDsluCounter, 633 mSDsCounter, 0 mSdLazyCounter, 7 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 6 SdHoareTripleChecker+Valid, 1269 SdHoareTripleChecker+Invalid, 7 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 7 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 21:44:52,195 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [6 Valid, 1269 Invalid, 7 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 7 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 21:44:52,196 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1100 states. [2022-02-20 21:44:52,225 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1100 to 1090. [2022-02-20 21:44:52,226 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 21:44:52,229 INFO L82 GeneralOperation]: Start isEquivalent. First operand 1100 states. Second operand has 1090 states, 815 states have (on average 1.3447852760736196) internal successors, (1096), 827 states have internal predecessors, (1096), 199 states have call successors, (199), 76 states have call predecessors, (199), 75 states have return successors, (193), 193 states have call predecessors, (193), 193 states have call successors, (193) [2022-02-20 21:44:52,232 INFO L74 IsIncluded]: Start isIncluded. First operand 1100 states. Second operand has 1090 states, 815 states have (on average 1.3447852760736196) internal successors, (1096), 827 states have internal predecessors, (1096), 199 states have call successors, (199), 76 states have call predecessors, (199), 75 states have return successors, (193), 193 states have call predecessors, (193), 193 states have call successors, (193) [2022-02-20 21:44:52,249 INFO L87 Difference]: Start difference. First operand 1100 states. Second operand has 1090 states, 815 states have (on average 1.3447852760736196) internal successors, (1096), 827 states have internal predecessors, (1096), 199 states have call successors, (199), 76 states have call predecessors, (199), 75 states have return successors, (193), 193 states have call predecessors, (193), 193 states have call successors, (193) [2022-02-20 21:44:52,318 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 21:44:52,319 INFO L93 Difference]: Finished difference Result 1100 states and 1502 transitions. [2022-02-20 21:44:52,319 INFO L276 IsEmpty]: Start isEmpty. Operand 1100 states and 1502 transitions. [2022-02-20 21:44:52,323 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 21:44:52,324 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 21:44:52,330 INFO L74 IsIncluded]: Start isIncluded. First operand has 1090 states, 815 states have (on average 1.3447852760736196) internal successors, (1096), 827 states have internal predecessors, (1096), 199 states have call successors, (199), 76 states have call predecessors, (199), 75 states have return successors, (193), 193 states have call predecessors, (193), 193 states have call successors, (193) Second operand 1100 states. [2022-02-20 21:44:52,333 INFO L87 Difference]: Start difference. First operand has 1090 states, 815 states have (on average 1.3447852760736196) internal successors, (1096), 827 states have internal predecessors, (1096), 199 states have call successors, (199), 76 states have call predecessors, (199), 75 states have return successors, (193), 193 states have call predecessors, (193), 193 states have call successors, (193) Second operand 1100 states. [2022-02-20 21:44:52,418 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 21:44:52,419 INFO L93 Difference]: Finished difference Result 1100 states and 1502 transitions. [2022-02-20 21:44:52,419 INFO L276 IsEmpty]: Start isEmpty. Operand 1100 states and 1502 transitions. [2022-02-20 21:44:52,423 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 21:44:52,424 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 21:44:52,424 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 21:44:52,424 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 21:44:52,427 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 1090 states, 815 states have (on average 1.3447852760736196) internal successors, (1096), 827 states have internal predecessors, (1096), 199 states have call successors, (199), 76 states have call predecessors, (199), 75 states have return successors, (193), 193 states have call predecessors, (193), 193 states have call successors, (193) [2022-02-20 21:44:52,517 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 1090 states to 1090 states and 1488 transitions. [2022-02-20 21:44:52,518 INFO L78 Accepts]: Start accepts. Automaton has 1090 states and 1488 transitions. Word has length 25 [2022-02-20 21:44:52,518 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 21:44:52,518 INFO L470 AbstractCegarLoop]: Abstraction has 1090 states and 1488 transitions. [2022-02-20 21:44:52,518 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 8.0) internal successors, (24), 3 states have internal predecessors, (24), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 21:44:52,519 INFO L276 IsEmpty]: Start isEmpty. Operand 1090 states and 1488 transitions. [2022-02-20 21:44:52,519 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2022-02-20 21:44:52,519 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 21:44:52,520 INFO L514 BasicCegarLoop]: trace histogram [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-02-20 21:44:52,520 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3 [2022-02-20 21:44:52,520 INFO L402 AbstractCegarLoop]: === Iteration 5 === Targeting ldv_errorErr0ASSERT_VIOLATIONERROR_FUNCTION === [ldv_errorErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 21:44:52,521 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 21:44:52,521 INFO L85 PathProgramCache]: Analyzing trace with hash 309736719, now seen corresponding path program 1 times [2022-02-20 21:44:52,521 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 21:44:52,521 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [950861301] [2022-02-20 21:44:52,521 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 21:44:52,522 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 21:44:52,572 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:44:52,634 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 13 [2022-02-20 21:44:52,637 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:44:52,644 INFO L290 TraceCheckUtils]: 0: Hoare triple {22170#true} ~nr := #in~nr;~addr.base, ~addr.offset := #in~addr.base, #in~addr.offset; {22170#true} is VALID [2022-02-20 21:44:52,645 INFO L290 TraceCheckUtils]: 1: Hoare triple {22170#true} assume true; {22170#true} is VALID [2022-02-20 21:44:52,646 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {22170#true} {22172#(= |ULTIMATE.start_pg_init_units_~unit~0#1| 0)} #1242#return; {22172#(= |ULTIMATE.start_pg_init_units_~unit~0#1| 0)} is VALID [2022-02-20 21:44:52,646 INFO L290 TraceCheckUtils]: 0: Hoare triple {22170#true} assume { :begin_inline_ULTIMATE.init } 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(72, 2);call #Ultimate.allocInit(3, 3);call write~init~int(112, 3, 0, 1);call write~init~int(103, 3, 1, 1);call write~init~int(0, 3, 2, 1);call #Ultimate.allocInit(124, 4);call #Ultimate.allocInit(27, 5);call #Ultimate.allocInit(19, 6);call #Ultimate.allocInit(9, 7);call #Ultimate.allocInit(5, 8);call write~init~int(37, 8, 0, 1);call write~init~int(115, 8, 1, 1);call write~init~int(37, 8, 2, 1);call write~init~int(99, 8, 3, 1);call write~init~int(0, 8, 4, 1);call #Ultimate.allocInit(9, 9);call #Ultimate.allocInit(1, 10);call write~init~int(0, 10, 0, 1);call #Ultimate.allocInit(39, 11);call #Ultimate.allocInit(15, 12);call #Ultimate.allocInit(12, 13);call #Ultimate.allocInit(25, 14);call #Ultimate.allocInit(35, 15);call #Ultimate.allocInit(6, 16);call write~init~int(37, 16, 0, 1);call write~init~int(48, 16, 1, 1);call write~init~int(50, 16, 2, 1);call write~init~int(120, 16, 3, 1);call write~init~int(32, 16, 4, 1);call write~init~int(0, 16, 5, 1);call #Ultimate.allocInit(2, 17);call write~init~int(10, 17, 0, 1);call write~init~int(0, 17, 1, 1);call #Ultimate.allocInit(11, 18);call #Ultimate.allocInit(5, 19);call write~init~int(82, 19, 0, 1);call write~init~int(101, 19, 1, 1);call write~init~int(97, 19, 2, 1);call write~init~int(100, 19, 3, 1);call write~init~int(0, 19, 4, 1);call #Ultimate.allocInit(6, 20);call write~init~int(87, 20, 0, 1);call write~init~int(114, 20, 1, 1);call write~init~int(105, 20, 2, 1);call write~init~int(116, 20, 3, 1);call write~init~int(101, 20, 4, 1);call write~init~int(0, 20, 5, 1);call #Ultimate.allocInit(17, 21);call #Ultimate.allocInit(11, 22);call #Ultimate.allocInit(28, 23);call #Ultimate.allocInit(4, 24);call write~init~int(37, 24, 0, 1);call write~init~int(51, 24, 1, 1);call write~init~int(120, 24, 2, 1);call write~init~int(0, 24, 3, 1);call #Ultimate.allocInit(13, 25);call #Ultimate.allocInit(2, 26);call write~init~int(10, 26, 0, 1);call write~init~int(0, 26, 1, 1);call #Ultimate.allocInit(7, 27);call write~init~int(109, 27, 0, 1);call write~init~int(97, 27, 1, 1);call write~init~int(115, 27, 2, 1);call write~init~int(116, 27, 3, 1);call write~init~int(101, 27, 4, 1);call write~init~int(114, 27, 5, 1);call write~init~int(0, 27, 6, 1);call #Ultimate.allocInit(6, 28);call write~init~int(115, 28, 0, 1);call write~init~int(108, 28, 1, 1);call write~init~int(97, 28, 2, 1);call write~init~int(118, 28, 3, 1);call write~init~int(101, 28, 4, 1);call write~init~int(0, 28, 5, 1);call #Ultimate.allocInit(15, 29);call #Ultimate.allocInit(29, 30);call #Ultimate.allocInit(5, 31);call write~init~int(49, 31, 0, 1);call write~init~int(46, 31, 1, 1);call write~init~int(48, 31, 2, 1);call write~init~int(50, 31, 3, 1);call write~init~int(0, 31, 4, 1);call #Ultimate.allocInit(30, 32);call #Ultimate.allocInit(30, 33);call #Ultimate.allocInit(40, 34);call #Ultimate.allocInit(3, 35);call write~init~int(112, 35, 0, 1);call write~init~int(103, 35, 1, 1);call write~init~int(0, 35, 2, 1);call #Ultimate.allocInit(5, 36);call write~init~int(112, 36, 0, 1);call write~init~int(103, 36, 1, 1);call write~init~int(37, 36, 2, 1);call write~init~int(117, 36, 3, 1);call write~init~int(0, 36, 4, 1);call #Ultimate.allocInit(3, 37);call write~init~int(112, 37, 0, 1);call write~init~int(103, 37, 1, 1);call write~init~int(0, 37, 2, 1);~ldv_state_variable_1~0 := 0;~ref_cnt~0 := 0;~ldv_state_variable_0~0 := 0;~verbose~0 := 0;~major~0 := 97;~name~0.base, ~name~0.offset := 3, 0;~disable~0 := 0;~#drive0~0.base, ~#drive0~0.offset := 38, 0;call #Ultimate.allocInit(24, 38);call write~init~int(0, ~#drive0~0.base, ~#drive0~0.offset, 4);call write~init~int(0, ~#drive0~0.base, 4 + ~#drive0~0.offset, 4);call write~init~int(0, ~#drive0~0.base, 8 + ~#drive0~0.offset, 4);call write~init~int(-1, ~#drive0~0.base, 12 + ~#drive0~0.offset, 4);call write~init~int(-1, ~#drive0~0.base, 16 + ~#drive0~0.offset, 4);call write~init~int(-1, ~#drive0~0.base, 20 + ~#drive0~0.offset, 4);~#drive1~0.base, ~#drive1~0.offset := 39, 0;call #Ultimate.allocInit(24, 39);call write~init~int(0, ~#drive1~0.base, ~#drive1~0.offset, 4);call write~init~int(0, ~#drive1~0.base, 4 + ~#drive1~0.offset, 4);call write~init~int(0, ~#drive1~0.base, 8 + ~#drive1~0.offset, 4);call write~init~int(-1, ~#drive1~0.base, 12 + ~#drive1~0.offset, 4);call write~init~int(-1, ~#drive1~0.base, 16 + ~#drive1~0.offset, 4);call write~init~int(-1, ~#drive1~0.base, 20 + ~#drive1~0.offset, 4);~#drive2~0.base, ~#drive2~0.offset := 40, 0;call #Ultimate.allocInit(24, 40);call write~init~int(0, ~#drive2~0.base, ~#drive2~0.offset, 4);call write~init~int(0, ~#drive2~0.base, 4 + ~#drive2~0.offset, 4);call write~init~int(0, ~#drive2~0.base, 8 + ~#drive2~0.offset, 4);call write~init~int(-1, ~#drive2~0.base, 12 + ~#drive2~0.offset, 4);call write~init~int(-1, ~#drive2~0.base, 16 + ~#drive2~0.offset, 4);call write~init~int(-1, ~#drive2~0.base, 20 + ~#drive2~0.offset, 4);~#drive3~0.base, ~#drive3~0.offset := 41, 0;call #Ultimate.allocInit(24, 41);call write~init~int(0, ~#drive3~0.base, ~#drive3~0.offset, 4);call write~init~int(0, ~#drive3~0.base, 4 + ~#drive3~0.offset, 4);call write~init~int(0, ~#drive3~0.base, 8 + ~#drive3~0.offset, 4);call write~init~int(-1, ~#drive3~0.base, 12 + ~#drive3~0.offset, 4);call write~init~int(-1, ~#drive3~0.base, 16 + ~#drive3~0.offset, 4);call write~init~int(-1, ~#drive3~0.base, 20 + ~#drive3~0.offset, 4);~#drives~0.base, ~#drives~0.offset := 42, 0;call #Ultimate.allocInit(32, 42);call write~init~$Pointer$(~#drive0~0.base, ~#drive0~0.offset, ~#drives~0.base, ~#drives~0.offset, 8);call write~init~$Pointer$(~#drive1~0.base, ~#drive1~0.offset, ~#drives~0.base, 8 + ~#drives~0.offset, 8);call write~init~$Pointer$(~#drive2~0.base, ~#drive2~0.offset, ~#drives~0.base, 16 + ~#drives~0.offset, 8);call write~init~$Pointer$(~#drive3~0.base, ~#drive3~0.offset, ~#drives~0.base, 24 + ~#drives~0.offset, 8);~pg_drive_count~0 := 0;~#pg_mutex~0.base, ~#pg_mutex~0.offset := 43, 0;call #Ultimate.allocInit(156, 43);call write~init~int(1, ~#pg_mutex~0.base, ~#pg_mutex~0.offset, 4);call write~init~int(0, ~#pg_mutex~0.base, 4 + ~#pg_mutex~0.offset, 4);call write~init~int(3735899821, ~#pg_mutex~0.base, 8 + ~#pg_mutex~0.offset, 4);call write~init~int(4294967295, ~#pg_mutex~0.base, 12 + ~#pg_mutex~0.offset, 4);call write~init~$Pointer$(0, -1, ~#pg_mutex~0.base, 16 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_mutex~0.base, 24 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_mutex~0.base, 32 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_mutex~0.base, 40 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(6, 0, ~#pg_mutex~0.base, 48 + ~#pg_mutex~0.offset, 8);call write~init~int(0, ~#pg_mutex~0.base, 56 + ~#pg_mutex~0.offset, 4);call write~init~int(0, ~#pg_mutex~0.base, 60 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(~#pg_mutex~0.base, 72 + ~#pg_mutex~0.offset, ~#pg_mutex~0.base, 72 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(~#pg_mutex~0.base, 72 + ~#pg_mutex~0.offset, ~#pg_mutex~0.base, 80 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_mutex~0.base, 88 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_mutex~0.base, 96 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(~#pg_mutex~0.base, ~#pg_mutex~0.offset, ~#pg_mutex~0.base, 104 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_mutex~0.base, 112 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_mutex~0.base, 120 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_mutex~0.base, 128 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(7, 0, ~#pg_mutex~0.base, 136 + ~#pg_mutex~0.offset, 8);call write~init~int(0, ~#pg_mutex~0.base, 144 + ~#pg_mutex~0.offset, 4);call write~init~int(0, ~#pg_mutex~0.base, 148 + ~#pg_mutex~0.offset, 8);~#devices~0.base, ~#devices~0.offset := 44, 0;call #Ultimate.allocInit(928, 44);#memory_$Pointer$.base, #memory_$Pointer$.offset := ~initToZeroAtPointerBaseAddress~$Pointer$.base(#memory_$Pointer$.base, #memory_$Pointer$.offset, ~#devices~0.base), ~initToZeroAtPointerBaseAddress~$Pointer$.offset(#memory_$Pointer$.base, #memory_$Pointer$.offset, ~#devices~0.base);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#devices~0.base);~#pg_scratch~0.base, ~#pg_scratch~0.offset := 45, 0;call #Ultimate.allocInit(512, 45);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#pg_scratch~0.base);~pg_class~0.base, ~pg_class~0.offset := 0, 0;~#pg_fops~0.base, ~#pg_fops~0.offset := 46, 0;call #Ultimate.allocInit(216, 46);call write~init~$Pointer$(~#__this_module~0.base, ~#__this_module~0.offset, ~#pg_fops~0.base, ~#pg_fops~0.offset, 8);call write~init~$Pointer$(#funAddr~noop_llseek.base, #funAddr~noop_llseek.offset, ~#pg_fops~0.base, 8 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(#funAddr~pg_read.base, #funAddr~pg_read.offset, ~#pg_fops~0.base, 16 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(#funAddr~pg_write.base, #funAddr~pg_write.offset, ~#pg_fops~0.base, 24 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 32 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 40 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 48 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 56 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 64 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 72 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 80 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(#funAddr~pg_open.base, #funAddr~pg_open.offset, ~#pg_fops~0.base, 88 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 96 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(#funAddr~pg_release.base, #funAddr~pg_release.offset, ~#pg_fops~0.base, 104 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 112 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 120 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 128 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 136 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 144 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 152 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 160 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 168 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 176 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 184 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 192 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 200 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 208 + ~#pg_fops~0.offset, 8);~pg_fops_group2~0.base, ~pg_fops_group2~0.offset := 0, 0;~ldvarg7~0 := 0;~ldvarg3~0 := 0;~ldvarg0~0 := 0;~ldvarg5~0.base, ~ldvarg5~0.offset := 0, 0;~ldvarg6~0.base, ~ldvarg6~0.offset := 0, 0;~ldvarg8~0.base, ~ldvarg8~0.offset := 0, 0;~ldvarg1~0 := 0;~ldv_retval_0~0 := 0;~ldvarg4~0.base, ~ldvarg4~0.offset := 0, 0;~ldv_retval_1~0 := 0;~pg_fops_group1~0.base, ~pg_fops_group1~0.offset := 0, 0;~ldvarg2~0.base, ~ldvarg2~0.offset := 0, 0;~ldv_mutex_cred_guard_mutex_of_signal_struct~0 := 0;~ldv_mutex_lock~0 := 0;~ldv_mutex_mutex_of_device~0 := 0;~ldv_mutex_pg_mutex~0 := 0; {22170#true} is VALID [2022-02-20 21:44:52,647 INFO L290 TraceCheckUtils]: 1: Hoare triple {22170#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet231#1, main_#t~switch232#1, main_#t~nondet233#1, main_#t~switch234#1, main_#t~ret235#1, main_#t~ret236#1, main_#t~ret237#1, main_#t~ret238#1, main_#t~ret239#1, main_#t~ret240#1, main_#t~nondet241#1, main_#t~switch242#1, main_#t~ret243#1, main_~tmp~17#1, main_~tmp___0~12#1, main_~tmp___1~11#1;havoc main_~tmp~17#1;havoc main_~tmp___0~12#1;havoc main_~tmp___1~11#1;assume { :begin_inline_ldv_initialize } true;~ldv_mutex_cred_guard_mutex_of_signal_struct~0 := 1;~ldv_mutex_lock~0 := 1;~ldv_mutex_mutex_of_device~0 := 1;~ldv_mutex_pg_mutex~0 := 1; {22170#true} is VALID [2022-02-20 21:44:52,647 INFO L290 TraceCheckUtils]: 2: Hoare triple {22170#true} assume { :end_inline_ldv_initialize } true;~ldv_state_variable_1~0 := 0;~ref_cnt~0 := 0;~ldv_state_variable_0~0 := 1; {22170#true} is VALID [2022-02-20 21:44:52,647 INFO L290 TraceCheckUtils]: 3: Hoare triple {22170#true} assume -2147483648 <= main_#t~nondet231#1 && main_#t~nondet231#1 <= 2147483647;main_~tmp~17#1 := main_#t~nondet231#1;havoc main_#t~nondet231#1;main_#t~switch232#1 := 0 == main_~tmp~17#1; {22170#true} is VALID [2022-02-20 21:44:52,647 INFO L290 TraceCheckUtils]: 4: Hoare triple {22170#true} assume !main_#t~switch232#1;main_#t~switch232#1 := main_#t~switch232#1 || 1 == main_~tmp~17#1; {22170#true} is VALID [2022-02-20 21:44:52,647 INFO L290 TraceCheckUtils]: 5: Hoare triple {22170#true} assume main_#t~switch232#1; {22170#true} is VALID [2022-02-20 21:44:52,648 INFO L290 TraceCheckUtils]: 6: Hoare triple {22170#true} assume 0 != ~ldv_state_variable_0~0;assume -2147483648 <= main_#t~nondet241#1 && main_#t~nondet241#1 <= 2147483647;main_~tmp___1~11#1 := main_#t~nondet241#1;havoc main_#t~nondet241#1;main_#t~switch242#1 := 0 == main_~tmp___1~11#1; {22170#true} is VALID [2022-02-20 21:44:52,648 INFO L290 TraceCheckUtils]: 7: Hoare triple {22170#true} assume !main_#t~switch242#1;main_#t~switch242#1 := main_#t~switch242#1 || 1 == main_~tmp___1~11#1; {22170#true} is VALID [2022-02-20 21:44:52,648 INFO L290 TraceCheckUtils]: 8: Hoare triple {22170#true} assume main_#t~switch242#1; {22170#true} is VALID [2022-02-20 21:44:52,648 INFO L290 TraceCheckUtils]: 9: Hoare triple {22170#true} assume 1 == ~ldv_state_variable_0~0;assume { :begin_inline_pg_init } true;havoc pg_init_#res#1;havoc pg_init_#t~ret218#1, pg_init_#t~ret219#1, pg_init_#t~nondet220#1, pg_init_#t~mem221#1, pg_init_#t~mem222#1.base, pg_init_#t~mem222#1.offset, pg_init_#t~ret223#1.base, pg_init_#t~ret223#1.offset, pg_init_#t~ret224#1, pg_init_#t~ret225#1, pg_init_#t~mem226#1, pg_init_#t~nondet227#1.base, pg_init_#t~nondet227#1.offset, pg_init_~unit~3#1, pg_init_~err~1#1, pg_init_~tmp~16#1, pg_init_~dev~6#1.base, pg_init_~dev~6#1.offset, pg_init_~#__key~0#1.base, pg_init_~#__key~0#1.offset, pg_init_~tmp___0~11#1.base, pg_init_~tmp___0~11#1.offset, pg_init_~tmp___1~10#1, pg_init_~tmp___2~7#1, pg_init_~dev___0~0#1.base, pg_init_~dev___0~0#1.offset;havoc pg_init_~unit~3#1;havoc pg_init_~err~1#1;havoc pg_init_~tmp~16#1;havoc pg_init_~dev~6#1.base, pg_init_~dev~6#1.offset;call pg_init_~#__key~0#1.base, pg_init_~#__key~0#1.offset := #Ultimate.allocOnStack(8);havoc pg_init_~tmp___0~11#1.base, pg_init_~tmp___0~11#1.offset;havoc pg_init_~tmp___1~10#1;havoc pg_init_~tmp___2~7#1;havoc pg_init_~dev___0~0#1.base, pg_init_~dev___0~0#1.offset; {22170#true} is VALID [2022-02-20 21:44:52,652 INFO L290 TraceCheckUtils]: 10: Hoare triple {22170#true} assume !(0 != ~disable~0);assume { :begin_inline_pg_init_units } true;havoc pg_init_units_#t~mem92#1.base, pg_init_units_#t~mem92#1.offset, pg_init_units_#t~mem93#1, pg_init_units_#t~nondet94#1, pg_init_units_#t~mem95#1, pg_init_units_~unit~0#1, pg_init_units_~parm~0#1.base, pg_init_units_~parm~0#1.offset, pg_init_units_~dev~0#1.base, pg_init_units_~dev~0#1.offset;havoc pg_init_units_~unit~0#1;havoc pg_init_units_~parm~0#1.base, pg_init_units_~parm~0#1.offset;havoc pg_init_units_~dev~0#1.base, pg_init_units_~dev~0#1.offset;~pg_drive_count~0 := 0;pg_init_units_~unit~0#1 := 0; {22172#(= |ULTIMATE.start_pg_init_units_~unit~0#1| 0)} is VALID [2022-02-20 21:44:52,653 INFO L290 TraceCheckUtils]: 11: Hoare triple {22172#(= |ULTIMATE.start_pg_init_units_~unit~0#1| 0)} assume pg_init_units_~unit~0#1 <= 3; {22172#(= |ULTIMATE.start_pg_init_units_~unit~0#1| 0)} is VALID [2022-02-20 21:44:52,654 INFO L290 TraceCheckUtils]: 12: Hoare triple {22172#(= |ULTIMATE.start_pg_init_units_~unit~0#1| 0)} call pg_init_units_#t~mem92#1.base, pg_init_units_#t~mem92#1.offset := read~$Pointer$(~#drives~0.base, ~#drives~0.offset + 8 * pg_init_units_~unit~0#1, 8);pg_init_units_~parm~0#1.base, pg_init_units_~parm~0#1.offset := pg_init_units_#t~mem92#1.base, pg_init_units_#t~mem92#1.offset;havoc pg_init_units_#t~mem92#1.base, pg_init_units_#t~mem92#1.offset;pg_init_units_~dev~0#1.base, pg_init_units_~dev~0#1.offset := ~#devices~0.base, ~#devices~0.offset + 232 * (if pg_init_units_~unit~0#1 % 18446744073709551616 % 18446744073709551616 <= 9223372036854775807 then pg_init_units_~unit~0#1 % 18446744073709551616 % 18446744073709551616 else pg_init_units_~unit~0#1 % 18446744073709551616 % 18446744073709551616 - 18446744073709551616);call write~$Pointer$(pg_init_units_~dev~0#1.base, pg_init_units_~dev~0#1.offset, pg_init_units_~dev~0#1.base, 168 + pg_init_units_~dev~0#1.offset, 8); {22172#(= |ULTIMATE.start_pg_init_units_~unit~0#1| 0)} is VALID [2022-02-20 21:44:52,654 INFO L272 TraceCheckUtils]: 13: Hoare triple {22172#(= |ULTIMATE.start_pg_init_units_~unit~0#1| 0)} call clear_bit(0, pg_init_units_~dev~0#1.base, 204 + pg_init_units_~dev~0#1.offset); {22170#true} is VALID [2022-02-20 21:44:52,654 INFO L290 TraceCheckUtils]: 14: Hoare triple {22170#true} ~nr := #in~nr;~addr.base, ~addr.offset := #in~addr.base, #in~addr.offset; {22170#true} is VALID [2022-02-20 21:44:52,655 INFO L290 TraceCheckUtils]: 15: Hoare triple {22170#true} assume true; {22170#true} is VALID [2022-02-20 21:44:52,656 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {22170#true} {22172#(= |ULTIMATE.start_pg_init_units_~unit~0#1| 0)} #1242#return; {22172#(= |ULTIMATE.start_pg_init_units_~unit~0#1| 0)} is VALID [2022-02-20 21:44:52,656 INFO L290 TraceCheckUtils]: 17: Hoare triple {22172#(= |ULTIMATE.start_pg_init_units_~unit~0#1| 0)} call write~int(0, pg_init_units_~dev~0#1.base, 176 + pg_init_units_~dev~0#1.offset, 4);call write~int(0, pg_init_units_~dev~0#1.base, 212 + pg_init_units_~dev~0#1.offset, 4);call write~$Pointer$(0, 0, pg_init_units_~dev~0#1.base, 216 + pg_init_units_~dev~0#1.offset, 8);call pg_init_units_#t~mem93#1 := read~int(pg_init_units_~parm~0#1.base, 16 + pg_init_units_~parm~0#1.offset, 4);call write~int(pg_init_units_#t~mem93#1, pg_init_units_~dev~0#1.base, 200 + pg_init_units_~dev~0#1.offset, 4);havoc pg_init_units_#t~mem93#1;havoc pg_init_units_#t~nondet94#1;call pg_init_units_#t~mem95#1 := read~int(pg_init_units_~parm~0#1.base, pg_init_units_~parm~0#1.offset, 4); {22172#(= |ULTIMATE.start_pg_init_units_~unit~0#1| 0)} is VALID [2022-02-20 21:44:52,656 INFO L290 TraceCheckUtils]: 18: Hoare triple {22172#(= |ULTIMATE.start_pg_init_units_~unit~0#1| 0)} assume 0 != pg_init_units_#t~mem95#1;havoc pg_init_units_#t~mem95#1;~pg_drive_count~0 := 1 + ~pg_drive_count~0; {22172#(= |ULTIMATE.start_pg_init_units_~unit~0#1| 0)} is VALID [2022-02-20 21:44:52,657 INFO L290 TraceCheckUtils]: 19: Hoare triple {22172#(= |ULTIMATE.start_pg_init_units_~unit~0#1| 0)} pg_init_units_~unit~0#1 := 1 + pg_init_units_~unit~0#1; {22176#(<= |ULTIMATE.start_pg_init_units_~unit~0#1| 1)} is VALID [2022-02-20 21:44:52,658 INFO L290 TraceCheckUtils]: 20: Hoare triple {22176#(<= |ULTIMATE.start_pg_init_units_~unit~0#1| 1)} assume !(pg_init_units_~unit~0#1 <= 3); {22171#false} is VALID [2022-02-20 21:44:52,658 INFO L290 TraceCheckUtils]: 21: Hoare triple {22171#false} assume { :end_inline_pg_init_units } true;assume { :begin_inline_pg_detect } true;havoc pg_detect_#res#1;havoc pg_detect_#t~nondet158#1, pg_detect_#t~mem159#1.base, pg_detect_#t~mem159#1.offset, pg_detect_#t~ret160#1, pg_detect_#t~ret161#1, pg_detect_#t~mem162#1.base, pg_detect_#t~mem162#1.offset, pg_detect_#t~mem163#1.base, pg_detect_#t~mem163#1.offset, pg_detect_#t~mem164#1, pg_detect_#t~mem165#1.base, pg_detect_#t~mem165#1.offset, pg_detect_#t~mem166#1, pg_detect_#t~mem167#1, pg_detect_#t~mem168#1, pg_detect_#t~mem169#1, pg_detect_#t~mem170#1, pg_detect_#t~ret171#1, pg_detect_#t~ret172#1, pg_detect_#t~mem173#1.base, pg_detect_#t~mem173#1.offset, pg_detect_#t~nondet174#1, pg_detect_~dev~1#1.base, pg_detect_~dev~1#1.offset, pg_detect_~k~3#1, pg_detect_~unit~1#1, pg_detect_~tmp~12#1, pg_detect_~parm~1#1.base, pg_detect_~parm~1#1.offset, pg_detect_~tmp___0~7#1, pg_detect_~tmp___1~6#1, pg_detect_~tmp___2~5#1;havoc pg_detect_~dev~1#1.base, pg_detect_~dev~1#1.offset;havoc pg_detect_~k~3#1;havoc pg_detect_~unit~1#1;havoc pg_detect_~tmp~12#1;havoc pg_detect_~parm~1#1.base, pg_detect_~parm~1#1.offset;havoc pg_detect_~tmp___0~7#1;havoc pg_detect_~tmp___1~6#1;havoc pg_detect_~tmp___2~5#1;pg_detect_~dev~1#1.base, pg_detect_~dev~1#1.offset := ~#devices~0.base, ~#devices~0.offset;havoc pg_detect_#t~nondet158#1;pg_detect_~k~3#1 := 0; {22171#false} is VALID [2022-02-20 21:44:52,659 INFO L290 TraceCheckUtils]: 22: Hoare triple {22171#false} assume !(0 == ~pg_drive_count~0); {22171#false} is VALID [2022-02-20 21:44:52,659 INFO L290 TraceCheckUtils]: 23: Hoare triple {22171#false} assume 0 != pg_detect_~k~3#1;pg_detect_#res#1 := 0; {22171#false} is VALID [2022-02-20 21:44:52,659 INFO L290 TraceCheckUtils]: 24: Hoare triple {22171#false} pg_init_#t~ret218#1 := pg_detect_#res#1;assume { :end_inline_pg_detect } true;assume -2147483648 <= pg_init_#t~ret218#1 && pg_init_#t~ret218#1 <= 2147483647;pg_init_~tmp~16#1 := pg_init_#t~ret218#1;havoc pg_init_#t~ret218#1; {22171#false} is VALID [2022-02-20 21:44:52,661 INFO L290 TraceCheckUtils]: 25: Hoare triple {22171#false} assume 0 != pg_init_~tmp~16#1;pg_init_~err~1#1 := -19; {22171#false} is VALID [2022-02-20 21:44:52,661 INFO L290 TraceCheckUtils]: 26: Hoare triple {22171#false} pg_init_#res#1 := pg_init_~err~1#1;call ULTIMATE.dealloc(pg_init_~#__key~0#1.base, pg_init_~#__key~0#1.offset);havoc pg_init_~#__key~0#1.base, pg_init_~#__key~0#1.offset; {22171#false} is VALID [2022-02-20 21:44:52,669 INFO L290 TraceCheckUtils]: 27: Hoare triple {22171#false} main_#t~ret243#1 := pg_init_#res#1;assume { :end_inline_pg_init } true;assume -2147483648 <= main_#t~ret243#1 && main_#t~ret243#1 <= 2147483647;~ldv_retval_1~0 := main_#t~ret243#1;havoc main_#t~ret243#1; {22171#false} is VALID [2022-02-20 21:44:52,670 INFO L290 TraceCheckUtils]: 28: Hoare triple {22171#false} assume 0 == ~ldv_retval_1~0;~ldv_state_variable_0~0 := 3; {22171#false} is VALID [2022-02-20 21:44:52,673 INFO L290 TraceCheckUtils]: 29: Hoare triple {22171#false} assume 0 != ~ldv_retval_1~0;~ldv_state_variable_0~0 := 2; {22171#false} is VALID [2022-02-20 21:44:52,673 INFO L290 TraceCheckUtils]: 30: Hoare triple {22171#false} assume { :begin_inline_ldv_check_final_state } true; {22171#false} is VALID [2022-02-20 21:44:52,674 INFO L290 TraceCheckUtils]: 31: Hoare triple {22171#false} assume !(1 == ~ldv_mutex_cred_guard_mutex_of_signal_struct~0); {22171#false} is VALID [2022-02-20 21:44:52,674 INFO L272 TraceCheckUtils]: 32: Hoare triple {22171#false} call ldv_error(); {22171#false} is VALID [2022-02-20 21:44:52,675 INFO L290 TraceCheckUtils]: 33: Hoare triple {22171#false} assume !false; {22171#false} is VALID [2022-02-20 21:44:52,675 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 21:44:52,676 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 21:44:52,676 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [950861301] [2022-02-20 21:44:52,676 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [950861301] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 21:44:52,677 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2014168551] [2022-02-20 21:44:52,677 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 21:44:52,677 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 21:44:52,677 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 21:44:52,683 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-02-20 21:44:52,693 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-02-20 21:44:52,967 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:44:52,975 INFO L263 TraceCheckSpWp]: Trace formula consists of 855 conjuncts, 3 conjunts are in the unsatisfiable core [2022-02-20 21:44:53,003 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:44:53,008 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 21:44:53,099 INFO L290 TraceCheckUtils]: 0: Hoare triple {22170#true} assume { :begin_inline_ULTIMATE.init } 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(72, 2);call #Ultimate.allocInit(3, 3);call write~init~int(112, 3, 0, 1);call write~init~int(103, 3, 1, 1);call write~init~int(0, 3, 2, 1);call #Ultimate.allocInit(124, 4);call #Ultimate.allocInit(27, 5);call #Ultimate.allocInit(19, 6);call #Ultimate.allocInit(9, 7);call #Ultimate.allocInit(5, 8);call write~init~int(37, 8, 0, 1);call write~init~int(115, 8, 1, 1);call write~init~int(37, 8, 2, 1);call write~init~int(99, 8, 3, 1);call write~init~int(0, 8, 4, 1);call #Ultimate.allocInit(9, 9);call #Ultimate.allocInit(1, 10);call write~init~int(0, 10, 0, 1);call #Ultimate.allocInit(39, 11);call #Ultimate.allocInit(15, 12);call #Ultimate.allocInit(12, 13);call #Ultimate.allocInit(25, 14);call #Ultimate.allocInit(35, 15);call #Ultimate.allocInit(6, 16);call write~init~int(37, 16, 0, 1);call write~init~int(48, 16, 1, 1);call write~init~int(50, 16, 2, 1);call write~init~int(120, 16, 3, 1);call write~init~int(32, 16, 4, 1);call write~init~int(0, 16, 5, 1);call #Ultimate.allocInit(2, 17);call write~init~int(10, 17, 0, 1);call write~init~int(0, 17, 1, 1);call #Ultimate.allocInit(11, 18);call #Ultimate.allocInit(5, 19);call write~init~int(82, 19, 0, 1);call write~init~int(101, 19, 1, 1);call write~init~int(97, 19, 2, 1);call write~init~int(100, 19, 3, 1);call write~init~int(0, 19, 4, 1);call #Ultimate.allocInit(6, 20);call write~init~int(87, 20, 0, 1);call write~init~int(114, 20, 1, 1);call write~init~int(105, 20, 2, 1);call write~init~int(116, 20, 3, 1);call write~init~int(101, 20, 4, 1);call write~init~int(0, 20, 5, 1);call #Ultimate.allocInit(17, 21);call #Ultimate.allocInit(11, 22);call #Ultimate.allocInit(28, 23);call #Ultimate.allocInit(4, 24);call write~init~int(37, 24, 0, 1);call write~init~int(51, 24, 1, 1);call write~init~int(120, 24, 2, 1);call write~init~int(0, 24, 3, 1);call #Ultimate.allocInit(13, 25);call #Ultimate.allocInit(2, 26);call write~init~int(10, 26, 0, 1);call write~init~int(0, 26, 1, 1);call #Ultimate.allocInit(7, 27);call write~init~int(109, 27, 0, 1);call write~init~int(97, 27, 1, 1);call write~init~int(115, 27, 2, 1);call write~init~int(116, 27, 3, 1);call write~init~int(101, 27, 4, 1);call write~init~int(114, 27, 5, 1);call write~init~int(0, 27, 6, 1);call #Ultimate.allocInit(6, 28);call write~init~int(115, 28, 0, 1);call write~init~int(108, 28, 1, 1);call write~init~int(97, 28, 2, 1);call write~init~int(118, 28, 3, 1);call write~init~int(101, 28, 4, 1);call write~init~int(0, 28, 5, 1);call #Ultimate.allocInit(15, 29);call #Ultimate.allocInit(29, 30);call #Ultimate.allocInit(5, 31);call write~init~int(49, 31, 0, 1);call write~init~int(46, 31, 1, 1);call write~init~int(48, 31, 2, 1);call write~init~int(50, 31, 3, 1);call write~init~int(0, 31, 4, 1);call #Ultimate.allocInit(30, 32);call #Ultimate.allocInit(30, 33);call #Ultimate.allocInit(40, 34);call #Ultimate.allocInit(3, 35);call write~init~int(112, 35, 0, 1);call write~init~int(103, 35, 1, 1);call write~init~int(0, 35, 2, 1);call #Ultimate.allocInit(5, 36);call write~init~int(112, 36, 0, 1);call write~init~int(103, 36, 1, 1);call write~init~int(37, 36, 2, 1);call write~init~int(117, 36, 3, 1);call write~init~int(0, 36, 4, 1);call #Ultimate.allocInit(3, 37);call write~init~int(112, 37, 0, 1);call write~init~int(103, 37, 1, 1);call write~init~int(0, 37, 2, 1);~ldv_state_variable_1~0 := 0;~ref_cnt~0 := 0;~ldv_state_variable_0~0 := 0;~verbose~0 := 0;~major~0 := 97;~name~0.base, ~name~0.offset := 3, 0;~disable~0 := 0;~#drive0~0.base, ~#drive0~0.offset := 38, 0;call #Ultimate.allocInit(24, 38);call write~init~int(0, ~#drive0~0.base, ~#drive0~0.offset, 4);call write~init~int(0, ~#drive0~0.base, 4 + ~#drive0~0.offset, 4);call write~init~int(0, ~#drive0~0.base, 8 + ~#drive0~0.offset, 4);call write~init~int(-1, ~#drive0~0.base, 12 + ~#drive0~0.offset, 4);call write~init~int(-1, ~#drive0~0.base, 16 + ~#drive0~0.offset, 4);call write~init~int(-1, ~#drive0~0.base, 20 + ~#drive0~0.offset, 4);~#drive1~0.base, ~#drive1~0.offset := 39, 0;call #Ultimate.allocInit(24, 39);call write~init~int(0, ~#drive1~0.base, ~#drive1~0.offset, 4);call write~init~int(0, ~#drive1~0.base, 4 + ~#drive1~0.offset, 4);call write~init~int(0, ~#drive1~0.base, 8 + ~#drive1~0.offset, 4);call write~init~int(-1, ~#drive1~0.base, 12 + ~#drive1~0.offset, 4);call write~init~int(-1, ~#drive1~0.base, 16 + ~#drive1~0.offset, 4);call write~init~int(-1, ~#drive1~0.base, 20 + ~#drive1~0.offset, 4);~#drive2~0.base, ~#drive2~0.offset := 40, 0;call #Ultimate.allocInit(24, 40);call write~init~int(0, ~#drive2~0.base, ~#drive2~0.offset, 4);call write~init~int(0, ~#drive2~0.base, 4 + ~#drive2~0.offset, 4);call write~init~int(0, ~#drive2~0.base, 8 + ~#drive2~0.offset, 4);call write~init~int(-1, ~#drive2~0.base, 12 + ~#drive2~0.offset, 4);call write~init~int(-1, ~#drive2~0.base, 16 + ~#drive2~0.offset, 4);call write~init~int(-1, ~#drive2~0.base, 20 + ~#drive2~0.offset, 4);~#drive3~0.base, ~#drive3~0.offset := 41, 0;call #Ultimate.allocInit(24, 41);call write~init~int(0, ~#drive3~0.base, ~#drive3~0.offset, 4);call write~init~int(0, ~#drive3~0.base, 4 + ~#drive3~0.offset, 4);call write~init~int(0, ~#drive3~0.base, 8 + ~#drive3~0.offset, 4);call write~init~int(-1, ~#drive3~0.base, 12 + ~#drive3~0.offset, 4);call write~init~int(-1, ~#drive3~0.base, 16 + ~#drive3~0.offset, 4);call write~init~int(-1, ~#drive3~0.base, 20 + ~#drive3~0.offset, 4);~#drives~0.base, ~#drives~0.offset := 42, 0;call #Ultimate.allocInit(32, 42);call write~init~$Pointer$(~#drive0~0.base, ~#drive0~0.offset, ~#drives~0.base, ~#drives~0.offset, 8);call write~init~$Pointer$(~#drive1~0.base, ~#drive1~0.offset, ~#drives~0.base, 8 + ~#drives~0.offset, 8);call write~init~$Pointer$(~#drive2~0.base, ~#drive2~0.offset, ~#drives~0.base, 16 + ~#drives~0.offset, 8);call write~init~$Pointer$(~#drive3~0.base, ~#drive3~0.offset, ~#drives~0.base, 24 + ~#drives~0.offset, 8);~pg_drive_count~0 := 0;~#pg_mutex~0.base, ~#pg_mutex~0.offset := 43, 0;call #Ultimate.allocInit(156, 43);call write~init~int(1, ~#pg_mutex~0.base, ~#pg_mutex~0.offset, 4);call write~init~int(0, ~#pg_mutex~0.base, 4 + ~#pg_mutex~0.offset, 4);call write~init~int(3735899821, ~#pg_mutex~0.base, 8 + ~#pg_mutex~0.offset, 4);call write~init~int(4294967295, ~#pg_mutex~0.base, 12 + ~#pg_mutex~0.offset, 4);call write~init~$Pointer$(0, -1, ~#pg_mutex~0.base, 16 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_mutex~0.base, 24 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_mutex~0.base, 32 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_mutex~0.base, 40 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(6, 0, ~#pg_mutex~0.base, 48 + ~#pg_mutex~0.offset, 8);call write~init~int(0, ~#pg_mutex~0.base, 56 + ~#pg_mutex~0.offset, 4);call write~init~int(0, ~#pg_mutex~0.base, 60 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(~#pg_mutex~0.base, 72 + ~#pg_mutex~0.offset, ~#pg_mutex~0.base, 72 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(~#pg_mutex~0.base, 72 + ~#pg_mutex~0.offset, ~#pg_mutex~0.base, 80 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_mutex~0.base, 88 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_mutex~0.base, 96 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(~#pg_mutex~0.base, ~#pg_mutex~0.offset, ~#pg_mutex~0.base, 104 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_mutex~0.base, 112 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_mutex~0.base, 120 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_mutex~0.base, 128 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(7, 0, ~#pg_mutex~0.base, 136 + ~#pg_mutex~0.offset, 8);call write~init~int(0, ~#pg_mutex~0.base, 144 + ~#pg_mutex~0.offset, 4);call write~init~int(0, ~#pg_mutex~0.base, 148 + ~#pg_mutex~0.offset, 8);~#devices~0.base, ~#devices~0.offset := 44, 0;call #Ultimate.allocInit(928, 44);#memory_$Pointer$.base, #memory_$Pointer$.offset := ~initToZeroAtPointerBaseAddress~$Pointer$.base(#memory_$Pointer$.base, #memory_$Pointer$.offset, ~#devices~0.base), ~initToZeroAtPointerBaseAddress~$Pointer$.offset(#memory_$Pointer$.base, #memory_$Pointer$.offset, ~#devices~0.base);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#devices~0.base);~#pg_scratch~0.base, ~#pg_scratch~0.offset := 45, 0;call #Ultimate.allocInit(512, 45);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#pg_scratch~0.base);~pg_class~0.base, ~pg_class~0.offset := 0, 0;~#pg_fops~0.base, ~#pg_fops~0.offset := 46, 0;call #Ultimate.allocInit(216, 46);call write~init~$Pointer$(~#__this_module~0.base, ~#__this_module~0.offset, ~#pg_fops~0.base, ~#pg_fops~0.offset, 8);call write~init~$Pointer$(#funAddr~noop_llseek.base, #funAddr~noop_llseek.offset, ~#pg_fops~0.base, 8 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(#funAddr~pg_read.base, #funAddr~pg_read.offset, ~#pg_fops~0.base, 16 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(#funAddr~pg_write.base, #funAddr~pg_write.offset, ~#pg_fops~0.base, 24 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 32 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 40 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 48 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 56 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 64 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 72 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 80 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(#funAddr~pg_open.base, #funAddr~pg_open.offset, ~#pg_fops~0.base, 88 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 96 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(#funAddr~pg_release.base, #funAddr~pg_release.offset, ~#pg_fops~0.base, 104 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 112 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 120 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 128 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 136 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 144 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 152 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 160 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 168 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 176 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 184 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 192 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 200 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 208 + ~#pg_fops~0.offset, 8);~pg_fops_group2~0.base, ~pg_fops_group2~0.offset := 0, 0;~ldvarg7~0 := 0;~ldvarg3~0 := 0;~ldvarg0~0 := 0;~ldvarg5~0.base, ~ldvarg5~0.offset := 0, 0;~ldvarg6~0.base, ~ldvarg6~0.offset := 0, 0;~ldvarg8~0.base, ~ldvarg8~0.offset := 0, 0;~ldvarg1~0 := 0;~ldv_retval_0~0 := 0;~ldvarg4~0.base, ~ldvarg4~0.offset := 0, 0;~ldv_retval_1~0 := 0;~pg_fops_group1~0.base, ~pg_fops_group1~0.offset := 0, 0;~ldvarg2~0.base, ~ldvarg2~0.offset := 0, 0;~ldv_mutex_cred_guard_mutex_of_signal_struct~0 := 0;~ldv_mutex_lock~0 := 0;~ldv_mutex_mutex_of_device~0 := 0;~ldv_mutex_pg_mutex~0 := 0; {22170#true} is VALID [2022-02-20 21:44:53,100 INFO L290 TraceCheckUtils]: 1: Hoare triple {22170#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet231#1, main_#t~switch232#1, main_#t~nondet233#1, main_#t~switch234#1, main_#t~ret235#1, main_#t~ret236#1, main_#t~ret237#1, main_#t~ret238#1, main_#t~ret239#1, main_#t~ret240#1, main_#t~nondet241#1, main_#t~switch242#1, main_#t~ret243#1, main_~tmp~17#1, main_~tmp___0~12#1, main_~tmp___1~11#1;havoc main_~tmp~17#1;havoc main_~tmp___0~12#1;havoc main_~tmp___1~11#1;assume { :begin_inline_ldv_initialize } true;~ldv_mutex_cred_guard_mutex_of_signal_struct~0 := 1;~ldv_mutex_lock~0 := 1;~ldv_mutex_mutex_of_device~0 := 1;~ldv_mutex_pg_mutex~0 := 1; {22170#true} is VALID [2022-02-20 21:44:53,100 INFO L290 TraceCheckUtils]: 2: Hoare triple {22170#true} assume { :end_inline_ldv_initialize } true;~ldv_state_variable_1~0 := 0;~ref_cnt~0 := 0;~ldv_state_variable_0~0 := 1; {22170#true} is VALID [2022-02-20 21:44:53,100 INFO L290 TraceCheckUtils]: 3: Hoare triple {22170#true} assume -2147483648 <= main_#t~nondet231#1 && main_#t~nondet231#1 <= 2147483647;main_~tmp~17#1 := main_#t~nondet231#1;havoc main_#t~nondet231#1;main_#t~switch232#1 := 0 == main_~tmp~17#1; {22170#true} is VALID [2022-02-20 21:44:53,100 INFO L290 TraceCheckUtils]: 4: Hoare triple {22170#true} assume !main_#t~switch232#1;main_#t~switch232#1 := main_#t~switch232#1 || 1 == main_~tmp~17#1; {22170#true} is VALID [2022-02-20 21:44:53,100 INFO L290 TraceCheckUtils]: 5: Hoare triple {22170#true} assume main_#t~switch232#1; {22170#true} is VALID [2022-02-20 21:44:53,101 INFO L290 TraceCheckUtils]: 6: Hoare triple {22170#true} assume 0 != ~ldv_state_variable_0~0;assume -2147483648 <= main_#t~nondet241#1 && main_#t~nondet241#1 <= 2147483647;main_~tmp___1~11#1 := main_#t~nondet241#1;havoc main_#t~nondet241#1;main_#t~switch242#1 := 0 == main_~tmp___1~11#1; {22170#true} is VALID [2022-02-20 21:44:53,101 INFO L290 TraceCheckUtils]: 7: Hoare triple {22170#true} assume !main_#t~switch242#1;main_#t~switch242#1 := main_#t~switch242#1 || 1 == main_~tmp___1~11#1; {22170#true} is VALID [2022-02-20 21:44:53,101 INFO L290 TraceCheckUtils]: 8: Hoare triple {22170#true} assume main_#t~switch242#1; {22170#true} is VALID [2022-02-20 21:44:53,101 INFO L290 TraceCheckUtils]: 9: Hoare triple {22170#true} assume 1 == ~ldv_state_variable_0~0;assume { :begin_inline_pg_init } true;havoc pg_init_#res#1;havoc pg_init_#t~ret218#1, pg_init_#t~ret219#1, pg_init_#t~nondet220#1, pg_init_#t~mem221#1, pg_init_#t~mem222#1.base, pg_init_#t~mem222#1.offset, pg_init_#t~ret223#1.base, pg_init_#t~ret223#1.offset, pg_init_#t~ret224#1, pg_init_#t~ret225#1, pg_init_#t~mem226#1, pg_init_#t~nondet227#1.base, pg_init_#t~nondet227#1.offset, pg_init_~unit~3#1, pg_init_~err~1#1, pg_init_~tmp~16#1, pg_init_~dev~6#1.base, pg_init_~dev~6#1.offset, pg_init_~#__key~0#1.base, pg_init_~#__key~0#1.offset, pg_init_~tmp___0~11#1.base, pg_init_~tmp___0~11#1.offset, pg_init_~tmp___1~10#1, pg_init_~tmp___2~7#1, pg_init_~dev___0~0#1.base, pg_init_~dev___0~0#1.offset;havoc pg_init_~unit~3#1;havoc pg_init_~err~1#1;havoc pg_init_~tmp~16#1;havoc pg_init_~dev~6#1.base, pg_init_~dev~6#1.offset;call pg_init_~#__key~0#1.base, pg_init_~#__key~0#1.offset := #Ultimate.allocOnStack(8);havoc pg_init_~tmp___0~11#1.base, pg_init_~tmp___0~11#1.offset;havoc pg_init_~tmp___1~10#1;havoc pg_init_~tmp___2~7#1;havoc pg_init_~dev___0~0#1.base, pg_init_~dev___0~0#1.offset; {22170#true} is VALID [2022-02-20 21:44:53,101 INFO L290 TraceCheckUtils]: 10: Hoare triple {22170#true} assume !(0 != ~disable~0);assume { :begin_inline_pg_init_units } true;havoc pg_init_units_#t~mem92#1.base, pg_init_units_#t~mem92#1.offset, pg_init_units_#t~mem93#1, pg_init_units_#t~nondet94#1, pg_init_units_#t~mem95#1, pg_init_units_~unit~0#1, pg_init_units_~parm~0#1.base, pg_init_units_~parm~0#1.offset, pg_init_units_~dev~0#1.base, pg_init_units_~dev~0#1.offset;havoc pg_init_units_~unit~0#1;havoc pg_init_units_~parm~0#1.base, pg_init_units_~parm~0#1.offset;havoc pg_init_units_~dev~0#1.base, pg_init_units_~dev~0#1.offset;~pg_drive_count~0 := 0;pg_init_units_~unit~0#1 := 0; {22170#true} is VALID [2022-02-20 21:44:53,102 INFO L290 TraceCheckUtils]: 11: Hoare triple {22170#true} assume pg_init_units_~unit~0#1 <= 3; {22170#true} is VALID [2022-02-20 21:44:53,102 INFO L290 TraceCheckUtils]: 12: Hoare triple {22170#true} call pg_init_units_#t~mem92#1.base, pg_init_units_#t~mem92#1.offset := read~$Pointer$(~#drives~0.base, ~#drives~0.offset + 8 * pg_init_units_~unit~0#1, 8);pg_init_units_~parm~0#1.base, pg_init_units_~parm~0#1.offset := pg_init_units_#t~mem92#1.base, pg_init_units_#t~mem92#1.offset;havoc pg_init_units_#t~mem92#1.base, pg_init_units_#t~mem92#1.offset;pg_init_units_~dev~0#1.base, pg_init_units_~dev~0#1.offset := ~#devices~0.base, ~#devices~0.offset + 232 * (if pg_init_units_~unit~0#1 % 18446744073709551616 % 18446744073709551616 <= 9223372036854775807 then pg_init_units_~unit~0#1 % 18446744073709551616 % 18446744073709551616 else pg_init_units_~unit~0#1 % 18446744073709551616 % 18446744073709551616 - 18446744073709551616);call write~$Pointer$(pg_init_units_~dev~0#1.base, pg_init_units_~dev~0#1.offset, pg_init_units_~dev~0#1.base, 168 + pg_init_units_~dev~0#1.offset, 8); {22170#true} is VALID [2022-02-20 21:44:53,102 INFO L272 TraceCheckUtils]: 13: Hoare triple {22170#true} call clear_bit(0, pg_init_units_~dev~0#1.base, 204 + pg_init_units_~dev~0#1.offset); {22170#true} is VALID [2022-02-20 21:44:53,102 INFO L290 TraceCheckUtils]: 14: Hoare triple {22170#true} ~nr := #in~nr;~addr.base, ~addr.offset := #in~addr.base, #in~addr.offset; {22170#true} is VALID [2022-02-20 21:44:53,102 INFO L290 TraceCheckUtils]: 15: Hoare triple {22170#true} assume true; {22170#true} is VALID [2022-02-20 21:44:53,102 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {22170#true} {22170#true} #1242#return; {22170#true} is VALID [2022-02-20 21:44:53,103 INFO L290 TraceCheckUtils]: 17: Hoare triple {22170#true} call write~int(0, pg_init_units_~dev~0#1.base, 176 + pg_init_units_~dev~0#1.offset, 4);call write~int(0, pg_init_units_~dev~0#1.base, 212 + pg_init_units_~dev~0#1.offset, 4);call write~$Pointer$(0, 0, pg_init_units_~dev~0#1.base, 216 + pg_init_units_~dev~0#1.offset, 8);call pg_init_units_#t~mem93#1 := read~int(pg_init_units_~parm~0#1.base, 16 + pg_init_units_~parm~0#1.offset, 4);call write~int(pg_init_units_#t~mem93#1, pg_init_units_~dev~0#1.base, 200 + pg_init_units_~dev~0#1.offset, 4);havoc pg_init_units_#t~mem93#1;havoc pg_init_units_#t~nondet94#1;call pg_init_units_#t~mem95#1 := read~int(pg_init_units_~parm~0#1.base, pg_init_units_~parm~0#1.offset, 4); {22170#true} is VALID [2022-02-20 21:44:53,103 INFO L290 TraceCheckUtils]: 18: Hoare triple {22170#true} assume 0 != pg_init_units_#t~mem95#1;havoc pg_init_units_#t~mem95#1;~pg_drive_count~0 := 1 + ~pg_drive_count~0; {22170#true} is VALID [2022-02-20 21:44:53,103 INFO L290 TraceCheckUtils]: 19: Hoare triple {22170#true} pg_init_units_~unit~0#1 := 1 + pg_init_units_~unit~0#1; {22170#true} is VALID [2022-02-20 21:44:53,103 INFO L290 TraceCheckUtils]: 20: Hoare triple {22170#true} assume !(pg_init_units_~unit~0#1 <= 3); {22170#true} is VALID [2022-02-20 21:44:53,104 INFO L290 TraceCheckUtils]: 21: Hoare triple {22170#true} assume { :end_inline_pg_init_units } true;assume { :begin_inline_pg_detect } true;havoc pg_detect_#res#1;havoc pg_detect_#t~nondet158#1, pg_detect_#t~mem159#1.base, pg_detect_#t~mem159#1.offset, pg_detect_#t~ret160#1, pg_detect_#t~ret161#1, pg_detect_#t~mem162#1.base, pg_detect_#t~mem162#1.offset, pg_detect_#t~mem163#1.base, pg_detect_#t~mem163#1.offset, pg_detect_#t~mem164#1, pg_detect_#t~mem165#1.base, pg_detect_#t~mem165#1.offset, pg_detect_#t~mem166#1, pg_detect_#t~mem167#1, pg_detect_#t~mem168#1, pg_detect_#t~mem169#1, pg_detect_#t~mem170#1, pg_detect_#t~ret171#1, pg_detect_#t~ret172#1, pg_detect_#t~mem173#1.base, pg_detect_#t~mem173#1.offset, pg_detect_#t~nondet174#1, pg_detect_~dev~1#1.base, pg_detect_~dev~1#1.offset, pg_detect_~k~3#1, pg_detect_~unit~1#1, pg_detect_~tmp~12#1, pg_detect_~parm~1#1.base, pg_detect_~parm~1#1.offset, pg_detect_~tmp___0~7#1, pg_detect_~tmp___1~6#1, pg_detect_~tmp___2~5#1;havoc pg_detect_~dev~1#1.base, pg_detect_~dev~1#1.offset;havoc pg_detect_~k~3#1;havoc pg_detect_~unit~1#1;havoc pg_detect_~tmp~12#1;havoc pg_detect_~parm~1#1.base, pg_detect_~parm~1#1.offset;havoc pg_detect_~tmp___0~7#1;havoc pg_detect_~tmp___1~6#1;havoc pg_detect_~tmp___2~5#1;pg_detect_~dev~1#1.base, pg_detect_~dev~1#1.offset := ~#devices~0.base, ~#devices~0.offset;havoc pg_detect_#t~nondet158#1;pg_detect_~k~3#1 := 0; {22243#(= |ULTIMATE.start_pg_detect_~k~3#1| 0)} is VALID [2022-02-20 21:44:53,104 INFO L290 TraceCheckUtils]: 22: Hoare triple {22243#(= |ULTIMATE.start_pg_detect_~k~3#1| 0)} assume !(0 == ~pg_drive_count~0); {22243#(= |ULTIMATE.start_pg_detect_~k~3#1| 0)} is VALID [2022-02-20 21:44:53,105 INFO L290 TraceCheckUtils]: 23: Hoare triple {22243#(= |ULTIMATE.start_pg_detect_~k~3#1| 0)} assume 0 != pg_detect_~k~3#1;pg_detect_#res#1 := 0; {22171#false} is VALID [2022-02-20 21:44:53,105 INFO L290 TraceCheckUtils]: 24: Hoare triple {22171#false} pg_init_#t~ret218#1 := pg_detect_#res#1;assume { :end_inline_pg_detect } true;assume -2147483648 <= pg_init_#t~ret218#1 && pg_init_#t~ret218#1 <= 2147483647;pg_init_~tmp~16#1 := pg_init_#t~ret218#1;havoc pg_init_#t~ret218#1; {22171#false} is VALID [2022-02-20 21:44:53,105 INFO L290 TraceCheckUtils]: 25: Hoare triple {22171#false} assume 0 != pg_init_~tmp~16#1;pg_init_~err~1#1 := -19; {22171#false} is VALID [2022-02-20 21:44:53,105 INFO L290 TraceCheckUtils]: 26: Hoare triple {22171#false} pg_init_#res#1 := pg_init_~err~1#1;call ULTIMATE.dealloc(pg_init_~#__key~0#1.base, pg_init_~#__key~0#1.offset);havoc pg_init_~#__key~0#1.base, pg_init_~#__key~0#1.offset; {22171#false} is VALID [2022-02-20 21:44:53,105 INFO L290 TraceCheckUtils]: 27: Hoare triple {22171#false} main_#t~ret243#1 := pg_init_#res#1;assume { :end_inline_pg_init } true;assume -2147483648 <= main_#t~ret243#1 && main_#t~ret243#1 <= 2147483647;~ldv_retval_1~0 := main_#t~ret243#1;havoc main_#t~ret243#1; {22171#false} is VALID [2022-02-20 21:44:53,106 INFO L290 TraceCheckUtils]: 28: Hoare triple {22171#false} assume 0 == ~ldv_retval_1~0;~ldv_state_variable_0~0 := 3; {22171#false} is VALID [2022-02-20 21:44:53,106 INFO L290 TraceCheckUtils]: 29: Hoare triple {22171#false} assume 0 != ~ldv_retval_1~0;~ldv_state_variable_0~0 := 2; {22171#false} is VALID [2022-02-20 21:44:53,106 INFO L290 TraceCheckUtils]: 30: Hoare triple {22171#false} assume { :begin_inline_ldv_check_final_state } true; {22171#false} is VALID [2022-02-20 21:44:53,106 INFO L290 TraceCheckUtils]: 31: Hoare triple {22171#false} assume !(1 == ~ldv_mutex_cred_guard_mutex_of_signal_struct~0); {22171#false} is VALID [2022-02-20 21:44:53,106 INFO L272 TraceCheckUtils]: 32: Hoare triple {22171#false} call ldv_error(); {22171#false} is VALID [2022-02-20 21:44:53,107 INFO L290 TraceCheckUtils]: 33: Hoare triple {22171#false} assume !false; {22171#false} is VALID [2022-02-20 21:44:53,107 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 21:44:53,107 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 21:44:53,107 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2014168551] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 21:44:53,107 INFO L191 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-02-20 21:44:53,108 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [4] total 5 [2022-02-20 21:44:53,108 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1780700695] [2022-02-20 21:44:53,108 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 21:44:53,108 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 10.333333333333334) internal successors, (31), 3 states have internal predecessors, (31), 2 states have call successors, (2), 2 states have call predecessors, (2), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 34 [2022-02-20 21:44:53,109 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 21:44:53,109 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 10.333333333333334) internal successors, (31), 3 states have internal predecessors, (31), 2 states have call successors, (2), 2 states have call predecessors, (2), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 21:44:53,148 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 34 edges. 34 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 21:44:53,148 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-02-20 21:44:53,148 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 21:44:53,149 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-02-20 21:44:53,149 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2022-02-20 21:44:53,149 INFO L87 Difference]: Start difference. First operand 1090 states and 1488 transitions. Second operand has 3 states, 3 states have (on average 10.333333333333334) internal successors, (31), 3 states have internal predecessors, (31), 2 states have call successors, (2), 2 states have call predecessors, (2), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 21:45:01,646 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 21:45:01,647 INFO L93 Difference]: Finished difference Result 2494 states and 3459 transitions. [2022-02-20 21:45:01,647 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-02-20 21:45:01,647 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 10.333333333333334) internal successors, (31), 3 states have internal predecessors, (31), 2 states have call successors, (2), 2 states have call predecessors, (2), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 34 [2022-02-20 21:45:01,649 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 21:45:01,649 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 10.333333333333334) internal successors, (31), 3 states have internal predecessors, (31), 2 states have call successors, (2), 2 states have call predecessors, (2), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 21:45:01,669 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 1529 transitions. [2022-02-20 21:45:01,669 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 10.333333333333334) internal successors, (31), 3 states have internal predecessors, (31), 2 states have call successors, (2), 2 states have call predecessors, (2), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 21:45:01,688 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 1529 transitions. [2022-02-20 21:45:01,688 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 1529 transitions. [2022-02-20 21:45:02,915 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 1529 edges. 1529 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 21:45:03,028 INFO L225 Difference]: With dead ends: 2494 [2022-02-20 21:45:03,028 INFO L226 Difference]: Without dead ends: 1407 [2022-02-20 21:45:03,032 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 39 GetRequests, 36 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2022-02-20 21:45:03,033 INFO L933 BasicCegarLoop]: 711 mSDtfsCounter, 210 mSDsluCounter, 626 mSDsCounter, 0 mSdLazyCounter, 6 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 235 SdHoareTripleChecker+Valid, 1337 SdHoareTripleChecker+Invalid, 7 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 6 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 21:45:03,034 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [235 Valid, 1337 Invalid, 7 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 6 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 21:45:03,036 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1407 states. [2022-02-20 21:45:03,071 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1407 to 1116. [2022-02-20 21:45:03,072 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 21:45:03,074 INFO L82 GeneralOperation]: Start isEquivalent. First operand 1407 states. Second operand has 1116 states, 835 states have (on average 1.3461077844311378) internal successors, (1124), 847 states have internal predecessors, (1124), 205 states have call successors, (205), 76 states have call predecessors, (205), 75 states have return successors, (199), 199 states have call predecessors, (199), 199 states have call successors, (199) [2022-02-20 21:45:03,077 INFO L74 IsIncluded]: Start isIncluded. First operand 1407 states. Second operand has 1116 states, 835 states have (on average 1.3461077844311378) internal successors, (1124), 847 states have internal predecessors, (1124), 205 states have call successors, (205), 76 states have call predecessors, (205), 75 states have return successors, (199), 199 states have call predecessors, (199), 199 states have call successors, (199) [2022-02-20 21:45:03,079 INFO L87 Difference]: Start difference. First operand 1407 states. Second operand has 1116 states, 835 states have (on average 1.3461077844311378) internal successors, (1124), 847 states have internal predecessors, (1124), 205 states have call successors, (205), 76 states have call predecessors, (205), 75 states have return successors, (199), 199 states have call predecessors, (199), 199 states have call successors, (199) [2022-02-20 21:45:03,186 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 21:45:03,186 INFO L93 Difference]: Finished difference Result 1407 states and 1972 transitions. [2022-02-20 21:45:03,186 INFO L276 IsEmpty]: Start isEmpty. Operand 1407 states and 1972 transitions. [2022-02-20 21:45:03,192 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 21:45:03,192 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 21:45:03,195 INFO L74 IsIncluded]: Start isIncluded. First operand has 1116 states, 835 states have (on average 1.3461077844311378) internal successors, (1124), 847 states have internal predecessors, (1124), 205 states have call successors, (205), 76 states have call predecessors, (205), 75 states have return successors, (199), 199 states have call predecessors, (199), 199 states have call successors, (199) Second operand 1407 states. [2022-02-20 21:45:03,197 INFO L87 Difference]: Start difference. First operand has 1116 states, 835 states have (on average 1.3461077844311378) internal successors, (1124), 847 states have internal predecessors, (1124), 205 states have call successors, (205), 76 states have call predecessors, (205), 75 states have return successors, (199), 199 states have call predecessors, (199), 199 states have call successors, (199) Second operand 1407 states. [2022-02-20 21:45:03,299 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 21:45:03,299 INFO L93 Difference]: Finished difference Result 1407 states and 1972 transitions. [2022-02-20 21:45:03,299 INFO L276 IsEmpty]: Start isEmpty. Operand 1407 states and 1972 transitions. [2022-02-20 21:45:03,304 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 21:45:03,304 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 21:45:03,305 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 21:45:03,305 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 21:45:03,307 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 1116 states, 835 states have (on average 1.3461077844311378) internal successors, (1124), 847 states have internal predecessors, (1124), 205 states have call successors, (205), 76 states have call predecessors, (205), 75 states have return successors, (199), 199 states have call predecessors, (199), 199 states have call successors, (199) [2022-02-20 21:45:03,398 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 1116 states to 1116 states and 1528 transitions. [2022-02-20 21:45:03,399 INFO L78 Accepts]: Start accepts. Automaton has 1116 states and 1528 transitions. Word has length 34 [2022-02-20 21:45:03,399 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 21:45:03,400 INFO L470 AbstractCegarLoop]: Abstraction has 1116 states and 1528 transitions. [2022-02-20 21:45:03,400 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 10.333333333333334) internal successors, (31), 3 states have internal predecessors, (31), 2 states have call successors, (2), 2 states have call predecessors, (2), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 21:45:03,400 INFO L276 IsEmpty]: Start isEmpty. Operand 1116 states and 1528 transitions. [2022-02-20 21:45:03,401 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2022-02-20 21:45:03,401 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 21:45:03,402 INFO L514 BasicCegarLoop]: trace histogram [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-02-20 21:45:03,430 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-02-20 21:45:03,627 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 21:45:03,628 INFO L402 AbstractCegarLoop]: === Iteration 6 === Targeting ldv_errorErr0ASSERT_VIOLATIONERROR_FUNCTION === [ldv_errorErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 21:45:03,628 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 21:45:03,628 INFO L85 PathProgramCache]: Analyzing trace with hash 1010801297, now seen corresponding path program 1 times [2022-02-20 21:45:03,628 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 21:45:03,628 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1002090727] [2022-02-20 21:45:03,628 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 21:45:03,629 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 21:45:03,684 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:45:03,744 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 13 [2022-02-20 21:45:03,746 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:45:03,751 INFO L290 TraceCheckUtils]: 0: Hoare triple {30109#true} ~nr := #in~nr;~addr.base, ~addr.offset := #in~addr.base, #in~addr.offset; {30109#true} is VALID [2022-02-20 21:45:03,752 INFO L290 TraceCheckUtils]: 1: Hoare triple {30109#true} assume true; {30109#true} is VALID [2022-02-20 21:45:03,752 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {30109#true} {30111#(= |ULTIMATE.start_pg_init_units_~unit~0#1| 0)} #1242#return; {30111#(= |ULTIMATE.start_pg_init_units_~unit~0#1| 0)} is VALID [2022-02-20 21:45:03,753 INFO L290 TraceCheckUtils]: 0: Hoare triple {30109#true} assume { :begin_inline_ULTIMATE.init } 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(72, 2);call #Ultimate.allocInit(3, 3);call write~init~int(112, 3, 0, 1);call write~init~int(103, 3, 1, 1);call write~init~int(0, 3, 2, 1);call #Ultimate.allocInit(124, 4);call #Ultimate.allocInit(27, 5);call #Ultimate.allocInit(19, 6);call #Ultimate.allocInit(9, 7);call #Ultimate.allocInit(5, 8);call write~init~int(37, 8, 0, 1);call write~init~int(115, 8, 1, 1);call write~init~int(37, 8, 2, 1);call write~init~int(99, 8, 3, 1);call write~init~int(0, 8, 4, 1);call #Ultimate.allocInit(9, 9);call #Ultimate.allocInit(1, 10);call write~init~int(0, 10, 0, 1);call #Ultimate.allocInit(39, 11);call #Ultimate.allocInit(15, 12);call #Ultimate.allocInit(12, 13);call #Ultimate.allocInit(25, 14);call #Ultimate.allocInit(35, 15);call #Ultimate.allocInit(6, 16);call write~init~int(37, 16, 0, 1);call write~init~int(48, 16, 1, 1);call write~init~int(50, 16, 2, 1);call write~init~int(120, 16, 3, 1);call write~init~int(32, 16, 4, 1);call write~init~int(0, 16, 5, 1);call #Ultimate.allocInit(2, 17);call write~init~int(10, 17, 0, 1);call write~init~int(0, 17, 1, 1);call #Ultimate.allocInit(11, 18);call #Ultimate.allocInit(5, 19);call write~init~int(82, 19, 0, 1);call write~init~int(101, 19, 1, 1);call write~init~int(97, 19, 2, 1);call write~init~int(100, 19, 3, 1);call write~init~int(0, 19, 4, 1);call #Ultimate.allocInit(6, 20);call write~init~int(87, 20, 0, 1);call write~init~int(114, 20, 1, 1);call write~init~int(105, 20, 2, 1);call write~init~int(116, 20, 3, 1);call write~init~int(101, 20, 4, 1);call write~init~int(0, 20, 5, 1);call #Ultimate.allocInit(17, 21);call #Ultimate.allocInit(11, 22);call #Ultimate.allocInit(28, 23);call #Ultimate.allocInit(4, 24);call write~init~int(37, 24, 0, 1);call write~init~int(51, 24, 1, 1);call write~init~int(120, 24, 2, 1);call write~init~int(0, 24, 3, 1);call #Ultimate.allocInit(13, 25);call #Ultimate.allocInit(2, 26);call write~init~int(10, 26, 0, 1);call write~init~int(0, 26, 1, 1);call #Ultimate.allocInit(7, 27);call write~init~int(109, 27, 0, 1);call write~init~int(97, 27, 1, 1);call write~init~int(115, 27, 2, 1);call write~init~int(116, 27, 3, 1);call write~init~int(101, 27, 4, 1);call write~init~int(114, 27, 5, 1);call write~init~int(0, 27, 6, 1);call #Ultimate.allocInit(6, 28);call write~init~int(115, 28, 0, 1);call write~init~int(108, 28, 1, 1);call write~init~int(97, 28, 2, 1);call write~init~int(118, 28, 3, 1);call write~init~int(101, 28, 4, 1);call write~init~int(0, 28, 5, 1);call #Ultimate.allocInit(15, 29);call #Ultimate.allocInit(29, 30);call #Ultimate.allocInit(5, 31);call write~init~int(49, 31, 0, 1);call write~init~int(46, 31, 1, 1);call write~init~int(48, 31, 2, 1);call write~init~int(50, 31, 3, 1);call write~init~int(0, 31, 4, 1);call #Ultimate.allocInit(30, 32);call #Ultimate.allocInit(30, 33);call #Ultimate.allocInit(40, 34);call #Ultimate.allocInit(3, 35);call write~init~int(112, 35, 0, 1);call write~init~int(103, 35, 1, 1);call write~init~int(0, 35, 2, 1);call #Ultimate.allocInit(5, 36);call write~init~int(112, 36, 0, 1);call write~init~int(103, 36, 1, 1);call write~init~int(37, 36, 2, 1);call write~init~int(117, 36, 3, 1);call write~init~int(0, 36, 4, 1);call #Ultimate.allocInit(3, 37);call write~init~int(112, 37, 0, 1);call write~init~int(103, 37, 1, 1);call write~init~int(0, 37, 2, 1);~ldv_state_variable_1~0 := 0;~ref_cnt~0 := 0;~ldv_state_variable_0~0 := 0;~verbose~0 := 0;~major~0 := 97;~name~0.base, ~name~0.offset := 3, 0;~disable~0 := 0;~#drive0~0.base, ~#drive0~0.offset := 38, 0;call #Ultimate.allocInit(24, 38);call write~init~int(0, ~#drive0~0.base, ~#drive0~0.offset, 4);call write~init~int(0, ~#drive0~0.base, 4 + ~#drive0~0.offset, 4);call write~init~int(0, ~#drive0~0.base, 8 + ~#drive0~0.offset, 4);call write~init~int(-1, ~#drive0~0.base, 12 + ~#drive0~0.offset, 4);call write~init~int(-1, ~#drive0~0.base, 16 + ~#drive0~0.offset, 4);call write~init~int(-1, ~#drive0~0.base, 20 + ~#drive0~0.offset, 4);~#drive1~0.base, ~#drive1~0.offset := 39, 0;call #Ultimate.allocInit(24, 39);call write~init~int(0, ~#drive1~0.base, ~#drive1~0.offset, 4);call write~init~int(0, ~#drive1~0.base, 4 + ~#drive1~0.offset, 4);call write~init~int(0, ~#drive1~0.base, 8 + ~#drive1~0.offset, 4);call write~init~int(-1, ~#drive1~0.base, 12 + ~#drive1~0.offset, 4);call write~init~int(-1, ~#drive1~0.base, 16 + ~#drive1~0.offset, 4);call write~init~int(-1, ~#drive1~0.base, 20 + ~#drive1~0.offset, 4);~#drive2~0.base, ~#drive2~0.offset := 40, 0;call #Ultimate.allocInit(24, 40);call write~init~int(0, ~#drive2~0.base, ~#drive2~0.offset, 4);call write~init~int(0, ~#drive2~0.base, 4 + ~#drive2~0.offset, 4);call write~init~int(0, ~#drive2~0.base, 8 + ~#drive2~0.offset, 4);call write~init~int(-1, ~#drive2~0.base, 12 + ~#drive2~0.offset, 4);call write~init~int(-1, ~#drive2~0.base, 16 + ~#drive2~0.offset, 4);call write~init~int(-1, ~#drive2~0.base, 20 + ~#drive2~0.offset, 4);~#drive3~0.base, ~#drive3~0.offset := 41, 0;call #Ultimate.allocInit(24, 41);call write~init~int(0, ~#drive3~0.base, ~#drive3~0.offset, 4);call write~init~int(0, ~#drive3~0.base, 4 + ~#drive3~0.offset, 4);call write~init~int(0, ~#drive3~0.base, 8 + ~#drive3~0.offset, 4);call write~init~int(-1, ~#drive3~0.base, 12 + ~#drive3~0.offset, 4);call write~init~int(-1, ~#drive3~0.base, 16 + ~#drive3~0.offset, 4);call write~init~int(-1, ~#drive3~0.base, 20 + ~#drive3~0.offset, 4);~#drives~0.base, ~#drives~0.offset := 42, 0;call #Ultimate.allocInit(32, 42);call write~init~$Pointer$(~#drive0~0.base, ~#drive0~0.offset, ~#drives~0.base, ~#drives~0.offset, 8);call write~init~$Pointer$(~#drive1~0.base, ~#drive1~0.offset, ~#drives~0.base, 8 + ~#drives~0.offset, 8);call write~init~$Pointer$(~#drive2~0.base, ~#drive2~0.offset, ~#drives~0.base, 16 + ~#drives~0.offset, 8);call write~init~$Pointer$(~#drive3~0.base, ~#drive3~0.offset, ~#drives~0.base, 24 + ~#drives~0.offset, 8);~pg_drive_count~0 := 0;~#pg_mutex~0.base, ~#pg_mutex~0.offset := 43, 0;call #Ultimate.allocInit(156, 43);call write~init~int(1, ~#pg_mutex~0.base, ~#pg_mutex~0.offset, 4);call write~init~int(0, ~#pg_mutex~0.base, 4 + ~#pg_mutex~0.offset, 4);call write~init~int(3735899821, ~#pg_mutex~0.base, 8 + ~#pg_mutex~0.offset, 4);call write~init~int(4294967295, ~#pg_mutex~0.base, 12 + ~#pg_mutex~0.offset, 4);call write~init~$Pointer$(0, -1, ~#pg_mutex~0.base, 16 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_mutex~0.base, 24 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_mutex~0.base, 32 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_mutex~0.base, 40 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(6, 0, ~#pg_mutex~0.base, 48 + ~#pg_mutex~0.offset, 8);call write~init~int(0, ~#pg_mutex~0.base, 56 + ~#pg_mutex~0.offset, 4);call write~init~int(0, ~#pg_mutex~0.base, 60 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(~#pg_mutex~0.base, 72 + ~#pg_mutex~0.offset, ~#pg_mutex~0.base, 72 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(~#pg_mutex~0.base, 72 + ~#pg_mutex~0.offset, ~#pg_mutex~0.base, 80 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_mutex~0.base, 88 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_mutex~0.base, 96 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(~#pg_mutex~0.base, ~#pg_mutex~0.offset, ~#pg_mutex~0.base, 104 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_mutex~0.base, 112 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_mutex~0.base, 120 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_mutex~0.base, 128 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(7, 0, ~#pg_mutex~0.base, 136 + ~#pg_mutex~0.offset, 8);call write~init~int(0, ~#pg_mutex~0.base, 144 + ~#pg_mutex~0.offset, 4);call write~init~int(0, ~#pg_mutex~0.base, 148 + ~#pg_mutex~0.offset, 8);~#devices~0.base, ~#devices~0.offset := 44, 0;call #Ultimate.allocInit(928, 44);#memory_$Pointer$.base, #memory_$Pointer$.offset := ~initToZeroAtPointerBaseAddress~$Pointer$.base(#memory_$Pointer$.base, #memory_$Pointer$.offset, ~#devices~0.base), ~initToZeroAtPointerBaseAddress~$Pointer$.offset(#memory_$Pointer$.base, #memory_$Pointer$.offset, ~#devices~0.base);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#devices~0.base);~#pg_scratch~0.base, ~#pg_scratch~0.offset := 45, 0;call #Ultimate.allocInit(512, 45);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#pg_scratch~0.base);~pg_class~0.base, ~pg_class~0.offset := 0, 0;~#pg_fops~0.base, ~#pg_fops~0.offset := 46, 0;call #Ultimate.allocInit(216, 46);call write~init~$Pointer$(~#__this_module~0.base, ~#__this_module~0.offset, ~#pg_fops~0.base, ~#pg_fops~0.offset, 8);call write~init~$Pointer$(#funAddr~noop_llseek.base, #funAddr~noop_llseek.offset, ~#pg_fops~0.base, 8 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(#funAddr~pg_read.base, #funAddr~pg_read.offset, ~#pg_fops~0.base, 16 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(#funAddr~pg_write.base, #funAddr~pg_write.offset, ~#pg_fops~0.base, 24 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 32 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 40 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 48 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 56 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 64 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 72 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 80 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(#funAddr~pg_open.base, #funAddr~pg_open.offset, ~#pg_fops~0.base, 88 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 96 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(#funAddr~pg_release.base, #funAddr~pg_release.offset, ~#pg_fops~0.base, 104 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 112 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 120 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 128 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 136 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 144 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 152 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 160 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 168 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 176 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 184 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 192 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 200 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 208 + ~#pg_fops~0.offset, 8);~pg_fops_group2~0.base, ~pg_fops_group2~0.offset := 0, 0;~ldvarg7~0 := 0;~ldvarg3~0 := 0;~ldvarg0~0 := 0;~ldvarg5~0.base, ~ldvarg5~0.offset := 0, 0;~ldvarg6~0.base, ~ldvarg6~0.offset := 0, 0;~ldvarg8~0.base, ~ldvarg8~0.offset := 0, 0;~ldvarg1~0 := 0;~ldv_retval_0~0 := 0;~ldvarg4~0.base, ~ldvarg4~0.offset := 0, 0;~ldv_retval_1~0 := 0;~pg_fops_group1~0.base, ~pg_fops_group1~0.offset := 0, 0;~ldvarg2~0.base, ~ldvarg2~0.offset := 0, 0;~ldv_mutex_cred_guard_mutex_of_signal_struct~0 := 0;~ldv_mutex_lock~0 := 0;~ldv_mutex_mutex_of_device~0 := 0;~ldv_mutex_pg_mutex~0 := 0; {30109#true} is VALID [2022-02-20 21:45:03,753 INFO L290 TraceCheckUtils]: 1: Hoare triple {30109#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet231#1, main_#t~switch232#1, main_#t~nondet233#1, main_#t~switch234#1, main_#t~ret235#1, main_#t~ret236#1, main_#t~ret237#1, main_#t~ret238#1, main_#t~ret239#1, main_#t~ret240#1, main_#t~nondet241#1, main_#t~switch242#1, main_#t~ret243#1, main_~tmp~17#1, main_~tmp___0~12#1, main_~tmp___1~11#1;havoc main_~tmp~17#1;havoc main_~tmp___0~12#1;havoc main_~tmp___1~11#1;assume { :begin_inline_ldv_initialize } true;~ldv_mutex_cred_guard_mutex_of_signal_struct~0 := 1;~ldv_mutex_lock~0 := 1;~ldv_mutex_mutex_of_device~0 := 1;~ldv_mutex_pg_mutex~0 := 1; {30109#true} is VALID [2022-02-20 21:45:03,753 INFO L290 TraceCheckUtils]: 2: Hoare triple {30109#true} assume { :end_inline_ldv_initialize } true;~ldv_state_variable_1~0 := 0;~ref_cnt~0 := 0;~ldv_state_variable_0~0 := 1; {30109#true} is VALID [2022-02-20 21:45:03,753 INFO L290 TraceCheckUtils]: 3: Hoare triple {30109#true} assume -2147483648 <= main_#t~nondet231#1 && main_#t~nondet231#1 <= 2147483647;main_~tmp~17#1 := main_#t~nondet231#1;havoc main_#t~nondet231#1;main_#t~switch232#1 := 0 == main_~tmp~17#1; {30109#true} is VALID [2022-02-20 21:45:03,753 INFO L290 TraceCheckUtils]: 4: Hoare triple {30109#true} assume !main_#t~switch232#1;main_#t~switch232#1 := main_#t~switch232#1 || 1 == main_~tmp~17#1; {30109#true} is VALID [2022-02-20 21:45:03,754 INFO L290 TraceCheckUtils]: 5: Hoare triple {30109#true} assume main_#t~switch232#1; {30109#true} is VALID [2022-02-20 21:45:03,754 INFO L290 TraceCheckUtils]: 6: Hoare triple {30109#true} assume 0 != ~ldv_state_variable_0~0;assume -2147483648 <= main_#t~nondet241#1 && main_#t~nondet241#1 <= 2147483647;main_~tmp___1~11#1 := main_#t~nondet241#1;havoc main_#t~nondet241#1;main_#t~switch242#1 := 0 == main_~tmp___1~11#1; {30109#true} is VALID [2022-02-20 21:45:03,754 INFO L290 TraceCheckUtils]: 7: Hoare triple {30109#true} assume !main_#t~switch242#1;main_#t~switch242#1 := main_#t~switch242#1 || 1 == main_~tmp___1~11#1; {30109#true} is VALID [2022-02-20 21:45:03,754 INFO L290 TraceCheckUtils]: 8: Hoare triple {30109#true} assume main_#t~switch242#1; {30109#true} is VALID [2022-02-20 21:45:03,754 INFO L290 TraceCheckUtils]: 9: Hoare triple {30109#true} assume 1 == ~ldv_state_variable_0~0;assume { :begin_inline_pg_init } true;havoc pg_init_#res#1;havoc pg_init_#t~ret218#1, pg_init_#t~ret219#1, pg_init_#t~nondet220#1, pg_init_#t~mem221#1, pg_init_#t~mem222#1.base, pg_init_#t~mem222#1.offset, pg_init_#t~ret223#1.base, pg_init_#t~ret223#1.offset, pg_init_#t~ret224#1, pg_init_#t~ret225#1, pg_init_#t~mem226#1, pg_init_#t~nondet227#1.base, pg_init_#t~nondet227#1.offset, pg_init_~unit~3#1, pg_init_~err~1#1, pg_init_~tmp~16#1, pg_init_~dev~6#1.base, pg_init_~dev~6#1.offset, pg_init_~#__key~0#1.base, pg_init_~#__key~0#1.offset, pg_init_~tmp___0~11#1.base, pg_init_~tmp___0~11#1.offset, pg_init_~tmp___1~10#1, pg_init_~tmp___2~7#1, pg_init_~dev___0~0#1.base, pg_init_~dev___0~0#1.offset;havoc pg_init_~unit~3#1;havoc pg_init_~err~1#1;havoc pg_init_~tmp~16#1;havoc pg_init_~dev~6#1.base, pg_init_~dev~6#1.offset;call pg_init_~#__key~0#1.base, pg_init_~#__key~0#1.offset := #Ultimate.allocOnStack(8);havoc pg_init_~tmp___0~11#1.base, pg_init_~tmp___0~11#1.offset;havoc pg_init_~tmp___1~10#1;havoc pg_init_~tmp___2~7#1;havoc pg_init_~dev___0~0#1.base, pg_init_~dev___0~0#1.offset; {30109#true} is VALID [2022-02-20 21:45:03,755 INFO L290 TraceCheckUtils]: 10: Hoare triple {30109#true} assume !(0 != ~disable~0);assume { :begin_inline_pg_init_units } true;havoc pg_init_units_#t~mem92#1.base, pg_init_units_#t~mem92#1.offset, pg_init_units_#t~mem93#1, pg_init_units_#t~nondet94#1, pg_init_units_#t~mem95#1, pg_init_units_~unit~0#1, pg_init_units_~parm~0#1.base, pg_init_units_~parm~0#1.offset, pg_init_units_~dev~0#1.base, pg_init_units_~dev~0#1.offset;havoc pg_init_units_~unit~0#1;havoc pg_init_units_~parm~0#1.base, pg_init_units_~parm~0#1.offset;havoc pg_init_units_~dev~0#1.base, pg_init_units_~dev~0#1.offset;~pg_drive_count~0 := 0;pg_init_units_~unit~0#1 := 0; {30111#(= |ULTIMATE.start_pg_init_units_~unit~0#1| 0)} is VALID [2022-02-20 21:45:03,755 INFO L290 TraceCheckUtils]: 11: Hoare triple {30111#(= |ULTIMATE.start_pg_init_units_~unit~0#1| 0)} assume pg_init_units_~unit~0#1 <= 3; {30111#(= |ULTIMATE.start_pg_init_units_~unit~0#1| 0)} is VALID [2022-02-20 21:45:03,756 INFO L290 TraceCheckUtils]: 12: Hoare triple {30111#(= |ULTIMATE.start_pg_init_units_~unit~0#1| 0)} call pg_init_units_#t~mem92#1.base, pg_init_units_#t~mem92#1.offset := read~$Pointer$(~#drives~0.base, ~#drives~0.offset + 8 * pg_init_units_~unit~0#1, 8);pg_init_units_~parm~0#1.base, pg_init_units_~parm~0#1.offset := pg_init_units_#t~mem92#1.base, pg_init_units_#t~mem92#1.offset;havoc pg_init_units_#t~mem92#1.base, pg_init_units_#t~mem92#1.offset;pg_init_units_~dev~0#1.base, pg_init_units_~dev~0#1.offset := ~#devices~0.base, ~#devices~0.offset + 232 * (if pg_init_units_~unit~0#1 % 18446744073709551616 % 18446744073709551616 <= 9223372036854775807 then pg_init_units_~unit~0#1 % 18446744073709551616 % 18446744073709551616 else pg_init_units_~unit~0#1 % 18446744073709551616 % 18446744073709551616 - 18446744073709551616);call write~$Pointer$(pg_init_units_~dev~0#1.base, pg_init_units_~dev~0#1.offset, pg_init_units_~dev~0#1.base, 168 + pg_init_units_~dev~0#1.offset, 8); {30111#(= |ULTIMATE.start_pg_init_units_~unit~0#1| 0)} is VALID [2022-02-20 21:45:03,756 INFO L272 TraceCheckUtils]: 13: Hoare triple {30111#(= |ULTIMATE.start_pg_init_units_~unit~0#1| 0)} call clear_bit(0, pg_init_units_~dev~0#1.base, 204 + pg_init_units_~dev~0#1.offset); {30109#true} is VALID [2022-02-20 21:45:03,756 INFO L290 TraceCheckUtils]: 14: Hoare triple {30109#true} ~nr := #in~nr;~addr.base, ~addr.offset := #in~addr.base, #in~addr.offset; {30109#true} is VALID [2022-02-20 21:45:03,756 INFO L290 TraceCheckUtils]: 15: Hoare triple {30109#true} assume true; {30109#true} is VALID [2022-02-20 21:45:03,757 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {30109#true} {30111#(= |ULTIMATE.start_pg_init_units_~unit~0#1| 0)} #1242#return; {30111#(= |ULTIMATE.start_pg_init_units_~unit~0#1| 0)} is VALID [2022-02-20 21:45:03,757 INFO L290 TraceCheckUtils]: 17: Hoare triple {30111#(= |ULTIMATE.start_pg_init_units_~unit~0#1| 0)} call write~int(0, pg_init_units_~dev~0#1.base, 176 + pg_init_units_~dev~0#1.offset, 4);call write~int(0, pg_init_units_~dev~0#1.base, 212 + pg_init_units_~dev~0#1.offset, 4);call write~$Pointer$(0, 0, pg_init_units_~dev~0#1.base, 216 + pg_init_units_~dev~0#1.offset, 8);call pg_init_units_#t~mem93#1 := read~int(pg_init_units_~parm~0#1.base, 16 + pg_init_units_~parm~0#1.offset, 4);call write~int(pg_init_units_#t~mem93#1, pg_init_units_~dev~0#1.base, 200 + pg_init_units_~dev~0#1.offset, 4);havoc pg_init_units_#t~mem93#1;havoc pg_init_units_#t~nondet94#1;call pg_init_units_#t~mem95#1 := read~int(pg_init_units_~parm~0#1.base, pg_init_units_~parm~0#1.offset, 4); {30111#(= |ULTIMATE.start_pg_init_units_~unit~0#1| 0)} is VALID [2022-02-20 21:45:03,758 INFO L290 TraceCheckUtils]: 18: Hoare triple {30111#(= |ULTIMATE.start_pg_init_units_~unit~0#1| 0)} assume 0 != pg_init_units_#t~mem95#1;havoc pg_init_units_#t~mem95#1;~pg_drive_count~0 := 1 + ~pg_drive_count~0; {30111#(= |ULTIMATE.start_pg_init_units_~unit~0#1| 0)} is VALID [2022-02-20 21:45:03,758 INFO L290 TraceCheckUtils]: 19: Hoare triple {30111#(= |ULTIMATE.start_pg_init_units_~unit~0#1| 0)} pg_init_units_~unit~0#1 := 1 + pg_init_units_~unit~0#1; {30115#(<= |ULTIMATE.start_pg_init_units_~unit~0#1| 1)} is VALID [2022-02-20 21:45:03,759 INFO L290 TraceCheckUtils]: 20: Hoare triple {30115#(<= |ULTIMATE.start_pg_init_units_~unit~0#1| 1)} assume !(pg_init_units_~unit~0#1 <= 3); {30110#false} is VALID [2022-02-20 21:45:03,759 INFO L290 TraceCheckUtils]: 21: Hoare triple {30110#false} assume { :end_inline_pg_init_units } true;assume { :begin_inline_pg_detect } true;havoc pg_detect_#res#1;havoc pg_detect_#t~nondet158#1, pg_detect_#t~mem159#1.base, pg_detect_#t~mem159#1.offset, pg_detect_#t~ret160#1, pg_detect_#t~ret161#1, pg_detect_#t~mem162#1.base, pg_detect_#t~mem162#1.offset, pg_detect_#t~mem163#1.base, pg_detect_#t~mem163#1.offset, pg_detect_#t~mem164#1, pg_detect_#t~mem165#1.base, pg_detect_#t~mem165#1.offset, pg_detect_#t~mem166#1, pg_detect_#t~mem167#1, pg_detect_#t~mem168#1, pg_detect_#t~mem169#1, pg_detect_#t~mem170#1, pg_detect_#t~ret171#1, pg_detect_#t~ret172#1, pg_detect_#t~mem173#1.base, pg_detect_#t~mem173#1.offset, pg_detect_#t~nondet174#1, pg_detect_~dev~1#1.base, pg_detect_~dev~1#1.offset, pg_detect_~k~3#1, pg_detect_~unit~1#1, pg_detect_~tmp~12#1, pg_detect_~parm~1#1.base, pg_detect_~parm~1#1.offset, pg_detect_~tmp___0~7#1, pg_detect_~tmp___1~6#1, pg_detect_~tmp___2~5#1;havoc pg_detect_~dev~1#1.base, pg_detect_~dev~1#1.offset;havoc pg_detect_~k~3#1;havoc pg_detect_~unit~1#1;havoc pg_detect_~tmp~12#1;havoc pg_detect_~parm~1#1.base, pg_detect_~parm~1#1.offset;havoc pg_detect_~tmp___0~7#1;havoc pg_detect_~tmp___1~6#1;havoc pg_detect_~tmp___2~5#1;pg_detect_~dev~1#1.base, pg_detect_~dev~1#1.offset := ~#devices~0.base, ~#devices~0.offset;havoc pg_detect_#t~nondet158#1;pg_detect_~k~3#1 := 0; {30110#false} is VALID [2022-02-20 21:45:03,759 INFO L290 TraceCheckUtils]: 22: Hoare triple {30110#false} assume !(0 == ~pg_drive_count~0); {30110#false} is VALID [2022-02-20 21:45:03,759 INFO L290 TraceCheckUtils]: 23: Hoare triple {30110#false} assume !(0 != pg_detect_~k~3#1);havoc pg_detect_#t~nondet174#1;pg_detect_#res#1 := -1; {30110#false} is VALID [2022-02-20 21:45:03,760 INFO L290 TraceCheckUtils]: 24: Hoare triple {30110#false} pg_init_#t~ret218#1 := pg_detect_#res#1;assume { :end_inline_pg_detect } true;assume -2147483648 <= pg_init_#t~ret218#1 && pg_init_#t~ret218#1 <= 2147483647;pg_init_~tmp~16#1 := pg_init_#t~ret218#1;havoc pg_init_#t~ret218#1; {30110#false} is VALID [2022-02-20 21:45:03,760 INFO L290 TraceCheckUtils]: 25: Hoare triple {30110#false} assume 0 != pg_init_~tmp~16#1;pg_init_~err~1#1 := -19; {30110#false} is VALID [2022-02-20 21:45:03,760 INFO L290 TraceCheckUtils]: 26: Hoare triple {30110#false} pg_init_#res#1 := pg_init_~err~1#1;call ULTIMATE.dealloc(pg_init_~#__key~0#1.base, pg_init_~#__key~0#1.offset);havoc pg_init_~#__key~0#1.base, pg_init_~#__key~0#1.offset; {30110#false} is VALID [2022-02-20 21:45:03,760 INFO L290 TraceCheckUtils]: 27: Hoare triple {30110#false} main_#t~ret243#1 := pg_init_#res#1;assume { :end_inline_pg_init } true;assume -2147483648 <= main_#t~ret243#1 && main_#t~ret243#1 <= 2147483647;~ldv_retval_1~0 := main_#t~ret243#1;havoc main_#t~ret243#1; {30110#false} is VALID [2022-02-20 21:45:03,760 INFO L290 TraceCheckUtils]: 28: Hoare triple {30110#false} assume 0 == ~ldv_retval_1~0;~ldv_state_variable_0~0 := 3; {30110#false} is VALID [2022-02-20 21:45:03,760 INFO L290 TraceCheckUtils]: 29: Hoare triple {30110#false} assume 0 != ~ldv_retval_1~0;~ldv_state_variable_0~0 := 2; {30110#false} is VALID [2022-02-20 21:45:03,761 INFO L290 TraceCheckUtils]: 30: Hoare triple {30110#false} assume { :begin_inline_ldv_check_final_state } true; {30110#false} is VALID [2022-02-20 21:45:03,761 INFO L290 TraceCheckUtils]: 31: Hoare triple {30110#false} assume !(1 == ~ldv_mutex_cred_guard_mutex_of_signal_struct~0); {30110#false} is VALID [2022-02-20 21:45:03,761 INFO L272 TraceCheckUtils]: 32: Hoare triple {30110#false} call ldv_error(); {30110#false} is VALID [2022-02-20 21:45:03,761 INFO L290 TraceCheckUtils]: 33: Hoare triple {30110#false} assume !false; {30110#false} is VALID [2022-02-20 21:45:03,762 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 21:45:03,762 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 21:45:03,762 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1002090727] [2022-02-20 21:45:03,763 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1002090727] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 21:45:03,763 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1035383041] [2022-02-20 21:45:03,763 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 21:45:03,763 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 21:45:03,763 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 21:45:03,768 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-02-20 21:45:03,770 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-02-20 21:45:04,027 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:45:04,031 INFO L263 TraceCheckSpWp]: Trace formula consists of 856 conjuncts, 3 conjunts are in the unsatisfiable core [2022-02-20 21:45:04,052 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:45:04,055 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 21:45:04,129 INFO L290 TraceCheckUtils]: 0: Hoare triple {30109#true} assume { :begin_inline_ULTIMATE.init } 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(72, 2);call #Ultimate.allocInit(3, 3);call write~init~int(112, 3, 0, 1);call write~init~int(103, 3, 1, 1);call write~init~int(0, 3, 2, 1);call #Ultimate.allocInit(124, 4);call #Ultimate.allocInit(27, 5);call #Ultimate.allocInit(19, 6);call #Ultimate.allocInit(9, 7);call #Ultimate.allocInit(5, 8);call write~init~int(37, 8, 0, 1);call write~init~int(115, 8, 1, 1);call write~init~int(37, 8, 2, 1);call write~init~int(99, 8, 3, 1);call write~init~int(0, 8, 4, 1);call #Ultimate.allocInit(9, 9);call #Ultimate.allocInit(1, 10);call write~init~int(0, 10, 0, 1);call #Ultimate.allocInit(39, 11);call #Ultimate.allocInit(15, 12);call #Ultimate.allocInit(12, 13);call #Ultimate.allocInit(25, 14);call #Ultimate.allocInit(35, 15);call #Ultimate.allocInit(6, 16);call write~init~int(37, 16, 0, 1);call write~init~int(48, 16, 1, 1);call write~init~int(50, 16, 2, 1);call write~init~int(120, 16, 3, 1);call write~init~int(32, 16, 4, 1);call write~init~int(0, 16, 5, 1);call #Ultimate.allocInit(2, 17);call write~init~int(10, 17, 0, 1);call write~init~int(0, 17, 1, 1);call #Ultimate.allocInit(11, 18);call #Ultimate.allocInit(5, 19);call write~init~int(82, 19, 0, 1);call write~init~int(101, 19, 1, 1);call write~init~int(97, 19, 2, 1);call write~init~int(100, 19, 3, 1);call write~init~int(0, 19, 4, 1);call #Ultimate.allocInit(6, 20);call write~init~int(87, 20, 0, 1);call write~init~int(114, 20, 1, 1);call write~init~int(105, 20, 2, 1);call write~init~int(116, 20, 3, 1);call write~init~int(101, 20, 4, 1);call write~init~int(0, 20, 5, 1);call #Ultimate.allocInit(17, 21);call #Ultimate.allocInit(11, 22);call #Ultimate.allocInit(28, 23);call #Ultimate.allocInit(4, 24);call write~init~int(37, 24, 0, 1);call write~init~int(51, 24, 1, 1);call write~init~int(120, 24, 2, 1);call write~init~int(0, 24, 3, 1);call #Ultimate.allocInit(13, 25);call #Ultimate.allocInit(2, 26);call write~init~int(10, 26, 0, 1);call write~init~int(0, 26, 1, 1);call #Ultimate.allocInit(7, 27);call write~init~int(109, 27, 0, 1);call write~init~int(97, 27, 1, 1);call write~init~int(115, 27, 2, 1);call write~init~int(116, 27, 3, 1);call write~init~int(101, 27, 4, 1);call write~init~int(114, 27, 5, 1);call write~init~int(0, 27, 6, 1);call #Ultimate.allocInit(6, 28);call write~init~int(115, 28, 0, 1);call write~init~int(108, 28, 1, 1);call write~init~int(97, 28, 2, 1);call write~init~int(118, 28, 3, 1);call write~init~int(101, 28, 4, 1);call write~init~int(0, 28, 5, 1);call #Ultimate.allocInit(15, 29);call #Ultimate.allocInit(29, 30);call #Ultimate.allocInit(5, 31);call write~init~int(49, 31, 0, 1);call write~init~int(46, 31, 1, 1);call write~init~int(48, 31, 2, 1);call write~init~int(50, 31, 3, 1);call write~init~int(0, 31, 4, 1);call #Ultimate.allocInit(30, 32);call #Ultimate.allocInit(30, 33);call #Ultimate.allocInit(40, 34);call #Ultimate.allocInit(3, 35);call write~init~int(112, 35, 0, 1);call write~init~int(103, 35, 1, 1);call write~init~int(0, 35, 2, 1);call #Ultimate.allocInit(5, 36);call write~init~int(112, 36, 0, 1);call write~init~int(103, 36, 1, 1);call write~init~int(37, 36, 2, 1);call write~init~int(117, 36, 3, 1);call write~init~int(0, 36, 4, 1);call #Ultimate.allocInit(3, 37);call write~init~int(112, 37, 0, 1);call write~init~int(103, 37, 1, 1);call write~init~int(0, 37, 2, 1);~ldv_state_variable_1~0 := 0;~ref_cnt~0 := 0;~ldv_state_variable_0~0 := 0;~verbose~0 := 0;~major~0 := 97;~name~0.base, ~name~0.offset := 3, 0;~disable~0 := 0;~#drive0~0.base, ~#drive0~0.offset := 38, 0;call #Ultimate.allocInit(24, 38);call write~init~int(0, ~#drive0~0.base, ~#drive0~0.offset, 4);call write~init~int(0, ~#drive0~0.base, 4 + ~#drive0~0.offset, 4);call write~init~int(0, ~#drive0~0.base, 8 + ~#drive0~0.offset, 4);call write~init~int(-1, ~#drive0~0.base, 12 + ~#drive0~0.offset, 4);call write~init~int(-1, ~#drive0~0.base, 16 + ~#drive0~0.offset, 4);call write~init~int(-1, ~#drive0~0.base, 20 + ~#drive0~0.offset, 4);~#drive1~0.base, ~#drive1~0.offset := 39, 0;call #Ultimate.allocInit(24, 39);call write~init~int(0, ~#drive1~0.base, ~#drive1~0.offset, 4);call write~init~int(0, ~#drive1~0.base, 4 + ~#drive1~0.offset, 4);call write~init~int(0, ~#drive1~0.base, 8 + ~#drive1~0.offset, 4);call write~init~int(-1, ~#drive1~0.base, 12 + ~#drive1~0.offset, 4);call write~init~int(-1, ~#drive1~0.base, 16 + ~#drive1~0.offset, 4);call write~init~int(-1, ~#drive1~0.base, 20 + ~#drive1~0.offset, 4);~#drive2~0.base, ~#drive2~0.offset := 40, 0;call #Ultimate.allocInit(24, 40);call write~init~int(0, ~#drive2~0.base, ~#drive2~0.offset, 4);call write~init~int(0, ~#drive2~0.base, 4 + ~#drive2~0.offset, 4);call write~init~int(0, ~#drive2~0.base, 8 + ~#drive2~0.offset, 4);call write~init~int(-1, ~#drive2~0.base, 12 + ~#drive2~0.offset, 4);call write~init~int(-1, ~#drive2~0.base, 16 + ~#drive2~0.offset, 4);call write~init~int(-1, ~#drive2~0.base, 20 + ~#drive2~0.offset, 4);~#drive3~0.base, ~#drive3~0.offset := 41, 0;call #Ultimate.allocInit(24, 41);call write~init~int(0, ~#drive3~0.base, ~#drive3~0.offset, 4);call write~init~int(0, ~#drive3~0.base, 4 + ~#drive3~0.offset, 4);call write~init~int(0, ~#drive3~0.base, 8 + ~#drive3~0.offset, 4);call write~init~int(-1, ~#drive3~0.base, 12 + ~#drive3~0.offset, 4);call write~init~int(-1, ~#drive3~0.base, 16 + ~#drive3~0.offset, 4);call write~init~int(-1, ~#drive3~0.base, 20 + ~#drive3~0.offset, 4);~#drives~0.base, ~#drives~0.offset := 42, 0;call #Ultimate.allocInit(32, 42);call write~init~$Pointer$(~#drive0~0.base, ~#drive0~0.offset, ~#drives~0.base, ~#drives~0.offset, 8);call write~init~$Pointer$(~#drive1~0.base, ~#drive1~0.offset, ~#drives~0.base, 8 + ~#drives~0.offset, 8);call write~init~$Pointer$(~#drive2~0.base, ~#drive2~0.offset, ~#drives~0.base, 16 + ~#drives~0.offset, 8);call write~init~$Pointer$(~#drive3~0.base, ~#drive3~0.offset, ~#drives~0.base, 24 + ~#drives~0.offset, 8);~pg_drive_count~0 := 0;~#pg_mutex~0.base, ~#pg_mutex~0.offset := 43, 0;call #Ultimate.allocInit(156, 43);call write~init~int(1, ~#pg_mutex~0.base, ~#pg_mutex~0.offset, 4);call write~init~int(0, ~#pg_mutex~0.base, 4 + ~#pg_mutex~0.offset, 4);call write~init~int(3735899821, ~#pg_mutex~0.base, 8 + ~#pg_mutex~0.offset, 4);call write~init~int(4294967295, ~#pg_mutex~0.base, 12 + ~#pg_mutex~0.offset, 4);call write~init~$Pointer$(0, -1, ~#pg_mutex~0.base, 16 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_mutex~0.base, 24 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_mutex~0.base, 32 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_mutex~0.base, 40 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(6, 0, ~#pg_mutex~0.base, 48 + ~#pg_mutex~0.offset, 8);call write~init~int(0, ~#pg_mutex~0.base, 56 + ~#pg_mutex~0.offset, 4);call write~init~int(0, ~#pg_mutex~0.base, 60 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(~#pg_mutex~0.base, 72 + ~#pg_mutex~0.offset, ~#pg_mutex~0.base, 72 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(~#pg_mutex~0.base, 72 + ~#pg_mutex~0.offset, ~#pg_mutex~0.base, 80 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_mutex~0.base, 88 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_mutex~0.base, 96 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(~#pg_mutex~0.base, ~#pg_mutex~0.offset, ~#pg_mutex~0.base, 104 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_mutex~0.base, 112 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_mutex~0.base, 120 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_mutex~0.base, 128 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(7, 0, ~#pg_mutex~0.base, 136 + ~#pg_mutex~0.offset, 8);call write~init~int(0, ~#pg_mutex~0.base, 144 + ~#pg_mutex~0.offset, 4);call write~init~int(0, ~#pg_mutex~0.base, 148 + ~#pg_mutex~0.offset, 8);~#devices~0.base, ~#devices~0.offset := 44, 0;call #Ultimate.allocInit(928, 44);#memory_$Pointer$.base, #memory_$Pointer$.offset := ~initToZeroAtPointerBaseAddress~$Pointer$.base(#memory_$Pointer$.base, #memory_$Pointer$.offset, ~#devices~0.base), ~initToZeroAtPointerBaseAddress~$Pointer$.offset(#memory_$Pointer$.base, #memory_$Pointer$.offset, ~#devices~0.base);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#devices~0.base);~#pg_scratch~0.base, ~#pg_scratch~0.offset := 45, 0;call #Ultimate.allocInit(512, 45);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#pg_scratch~0.base);~pg_class~0.base, ~pg_class~0.offset := 0, 0;~#pg_fops~0.base, ~#pg_fops~0.offset := 46, 0;call #Ultimate.allocInit(216, 46);call write~init~$Pointer$(~#__this_module~0.base, ~#__this_module~0.offset, ~#pg_fops~0.base, ~#pg_fops~0.offset, 8);call write~init~$Pointer$(#funAddr~noop_llseek.base, #funAddr~noop_llseek.offset, ~#pg_fops~0.base, 8 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(#funAddr~pg_read.base, #funAddr~pg_read.offset, ~#pg_fops~0.base, 16 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(#funAddr~pg_write.base, #funAddr~pg_write.offset, ~#pg_fops~0.base, 24 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 32 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 40 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 48 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 56 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 64 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 72 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 80 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(#funAddr~pg_open.base, #funAddr~pg_open.offset, ~#pg_fops~0.base, 88 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 96 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(#funAddr~pg_release.base, #funAddr~pg_release.offset, ~#pg_fops~0.base, 104 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 112 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 120 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 128 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 136 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 144 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 152 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 160 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 168 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 176 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 184 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 192 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 200 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 208 + ~#pg_fops~0.offset, 8);~pg_fops_group2~0.base, ~pg_fops_group2~0.offset := 0, 0;~ldvarg7~0 := 0;~ldvarg3~0 := 0;~ldvarg0~0 := 0;~ldvarg5~0.base, ~ldvarg5~0.offset := 0, 0;~ldvarg6~0.base, ~ldvarg6~0.offset := 0, 0;~ldvarg8~0.base, ~ldvarg8~0.offset := 0, 0;~ldvarg1~0 := 0;~ldv_retval_0~0 := 0;~ldvarg4~0.base, ~ldvarg4~0.offset := 0, 0;~ldv_retval_1~0 := 0;~pg_fops_group1~0.base, ~pg_fops_group1~0.offset := 0, 0;~ldvarg2~0.base, ~ldvarg2~0.offset := 0, 0;~ldv_mutex_cred_guard_mutex_of_signal_struct~0 := 0;~ldv_mutex_lock~0 := 0;~ldv_mutex_mutex_of_device~0 := 0;~ldv_mutex_pg_mutex~0 := 0; {30109#true} is VALID [2022-02-20 21:45:04,130 INFO L290 TraceCheckUtils]: 1: Hoare triple {30109#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet231#1, main_#t~switch232#1, main_#t~nondet233#1, main_#t~switch234#1, main_#t~ret235#1, main_#t~ret236#1, main_#t~ret237#1, main_#t~ret238#1, main_#t~ret239#1, main_#t~ret240#1, main_#t~nondet241#1, main_#t~switch242#1, main_#t~ret243#1, main_~tmp~17#1, main_~tmp___0~12#1, main_~tmp___1~11#1;havoc main_~tmp~17#1;havoc main_~tmp___0~12#1;havoc main_~tmp___1~11#1;assume { :begin_inline_ldv_initialize } true;~ldv_mutex_cred_guard_mutex_of_signal_struct~0 := 1;~ldv_mutex_lock~0 := 1;~ldv_mutex_mutex_of_device~0 := 1;~ldv_mutex_pg_mutex~0 := 1; {30109#true} is VALID [2022-02-20 21:45:04,131 INFO L290 TraceCheckUtils]: 2: Hoare triple {30109#true} assume { :end_inline_ldv_initialize } true;~ldv_state_variable_1~0 := 0;~ref_cnt~0 := 0;~ldv_state_variable_0~0 := 1; {30109#true} is VALID [2022-02-20 21:45:04,131 INFO L290 TraceCheckUtils]: 3: Hoare triple {30109#true} assume -2147483648 <= main_#t~nondet231#1 && main_#t~nondet231#1 <= 2147483647;main_~tmp~17#1 := main_#t~nondet231#1;havoc main_#t~nondet231#1;main_#t~switch232#1 := 0 == main_~tmp~17#1; {30109#true} is VALID [2022-02-20 21:45:04,131 INFO L290 TraceCheckUtils]: 4: Hoare triple {30109#true} assume !main_#t~switch232#1;main_#t~switch232#1 := main_#t~switch232#1 || 1 == main_~tmp~17#1; {30109#true} is VALID [2022-02-20 21:45:04,131 INFO L290 TraceCheckUtils]: 5: Hoare triple {30109#true} assume main_#t~switch232#1; {30109#true} is VALID [2022-02-20 21:45:04,132 INFO L290 TraceCheckUtils]: 6: Hoare triple {30109#true} assume 0 != ~ldv_state_variable_0~0;assume -2147483648 <= main_#t~nondet241#1 && main_#t~nondet241#1 <= 2147483647;main_~tmp___1~11#1 := main_#t~nondet241#1;havoc main_#t~nondet241#1;main_#t~switch242#1 := 0 == main_~tmp___1~11#1; {30109#true} is VALID [2022-02-20 21:45:04,132 INFO L290 TraceCheckUtils]: 7: Hoare triple {30109#true} assume !main_#t~switch242#1;main_#t~switch242#1 := main_#t~switch242#1 || 1 == main_~tmp___1~11#1; {30109#true} is VALID [2022-02-20 21:45:04,132 INFO L290 TraceCheckUtils]: 8: Hoare triple {30109#true} assume main_#t~switch242#1; {30109#true} is VALID [2022-02-20 21:45:04,132 INFO L290 TraceCheckUtils]: 9: Hoare triple {30109#true} assume 1 == ~ldv_state_variable_0~0;assume { :begin_inline_pg_init } true;havoc pg_init_#res#1;havoc pg_init_#t~ret218#1, pg_init_#t~ret219#1, pg_init_#t~nondet220#1, pg_init_#t~mem221#1, pg_init_#t~mem222#1.base, pg_init_#t~mem222#1.offset, pg_init_#t~ret223#1.base, pg_init_#t~ret223#1.offset, pg_init_#t~ret224#1, pg_init_#t~ret225#1, pg_init_#t~mem226#1, pg_init_#t~nondet227#1.base, pg_init_#t~nondet227#1.offset, pg_init_~unit~3#1, pg_init_~err~1#1, pg_init_~tmp~16#1, pg_init_~dev~6#1.base, pg_init_~dev~6#1.offset, pg_init_~#__key~0#1.base, pg_init_~#__key~0#1.offset, pg_init_~tmp___0~11#1.base, pg_init_~tmp___0~11#1.offset, pg_init_~tmp___1~10#1, pg_init_~tmp___2~7#1, pg_init_~dev___0~0#1.base, pg_init_~dev___0~0#1.offset;havoc pg_init_~unit~3#1;havoc pg_init_~err~1#1;havoc pg_init_~tmp~16#1;havoc pg_init_~dev~6#1.base, pg_init_~dev~6#1.offset;call pg_init_~#__key~0#1.base, pg_init_~#__key~0#1.offset := #Ultimate.allocOnStack(8);havoc pg_init_~tmp___0~11#1.base, pg_init_~tmp___0~11#1.offset;havoc pg_init_~tmp___1~10#1;havoc pg_init_~tmp___2~7#1;havoc pg_init_~dev___0~0#1.base, pg_init_~dev___0~0#1.offset; {30109#true} is VALID [2022-02-20 21:45:04,132 INFO L290 TraceCheckUtils]: 10: Hoare triple {30109#true} assume !(0 != ~disable~0);assume { :begin_inline_pg_init_units } true;havoc pg_init_units_#t~mem92#1.base, pg_init_units_#t~mem92#1.offset, pg_init_units_#t~mem93#1, pg_init_units_#t~nondet94#1, pg_init_units_#t~mem95#1, pg_init_units_~unit~0#1, pg_init_units_~parm~0#1.base, pg_init_units_~parm~0#1.offset, pg_init_units_~dev~0#1.base, pg_init_units_~dev~0#1.offset;havoc pg_init_units_~unit~0#1;havoc pg_init_units_~parm~0#1.base, pg_init_units_~parm~0#1.offset;havoc pg_init_units_~dev~0#1.base, pg_init_units_~dev~0#1.offset;~pg_drive_count~0 := 0;pg_init_units_~unit~0#1 := 0; {30109#true} is VALID [2022-02-20 21:45:04,133 INFO L290 TraceCheckUtils]: 11: Hoare triple {30109#true} assume pg_init_units_~unit~0#1 <= 3; {30109#true} is VALID [2022-02-20 21:45:04,133 INFO L290 TraceCheckUtils]: 12: Hoare triple {30109#true} call pg_init_units_#t~mem92#1.base, pg_init_units_#t~mem92#1.offset := read~$Pointer$(~#drives~0.base, ~#drives~0.offset + 8 * pg_init_units_~unit~0#1, 8);pg_init_units_~parm~0#1.base, pg_init_units_~parm~0#1.offset := pg_init_units_#t~mem92#1.base, pg_init_units_#t~mem92#1.offset;havoc pg_init_units_#t~mem92#1.base, pg_init_units_#t~mem92#1.offset;pg_init_units_~dev~0#1.base, pg_init_units_~dev~0#1.offset := ~#devices~0.base, ~#devices~0.offset + 232 * (if pg_init_units_~unit~0#1 % 18446744073709551616 % 18446744073709551616 <= 9223372036854775807 then pg_init_units_~unit~0#1 % 18446744073709551616 % 18446744073709551616 else pg_init_units_~unit~0#1 % 18446744073709551616 % 18446744073709551616 - 18446744073709551616);call write~$Pointer$(pg_init_units_~dev~0#1.base, pg_init_units_~dev~0#1.offset, pg_init_units_~dev~0#1.base, 168 + pg_init_units_~dev~0#1.offset, 8); {30109#true} is VALID [2022-02-20 21:45:04,133 INFO L272 TraceCheckUtils]: 13: Hoare triple {30109#true} call clear_bit(0, pg_init_units_~dev~0#1.base, 204 + pg_init_units_~dev~0#1.offset); {30109#true} is VALID [2022-02-20 21:45:04,133 INFO L290 TraceCheckUtils]: 14: Hoare triple {30109#true} ~nr := #in~nr;~addr.base, ~addr.offset := #in~addr.base, #in~addr.offset; {30109#true} is VALID [2022-02-20 21:45:04,133 INFO L290 TraceCheckUtils]: 15: Hoare triple {30109#true} assume true; {30109#true} is VALID [2022-02-20 21:45:04,133 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {30109#true} {30109#true} #1242#return; {30109#true} is VALID [2022-02-20 21:45:04,134 INFO L290 TraceCheckUtils]: 17: Hoare triple {30109#true} call write~int(0, pg_init_units_~dev~0#1.base, 176 + pg_init_units_~dev~0#1.offset, 4);call write~int(0, pg_init_units_~dev~0#1.base, 212 + pg_init_units_~dev~0#1.offset, 4);call write~$Pointer$(0, 0, pg_init_units_~dev~0#1.base, 216 + pg_init_units_~dev~0#1.offset, 8);call pg_init_units_#t~mem93#1 := read~int(pg_init_units_~parm~0#1.base, 16 + pg_init_units_~parm~0#1.offset, 4);call write~int(pg_init_units_#t~mem93#1, pg_init_units_~dev~0#1.base, 200 + pg_init_units_~dev~0#1.offset, 4);havoc pg_init_units_#t~mem93#1;havoc pg_init_units_#t~nondet94#1;call pg_init_units_#t~mem95#1 := read~int(pg_init_units_~parm~0#1.base, pg_init_units_~parm~0#1.offset, 4); {30109#true} is VALID [2022-02-20 21:45:04,134 INFO L290 TraceCheckUtils]: 18: Hoare triple {30109#true} assume 0 != pg_init_units_#t~mem95#1;havoc pg_init_units_#t~mem95#1;~pg_drive_count~0 := 1 + ~pg_drive_count~0; {30109#true} is VALID [2022-02-20 21:45:04,134 INFO L290 TraceCheckUtils]: 19: Hoare triple {30109#true} pg_init_units_~unit~0#1 := 1 + pg_init_units_~unit~0#1; {30109#true} is VALID [2022-02-20 21:45:04,134 INFO L290 TraceCheckUtils]: 20: Hoare triple {30109#true} assume !(pg_init_units_~unit~0#1 <= 3); {30109#true} is VALID [2022-02-20 21:45:04,134 INFO L290 TraceCheckUtils]: 21: Hoare triple {30109#true} assume { :end_inline_pg_init_units } true;assume { :begin_inline_pg_detect } true;havoc pg_detect_#res#1;havoc pg_detect_#t~nondet158#1, pg_detect_#t~mem159#1.base, pg_detect_#t~mem159#1.offset, pg_detect_#t~ret160#1, pg_detect_#t~ret161#1, pg_detect_#t~mem162#1.base, pg_detect_#t~mem162#1.offset, pg_detect_#t~mem163#1.base, pg_detect_#t~mem163#1.offset, pg_detect_#t~mem164#1, pg_detect_#t~mem165#1.base, pg_detect_#t~mem165#1.offset, pg_detect_#t~mem166#1, pg_detect_#t~mem167#1, pg_detect_#t~mem168#1, pg_detect_#t~mem169#1, pg_detect_#t~mem170#1, pg_detect_#t~ret171#1, pg_detect_#t~ret172#1, pg_detect_#t~mem173#1.base, pg_detect_#t~mem173#1.offset, pg_detect_#t~nondet174#1, pg_detect_~dev~1#1.base, pg_detect_~dev~1#1.offset, pg_detect_~k~3#1, pg_detect_~unit~1#1, pg_detect_~tmp~12#1, pg_detect_~parm~1#1.base, pg_detect_~parm~1#1.offset, pg_detect_~tmp___0~7#1, pg_detect_~tmp___1~6#1, pg_detect_~tmp___2~5#1;havoc pg_detect_~dev~1#1.base, pg_detect_~dev~1#1.offset;havoc pg_detect_~k~3#1;havoc pg_detect_~unit~1#1;havoc pg_detect_~tmp~12#1;havoc pg_detect_~parm~1#1.base, pg_detect_~parm~1#1.offset;havoc pg_detect_~tmp___0~7#1;havoc pg_detect_~tmp___1~6#1;havoc pg_detect_~tmp___2~5#1;pg_detect_~dev~1#1.base, pg_detect_~dev~1#1.offset := ~#devices~0.base, ~#devices~0.offset;havoc pg_detect_#t~nondet158#1;pg_detect_~k~3#1 := 0; {30109#true} is VALID [2022-02-20 21:45:04,134 INFO L290 TraceCheckUtils]: 22: Hoare triple {30109#true} assume !(0 == ~pg_drive_count~0); {30109#true} is VALID [2022-02-20 21:45:04,134 INFO L290 TraceCheckUtils]: 23: Hoare triple {30109#true} assume !(0 != pg_detect_~k~3#1);havoc pg_detect_#t~nondet174#1;pg_detect_#res#1 := -1; {30109#true} is VALID [2022-02-20 21:45:04,134 INFO L290 TraceCheckUtils]: 24: Hoare triple {30109#true} pg_init_#t~ret218#1 := pg_detect_#res#1;assume { :end_inline_pg_detect } true;assume -2147483648 <= pg_init_#t~ret218#1 && pg_init_#t~ret218#1 <= 2147483647;pg_init_~tmp~16#1 := pg_init_#t~ret218#1;havoc pg_init_#t~ret218#1; {30109#true} is VALID [2022-02-20 21:45:04,135 INFO L290 TraceCheckUtils]: 25: Hoare triple {30109#true} assume 0 != pg_init_~tmp~16#1;pg_init_~err~1#1 := -19; {30109#true} is VALID [2022-02-20 21:45:04,135 INFO L290 TraceCheckUtils]: 26: Hoare triple {30109#true} pg_init_#res#1 := pg_init_~err~1#1;call ULTIMATE.dealloc(pg_init_~#__key~0#1.base, pg_init_~#__key~0#1.offset);havoc pg_init_~#__key~0#1.base, pg_init_~#__key~0#1.offset; {30109#true} is VALID [2022-02-20 21:45:04,135 INFO L290 TraceCheckUtils]: 27: Hoare triple {30109#true} main_#t~ret243#1 := pg_init_#res#1;assume { :end_inline_pg_init } true;assume -2147483648 <= main_#t~ret243#1 && main_#t~ret243#1 <= 2147483647;~ldv_retval_1~0 := main_#t~ret243#1;havoc main_#t~ret243#1; {30109#true} is VALID [2022-02-20 21:45:04,137 INFO L290 TraceCheckUtils]: 28: Hoare triple {30109#true} assume 0 == ~ldv_retval_1~0;~ldv_state_variable_0~0 := 3; {30203#(= ~ldv_retval_1~0 0)} is VALID [2022-02-20 21:45:04,137 INFO L290 TraceCheckUtils]: 29: Hoare triple {30203#(= ~ldv_retval_1~0 0)} assume 0 != ~ldv_retval_1~0;~ldv_state_variable_0~0 := 2; {30110#false} is VALID [2022-02-20 21:45:04,137 INFO L290 TraceCheckUtils]: 30: Hoare triple {30110#false} assume { :begin_inline_ldv_check_final_state } true; {30110#false} is VALID [2022-02-20 21:45:04,137 INFO L290 TraceCheckUtils]: 31: Hoare triple {30110#false} assume !(1 == ~ldv_mutex_cred_guard_mutex_of_signal_struct~0); {30110#false} is VALID [2022-02-20 21:45:04,138 INFO L272 TraceCheckUtils]: 32: Hoare triple {30110#false} call ldv_error(); {30110#false} is VALID [2022-02-20 21:45:04,138 INFO L290 TraceCheckUtils]: 33: Hoare triple {30110#false} assume !false; {30110#false} is VALID [2022-02-20 21:45:04,138 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 21:45:04,138 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 21:45:04,138 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1035383041] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 21:45:04,138 INFO L191 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-02-20 21:45:04,139 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [4] total 5 [2022-02-20 21:45:04,139 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1580508304] [2022-02-20 21:45:04,139 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 21:45:04,139 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 10.333333333333334) internal successors, (31), 3 states have internal predecessors, (31), 2 states have call successors, (2), 2 states have call predecessors, (2), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 34 [2022-02-20 21:45:04,140 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 21:45:04,140 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 10.333333333333334) internal successors, (31), 3 states have internal predecessors, (31), 2 states have call successors, (2), 2 states have call predecessors, (2), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 21:45:04,187 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 34 edges. 34 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 21:45:04,188 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-02-20 21:45:04,188 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 21:45:04,188 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-02-20 21:45:04,188 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2022-02-20 21:45:04,189 INFO L87 Difference]: Start difference. First operand 1116 states and 1528 transitions. Second operand has 3 states, 3 states have (on average 10.333333333333334) internal successors, (31), 3 states have internal predecessors, (31), 2 states have call successors, (2), 2 states have call predecessors, (2), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 21:45:07,491 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 21:45:07,492 INFO L93 Difference]: Finished difference Result 1138 states and 1554 transitions. [2022-02-20 21:45:07,492 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-02-20 21:45:07,492 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 10.333333333333334) internal successors, (31), 3 states have internal predecessors, (31), 2 states have call successors, (2), 2 states have call predecessors, (2), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 34 [2022-02-20 21:45:07,492 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 21:45:07,493 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 10.333333333333334) internal successors, (31), 3 states have internal predecessors, (31), 2 states have call successors, (2), 2 states have call predecessors, (2), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 21:45:07,500 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 666 transitions. [2022-02-20 21:45:07,501 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 10.333333333333334) internal successors, (31), 3 states have internal predecessors, (31), 2 states have call successors, (2), 2 states have call predecessors, (2), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 21:45:07,509 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 666 transitions. [2022-02-20 21:45:07,509 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 666 transitions. [2022-02-20 21:45:08,068 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 666 edges. 666 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 21:45:08,156 INFO L225 Difference]: With dead ends: 1138 [2022-02-20 21:45:08,156 INFO L226 Difference]: Without dead ends: 1127 [2022-02-20 21:45:08,157 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 39 GetRequests, 36 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2022-02-20 21:45:08,158 INFO L933 BasicCegarLoop]: 650 mSDtfsCounter, 633 mSDsluCounter, 13 mSDsCounter, 0 mSdLazyCounter, 4 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 633 SdHoareTripleChecker+Valid, 663 SdHoareTripleChecker+Invalid, 6 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 4 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 21:45:08,158 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [633 Valid, 663 Invalid, 6 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 4 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 21:45:08,160 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1127 states. [2022-02-20 21:45:08,191 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1127 to 1116. [2022-02-20 21:45:08,191 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 21:45:08,193 INFO L82 GeneralOperation]: Start isEquivalent. First operand 1127 states. Second operand has 1116 states, 835 states have (on average 1.3437125748502994) internal successors, (1122), 847 states have internal predecessors, (1122), 205 states have call successors, (205), 76 states have call predecessors, (205), 75 states have return successors, (199), 199 states have call predecessors, (199), 199 states have call successors, (199) [2022-02-20 21:45:08,195 INFO L74 IsIncluded]: Start isIncluded. First operand 1127 states. Second operand has 1116 states, 835 states have (on average 1.3437125748502994) internal successors, (1122), 847 states have internal predecessors, (1122), 205 states have call successors, (205), 76 states have call predecessors, (205), 75 states have return successors, (199), 199 states have call predecessors, (199), 199 states have call successors, (199) [2022-02-20 21:45:08,196 INFO L87 Difference]: Start difference. First operand 1127 states. Second operand has 1116 states, 835 states have (on average 1.3437125748502994) internal successors, (1122), 847 states have internal predecessors, (1122), 205 states have call successors, (205), 76 states have call predecessors, (205), 75 states have return successors, (199), 199 states have call predecessors, (199), 199 states have call successors, (199) [2022-02-20 21:45:08,264 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 21:45:08,264 INFO L93 Difference]: Finished difference Result 1127 states and 1539 transitions. [2022-02-20 21:45:08,264 INFO L276 IsEmpty]: Start isEmpty. Operand 1127 states and 1539 transitions. [2022-02-20 21:45:08,268 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 21:45:08,269 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 21:45:08,271 INFO L74 IsIncluded]: Start isIncluded. First operand has 1116 states, 835 states have (on average 1.3437125748502994) internal successors, (1122), 847 states have internal predecessors, (1122), 205 states have call successors, (205), 76 states have call predecessors, (205), 75 states have return successors, (199), 199 states have call predecessors, (199), 199 states have call successors, (199) Second operand 1127 states. [2022-02-20 21:45:08,273 INFO L87 Difference]: Start difference. First operand has 1116 states, 835 states have (on average 1.3437125748502994) internal successors, (1122), 847 states have internal predecessors, (1122), 205 states have call successors, (205), 76 states have call predecessors, (205), 75 states have return successors, (199), 199 states have call predecessors, (199), 199 states have call successors, (199) Second operand 1127 states. [2022-02-20 21:45:08,355 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 21:45:08,355 INFO L93 Difference]: Finished difference Result 1127 states and 1539 transitions. [2022-02-20 21:45:08,356 INFO L276 IsEmpty]: Start isEmpty. Operand 1127 states and 1539 transitions. [2022-02-20 21:45:08,360 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 21:45:08,360 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 21:45:08,360 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 21:45:08,360 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 21:45:08,362 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 1116 states, 835 states have (on average 1.3437125748502994) internal successors, (1122), 847 states have internal predecessors, (1122), 205 states have call successors, (205), 76 states have call predecessors, (205), 75 states have return successors, (199), 199 states have call predecessors, (199), 199 states have call successors, (199) [2022-02-20 21:45:08,445 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 1116 states to 1116 states and 1526 transitions. [2022-02-20 21:45:08,445 INFO L78 Accepts]: Start accepts. Automaton has 1116 states and 1526 transitions. Word has length 34 [2022-02-20 21:45:08,446 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 21:45:08,446 INFO L470 AbstractCegarLoop]: Abstraction has 1116 states and 1526 transitions. [2022-02-20 21:45:08,446 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 10.333333333333334) internal successors, (31), 3 states have internal predecessors, (31), 2 states have call successors, (2), 2 states have call predecessors, (2), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 21:45:08,446 INFO L276 IsEmpty]: Start isEmpty. Operand 1116 states and 1526 transitions. [2022-02-20 21:45:08,448 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2022-02-20 21:45:08,448 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 21:45:08,448 INFO L514 BasicCegarLoop]: trace histogram [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-02-20 21:45:08,479 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-02-20 21:45:08,663 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable5 [2022-02-20 21:45:08,664 INFO L402 AbstractCegarLoop]: === Iteration 7 === Targeting ldv_errorErr0ASSERT_VIOLATIONERROR_FUNCTION === [ldv_errorErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 21:45:08,664 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 21:45:08,664 INFO L85 PathProgramCache]: Analyzing trace with hash 1068059599, now seen corresponding path program 1 times [2022-02-20 21:45:08,664 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 21:45:08,664 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [893403402] [2022-02-20 21:45:08,664 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 21:45:08,665 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 21:45:08,702 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:45:08,754 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 13 [2022-02-20 21:45:08,757 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:45:08,764 INFO L290 TraceCheckUtils]: 0: Hoare triple {35616#true} ~nr := #in~nr;~addr.base, ~addr.offset := #in~addr.base, #in~addr.offset; {35616#true} is VALID [2022-02-20 21:45:08,764 INFO L290 TraceCheckUtils]: 1: Hoare triple {35616#true} assume true; {35616#true} is VALID [2022-02-20 21:45:08,765 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {35616#true} {35618#(= |ULTIMATE.start_pg_init_units_~unit~0#1| 0)} #1242#return; {35618#(= |ULTIMATE.start_pg_init_units_~unit~0#1| 0)} is VALID [2022-02-20 21:45:08,765 INFO L290 TraceCheckUtils]: 0: Hoare triple {35616#true} assume { :begin_inline_ULTIMATE.init } 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(72, 2);call #Ultimate.allocInit(3, 3);call write~init~int(112, 3, 0, 1);call write~init~int(103, 3, 1, 1);call write~init~int(0, 3, 2, 1);call #Ultimate.allocInit(124, 4);call #Ultimate.allocInit(27, 5);call #Ultimate.allocInit(19, 6);call #Ultimate.allocInit(9, 7);call #Ultimate.allocInit(5, 8);call write~init~int(37, 8, 0, 1);call write~init~int(115, 8, 1, 1);call write~init~int(37, 8, 2, 1);call write~init~int(99, 8, 3, 1);call write~init~int(0, 8, 4, 1);call #Ultimate.allocInit(9, 9);call #Ultimate.allocInit(1, 10);call write~init~int(0, 10, 0, 1);call #Ultimate.allocInit(39, 11);call #Ultimate.allocInit(15, 12);call #Ultimate.allocInit(12, 13);call #Ultimate.allocInit(25, 14);call #Ultimate.allocInit(35, 15);call #Ultimate.allocInit(6, 16);call write~init~int(37, 16, 0, 1);call write~init~int(48, 16, 1, 1);call write~init~int(50, 16, 2, 1);call write~init~int(120, 16, 3, 1);call write~init~int(32, 16, 4, 1);call write~init~int(0, 16, 5, 1);call #Ultimate.allocInit(2, 17);call write~init~int(10, 17, 0, 1);call write~init~int(0, 17, 1, 1);call #Ultimate.allocInit(11, 18);call #Ultimate.allocInit(5, 19);call write~init~int(82, 19, 0, 1);call write~init~int(101, 19, 1, 1);call write~init~int(97, 19, 2, 1);call write~init~int(100, 19, 3, 1);call write~init~int(0, 19, 4, 1);call #Ultimate.allocInit(6, 20);call write~init~int(87, 20, 0, 1);call write~init~int(114, 20, 1, 1);call write~init~int(105, 20, 2, 1);call write~init~int(116, 20, 3, 1);call write~init~int(101, 20, 4, 1);call write~init~int(0, 20, 5, 1);call #Ultimate.allocInit(17, 21);call #Ultimate.allocInit(11, 22);call #Ultimate.allocInit(28, 23);call #Ultimate.allocInit(4, 24);call write~init~int(37, 24, 0, 1);call write~init~int(51, 24, 1, 1);call write~init~int(120, 24, 2, 1);call write~init~int(0, 24, 3, 1);call #Ultimate.allocInit(13, 25);call #Ultimate.allocInit(2, 26);call write~init~int(10, 26, 0, 1);call write~init~int(0, 26, 1, 1);call #Ultimate.allocInit(7, 27);call write~init~int(109, 27, 0, 1);call write~init~int(97, 27, 1, 1);call write~init~int(115, 27, 2, 1);call write~init~int(116, 27, 3, 1);call write~init~int(101, 27, 4, 1);call write~init~int(114, 27, 5, 1);call write~init~int(0, 27, 6, 1);call #Ultimate.allocInit(6, 28);call write~init~int(115, 28, 0, 1);call write~init~int(108, 28, 1, 1);call write~init~int(97, 28, 2, 1);call write~init~int(118, 28, 3, 1);call write~init~int(101, 28, 4, 1);call write~init~int(0, 28, 5, 1);call #Ultimate.allocInit(15, 29);call #Ultimate.allocInit(29, 30);call #Ultimate.allocInit(5, 31);call write~init~int(49, 31, 0, 1);call write~init~int(46, 31, 1, 1);call write~init~int(48, 31, 2, 1);call write~init~int(50, 31, 3, 1);call write~init~int(0, 31, 4, 1);call #Ultimate.allocInit(30, 32);call #Ultimate.allocInit(30, 33);call #Ultimate.allocInit(40, 34);call #Ultimate.allocInit(3, 35);call write~init~int(112, 35, 0, 1);call write~init~int(103, 35, 1, 1);call write~init~int(0, 35, 2, 1);call #Ultimate.allocInit(5, 36);call write~init~int(112, 36, 0, 1);call write~init~int(103, 36, 1, 1);call write~init~int(37, 36, 2, 1);call write~init~int(117, 36, 3, 1);call write~init~int(0, 36, 4, 1);call #Ultimate.allocInit(3, 37);call write~init~int(112, 37, 0, 1);call write~init~int(103, 37, 1, 1);call write~init~int(0, 37, 2, 1);~ldv_state_variable_1~0 := 0;~ref_cnt~0 := 0;~ldv_state_variable_0~0 := 0;~verbose~0 := 0;~major~0 := 97;~name~0.base, ~name~0.offset := 3, 0;~disable~0 := 0;~#drive0~0.base, ~#drive0~0.offset := 38, 0;call #Ultimate.allocInit(24, 38);call write~init~int(0, ~#drive0~0.base, ~#drive0~0.offset, 4);call write~init~int(0, ~#drive0~0.base, 4 + ~#drive0~0.offset, 4);call write~init~int(0, ~#drive0~0.base, 8 + ~#drive0~0.offset, 4);call write~init~int(-1, ~#drive0~0.base, 12 + ~#drive0~0.offset, 4);call write~init~int(-1, ~#drive0~0.base, 16 + ~#drive0~0.offset, 4);call write~init~int(-1, ~#drive0~0.base, 20 + ~#drive0~0.offset, 4);~#drive1~0.base, ~#drive1~0.offset := 39, 0;call #Ultimate.allocInit(24, 39);call write~init~int(0, ~#drive1~0.base, ~#drive1~0.offset, 4);call write~init~int(0, ~#drive1~0.base, 4 + ~#drive1~0.offset, 4);call write~init~int(0, ~#drive1~0.base, 8 + ~#drive1~0.offset, 4);call write~init~int(-1, ~#drive1~0.base, 12 + ~#drive1~0.offset, 4);call write~init~int(-1, ~#drive1~0.base, 16 + ~#drive1~0.offset, 4);call write~init~int(-1, ~#drive1~0.base, 20 + ~#drive1~0.offset, 4);~#drive2~0.base, ~#drive2~0.offset := 40, 0;call #Ultimate.allocInit(24, 40);call write~init~int(0, ~#drive2~0.base, ~#drive2~0.offset, 4);call write~init~int(0, ~#drive2~0.base, 4 + ~#drive2~0.offset, 4);call write~init~int(0, ~#drive2~0.base, 8 + ~#drive2~0.offset, 4);call write~init~int(-1, ~#drive2~0.base, 12 + ~#drive2~0.offset, 4);call write~init~int(-1, ~#drive2~0.base, 16 + ~#drive2~0.offset, 4);call write~init~int(-1, ~#drive2~0.base, 20 + ~#drive2~0.offset, 4);~#drive3~0.base, ~#drive3~0.offset := 41, 0;call #Ultimate.allocInit(24, 41);call write~init~int(0, ~#drive3~0.base, ~#drive3~0.offset, 4);call write~init~int(0, ~#drive3~0.base, 4 + ~#drive3~0.offset, 4);call write~init~int(0, ~#drive3~0.base, 8 + ~#drive3~0.offset, 4);call write~init~int(-1, ~#drive3~0.base, 12 + ~#drive3~0.offset, 4);call write~init~int(-1, ~#drive3~0.base, 16 + ~#drive3~0.offset, 4);call write~init~int(-1, ~#drive3~0.base, 20 + ~#drive3~0.offset, 4);~#drives~0.base, ~#drives~0.offset := 42, 0;call #Ultimate.allocInit(32, 42);call write~init~$Pointer$(~#drive0~0.base, ~#drive0~0.offset, ~#drives~0.base, ~#drives~0.offset, 8);call write~init~$Pointer$(~#drive1~0.base, ~#drive1~0.offset, ~#drives~0.base, 8 + ~#drives~0.offset, 8);call write~init~$Pointer$(~#drive2~0.base, ~#drive2~0.offset, ~#drives~0.base, 16 + ~#drives~0.offset, 8);call write~init~$Pointer$(~#drive3~0.base, ~#drive3~0.offset, ~#drives~0.base, 24 + ~#drives~0.offset, 8);~pg_drive_count~0 := 0;~#pg_mutex~0.base, ~#pg_mutex~0.offset := 43, 0;call #Ultimate.allocInit(156, 43);call write~init~int(1, ~#pg_mutex~0.base, ~#pg_mutex~0.offset, 4);call write~init~int(0, ~#pg_mutex~0.base, 4 + ~#pg_mutex~0.offset, 4);call write~init~int(3735899821, ~#pg_mutex~0.base, 8 + ~#pg_mutex~0.offset, 4);call write~init~int(4294967295, ~#pg_mutex~0.base, 12 + ~#pg_mutex~0.offset, 4);call write~init~$Pointer$(0, -1, ~#pg_mutex~0.base, 16 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_mutex~0.base, 24 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_mutex~0.base, 32 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_mutex~0.base, 40 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(6, 0, ~#pg_mutex~0.base, 48 + ~#pg_mutex~0.offset, 8);call write~init~int(0, ~#pg_mutex~0.base, 56 + ~#pg_mutex~0.offset, 4);call write~init~int(0, ~#pg_mutex~0.base, 60 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(~#pg_mutex~0.base, 72 + ~#pg_mutex~0.offset, ~#pg_mutex~0.base, 72 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(~#pg_mutex~0.base, 72 + ~#pg_mutex~0.offset, ~#pg_mutex~0.base, 80 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_mutex~0.base, 88 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_mutex~0.base, 96 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(~#pg_mutex~0.base, ~#pg_mutex~0.offset, ~#pg_mutex~0.base, 104 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_mutex~0.base, 112 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_mutex~0.base, 120 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_mutex~0.base, 128 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(7, 0, ~#pg_mutex~0.base, 136 + ~#pg_mutex~0.offset, 8);call write~init~int(0, ~#pg_mutex~0.base, 144 + ~#pg_mutex~0.offset, 4);call write~init~int(0, ~#pg_mutex~0.base, 148 + ~#pg_mutex~0.offset, 8);~#devices~0.base, ~#devices~0.offset := 44, 0;call #Ultimate.allocInit(928, 44);#memory_$Pointer$.base, #memory_$Pointer$.offset := ~initToZeroAtPointerBaseAddress~$Pointer$.base(#memory_$Pointer$.base, #memory_$Pointer$.offset, ~#devices~0.base), ~initToZeroAtPointerBaseAddress~$Pointer$.offset(#memory_$Pointer$.base, #memory_$Pointer$.offset, ~#devices~0.base);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#devices~0.base);~#pg_scratch~0.base, ~#pg_scratch~0.offset := 45, 0;call #Ultimate.allocInit(512, 45);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#pg_scratch~0.base);~pg_class~0.base, ~pg_class~0.offset := 0, 0;~#pg_fops~0.base, ~#pg_fops~0.offset := 46, 0;call #Ultimate.allocInit(216, 46);call write~init~$Pointer$(~#__this_module~0.base, ~#__this_module~0.offset, ~#pg_fops~0.base, ~#pg_fops~0.offset, 8);call write~init~$Pointer$(#funAddr~noop_llseek.base, #funAddr~noop_llseek.offset, ~#pg_fops~0.base, 8 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(#funAddr~pg_read.base, #funAddr~pg_read.offset, ~#pg_fops~0.base, 16 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(#funAddr~pg_write.base, #funAddr~pg_write.offset, ~#pg_fops~0.base, 24 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 32 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 40 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 48 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 56 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 64 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 72 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 80 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(#funAddr~pg_open.base, #funAddr~pg_open.offset, ~#pg_fops~0.base, 88 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 96 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(#funAddr~pg_release.base, #funAddr~pg_release.offset, ~#pg_fops~0.base, 104 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 112 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 120 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 128 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 136 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 144 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 152 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 160 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 168 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 176 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 184 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 192 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 200 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 208 + ~#pg_fops~0.offset, 8);~pg_fops_group2~0.base, ~pg_fops_group2~0.offset := 0, 0;~ldvarg7~0 := 0;~ldvarg3~0 := 0;~ldvarg0~0 := 0;~ldvarg5~0.base, ~ldvarg5~0.offset := 0, 0;~ldvarg6~0.base, ~ldvarg6~0.offset := 0, 0;~ldvarg8~0.base, ~ldvarg8~0.offset := 0, 0;~ldvarg1~0 := 0;~ldv_retval_0~0 := 0;~ldvarg4~0.base, ~ldvarg4~0.offset := 0, 0;~ldv_retval_1~0 := 0;~pg_fops_group1~0.base, ~pg_fops_group1~0.offset := 0, 0;~ldvarg2~0.base, ~ldvarg2~0.offset := 0, 0;~ldv_mutex_cred_guard_mutex_of_signal_struct~0 := 0;~ldv_mutex_lock~0 := 0;~ldv_mutex_mutex_of_device~0 := 0;~ldv_mutex_pg_mutex~0 := 0; {35616#true} is VALID [2022-02-20 21:45:08,766 INFO L290 TraceCheckUtils]: 1: Hoare triple {35616#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet231#1, main_#t~switch232#1, main_#t~nondet233#1, main_#t~switch234#1, main_#t~ret235#1, main_#t~ret236#1, main_#t~ret237#1, main_#t~ret238#1, main_#t~ret239#1, main_#t~ret240#1, main_#t~nondet241#1, main_#t~switch242#1, main_#t~ret243#1, main_~tmp~17#1, main_~tmp___0~12#1, main_~tmp___1~11#1;havoc main_~tmp~17#1;havoc main_~tmp___0~12#1;havoc main_~tmp___1~11#1;assume { :begin_inline_ldv_initialize } true;~ldv_mutex_cred_guard_mutex_of_signal_struct~0 := 1;~ldv_mutex_lock~0 := 1;~ldv_mutex_mutex_of_device~0 := 1;~ldv_mutex_pg_mutex~0 := 1; {35616#true} is VALID [2022-02-20 21:45:08,766 INFO L290 TraceCheckUtils]: 2: Hoare triple {35616#true} assume { :end_inline_ldv_initialize } true;~ldv_state_variable_1~0 := 0;~ref_cnt~0 := 0;~ldv_state_variable_0~0 := 1; {35616#true} is VALID [2022-02-20 21:45:08,766 INFO L290 TraceCheckUtils]: 3: Hoare triple {35616#true} assume -2147483648 <= main_#t~nondet231#1 && main_#t~nondet231#1 <= 2147483647;main_~tmp~17#1 := main_#t~nondet231#1;havoc main_#t~nondet231#1;main_#t~switch232#1 := 0 == main_~tmp~17#1; {35616#true} is VALID [2022-02-20 21:45:08,766 INFO L290 TraceCheckUtils]: 4: Hoare triple {35616#true} assume !main_#t~switch232#1;main_#t~switch232#1 := main_#t~switch232#1 || 1 == main_~tmp~17#1; {35616#true} is VALID [2022-02-20 21:45:08,766 INFO L290 TraceCheckUtils]: 5: Hoare triple {35616#true} assume main_#t~switch232#1; {35616#true} is VALID [2022-02-20 21:45:08,767 INFO L290 TraceCheckUtils]: 6: Hoare triple {35616#true} assume 0 != ~ldv_state_variable_0~0;assume -2147483648 <= main_#t~nondet241#1 && main_#t~nondet241#1 <= 2147483647;main_~tmp___1~11#1 := main_#t~nondet241#1;havoc main_#t~nondet241#1;main_#t~switch242#1 := 0 == main_~tmp___1~11#1; {35616#true} is VALID [2022-02-20 21:45:08,767 INFO L290 TraceCheckUtils]: 7: Hoare triple {35616#true} assume !main_#t~switch242#1;main_#t~switch242#1 := main_#t~switch242#1 || 1 == main_~tmp___1~11#1; {35616#true} is VALID [2022-02-20 21:45:08,767 INFO L290 TraceCheckUtils]: 8: Hoare triple {35616#true} assume main_#t~switch242#1; {35616#true} is VALID [2022-02-20 21:45:08,767 INFO L290 TraceCheckUtils]: 9: Hoare triple {35616#true} assume 1 == ~ldv_state_variable_0~0;assume { :begin_inline_pg_init } true;havoc pg_init_#res#1;havoc pg_init_#t~ret218#1, pg_init_#t~ret219#1, pg_init_#t~nondet220#1, pg_init_#t~mem221#1, pg_init_#t~mem222#1.base, pg_init_#t~mem222#1.offset, pg_init_#t~ret223#1.base, pg_init_#t~ret223#1.offset, pg_init_#t~ret224#1, pg_init_#t~ret225#1, pg_init_#t~mem226#1, pg_init_#t~nondet227#1.base, pg_init_#t~nondet227#1.offset, pg_init_~unit~3#1, pg_init_~err~1#1, pg_init_~tmp~16#1, pg_init_~dev~6#1.base, pg_init_~dev~6#1.offset, pg_init_~#__key~0#1.base, pg_init_~#__key~0#1.offset, pg_init_~tmp___0~11#1.base, pg_init_~tmp___0~11#1.offset, pg_init_~tmp___1~10#1, pg_init_~tmp___2~7#1, pg_init_~dev___0~0#1.base, pg_init_~dev___0~0#1.offset;havoc pg_init_~unit~3#1;havoc pg_init_~err~1#1;havoc pg_init_~tmp~16#1;havoc pg_init_~dev~6#1.base, pg_init_~dev~6#1.offset;call pg_init_~#__key~0#1.base, pg_init_~#__key~0#1.offset := #Ultimate.allocOnStack(8);havoc pg_init_~tmp___0~11#1.base, pg_init_~tmp___0~11#1.offset;havoc pg_init_~tmp___1~10#1;havoc pg_init_~tmp___2~7#1;havoc pg_init_~dev___0~0#1.base, pg_init_~dev___0~0#1.offset; {35616#true} is VALID [2022-02-20 21:45:08,768 INFO L290 TraceCheckUtils]: 10: Hoare triple {35616#true} assume !(0 != ~disable~0);assume { :begin_inline_pg_init_units } true;havoc pg_init_units_#t~mem92#1.base, pg_init_units_#t~mem92#1.offset, pg_init_units_#t~mem93#1, pg_init_units_#t~nondet94#1, pg_init_units_#t~mem95#1, pg_init_units_~unit~0#1, pg_init_units_~parm~0#1.base, pg_init_units_~parm~0#1.offset, pg_init_units_~dev~0#1.base, pg_init_units_~dev~0#1.offset;havoc pg_init_units_~unit~0#1;havoc pg_init_units_~parm~0#1.base, pg_init_units_~parm~0#1.offset;havoc pg_init_units_~dev~0#1.base, pg_init_units_~dev~0#1.offset;~pg_drive_count~0 := 0;pg_init_units_~unit~0#1 := 0; {35618#(= |ULTIMATE.start_pg_init_units_~unit~0#1| 0)} is VALID [2022-02-20 21:45:08,769 INFO L290 TraceCheckUtils]: 11: Hoare triple {35618#(= |ULTIMATE.start_pg_init_units_~unit~0#1| 0)} assume pg_init_units_~unit~0#1 <= 3; {35618#(= |ULTIMATE.start_pg_init_units_~unit~0#1| 0)} is VALID [2022-02-20 21:45:08,772 INFO L290 TraceCheckUtils]: 12: Hoare triple {35618#(= |ULTIMATE.start_pg_init_units_~unit~0#1| 0)} call pg_init_units_#t~mem92#1.base, pg_init_units_#t~mem92#1.offset := read~$Pointer$(~#drives~0.base, ~#drives~0.offset + 8 * pg_init_units_~unit~0#1, 8);pg_init_units_~parm~0#1.base, pg_init_units_~parm~0#1.offset := pg_init_units_#t~mem92#1.base, pg_init_units_#t~mem92#1.offset;havoc pg_init_units_#t~mem92#1.base, pg_init_units_#t~mem92#1.offset;pg_init_units_~dev~0#1.base, pg_init_units_~dev~0#1.offset := ~#devices~0.base, ~#devices~0.offset + 232 * (if pg_init_units_~unit~0#1 % 18446744073709551616 % 18446744073709551616 <= 9223372036854775807 then pg_init_units_~unit~0#1 % 18446744073709551616 % 18446744073709551616 else pg_init_units_~unit~0#1 % 18446744073709551616 % 18446744073709551616 - 18446744073709551616);call write~$Pointer$(pg_init_units_~dev~0#1.base, pg_init_units_~dev~0#1.offset, pg_init_units_~dev~0#1.base, 168 + pg_init_units_~dev~0#1.offset, 8); {35618#(= |ULTIMATE.start_pg_init_units_~unit~0#1| 0)} is VALID [2022-02-20 21:45:08,772 INFO L272 TraceCheckUtils]: 13: Hoare triple {35618#(= |ULTIMATE.start_pg_init_units_~unit~0#1| 0)} call clear_bit(0, pg_init_units_~dev~0#1.base, 204 + pg_init_units_~dev~0#1.offset); {35616#true} is VALID [2022-02-20 21:45:08,772 INFO L290 TraceCheckUtils]: 14: Hoare triple {35616#true} ~nr := #in~nr;~addr.base, ~addr.offset := #in~addr.base, #in~addr.offset; {35616#true} is VALID [2022-02-20 21:45:08,773 INFO L290 TraceCheckUtils]: 15: Hoare triple {35616#true} assume true; {35616#true} is VALID [2022-02-20 21:45:08,775 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {35616#true} {35618#(= |ULTIMATE.start_pg_init_units_~unit~0#1| 0)} #1242#return; {35618#(= |ULTIMATE.start_pg_init_units_~unit~0#1| 0)} is VALID [2022-02-20 21:45:08,776 INFO L290 TraceCheckUtils]: 17: Hoare triple {35618#(= |ULTIMATE.start_pg_init_units_~unit~0#1| 0)} call write~int(0, pg_init_units_~dev~0#1.base, 176 + pg_init_units_~dev~0#1.offset, 4);call write~int(0, pg_init_units_~dev~0#1.base, 212 + pg_init_units_~dev~0#1.offset, 4);call write~$Pointer$(0, 0, pg_init_units_~dev~0#1.base, 216 + pg_init_units_~dev~0#1.offset, 8);call pg_init_units_#t~mem93#1 := read~int(pg_init_units_~parm~0#1.base, 16 + pg_init_units_~parm~0#1.offset, 4);call write~int(pg_init_units_#t~mem93#1, pg_init_units_~dev~0#1.base, 200 + pg_init_units_~dev~0#1.offset, 4);havoc pg_init_units_#t~mem93#1;havoc pg_init_units_#t~nondet94#1;call pg_init_units_#t~mem95#1 := read~int(pg_init_units_~parm~0#1.base, pg_init_units_~parm~0#1.offset, 4); {35618#(= |ULTIMATE.start_pg_init_units_~unit~0#1| 0)} is VALID [2022-02-20 21:45:08,779 INFO L290 TraceCheckUtils]: 18: Hoare triple {35618#(= |ULTIMATE.start_pg_init_units_~unit~0#1| 0)} assume 0 != pg_init_units_#t~mem95#1;havoc pg_init_units_#t~mem95#1;~pg_drive_count~0 := 1 + ~pg_drive_count~0; {35618#(= |ULTIMATE.start_pg_init_units_~unit~0#1| 0)} is VALID [2022-02-20 21:45:08,781 INFO L290 TraceCheckUtils]: 19: Hoare triple {35618#(= |ULTIMATE.start_pg_init_units_~unit~0#1| 0)} pg_init_units_~unit~0#1 := 1 + pg_init_units_~unit~0#1; {35622#(<= |ULTIMATE.start_pg_init_units_~unit~0#1| 1)} is VALID [2022-02-20 21:45:08,781 INFO L290 TraceCheckUtils]: 20: Hoare triple {35622#(<= |ULTIMATE.start_pg_init_units_~unit~0#1| 1)} assume !(pg_init_units_~unit~0#1 <= 3); {35617#false} is VALID [2022-02-20 21:45:08,781 INFO L290 TraceCheckUtils]: 21: Hoare triple {35617#false} assume { :end_inline_pg_init_units } true;assume { :begin_inline_pg_detect } true;havoc pg_detect_#res#1;havoc pg_detect_#t~nondet158#1, pg_detect_#t~mem159#1.base, pg_detect_#t~mem159#1.offset, pg_detect_#t~ret160#1, pg_detect_#t~ret161#1, pg_detect_#t~mem162#1.base, pg_detect_#t~mem162#1.offset, pg_detect_#t~mem163#1.base, pg_detect_#t~mem163#1.offset, pg_detect_#t~mem164#1, pg_detect_#t~mem165#1.base, pg_detect_#t~mem165#1.offset, pg_detect_#t~mem166#1, pg_detect_#t~mem167#1, pg_detect_#t~mem168#1, pg_detect_#t~mem169#1, pg_detect_#t~mem170#1, pg_detect_#t~ret171#1, pg_detect_#t~ret172#1, pg_detect_#t~mem173#1.base, pg_detect_#t~mem173#1.offset, pg_detect_#t~nondet174#1, pg_detect_~dev~1#1.base, pg_detect_~dev~1#1.offset, pg_detect_~k~3#1, pg_detect_~unit~1#1, pg_detect_~tmp~12#1, pg_detect_~parm~1#1.base, pg_detect_~parm~1#1.offset, pg_detect_~tmp___0~7#1, pg_detect_~tmp___1~6#1, pg_detect_~tmp___2~5#1;havoc pg_detect_~dev~1#1.base, pg_detect_~dev~1#1.offset;havoc pg_detect_~k~3#1;havoc pg_detect_~unit~1#1;havoc pg_detect_~tmp~12#1;havoc pg_detect_~parm~1#1.base, pg_detect_~parm~1#1.offset;havoc pg_detect_~tmp___0~7#1;havoc pg_detect_~tmp___1~6#1;havoc pg_detect_~tmp___2~5#1;pg_detect_~dev~1#1.base, pg_detect_~dev~1#1.offset := ~#devices~0.base, ~#devices~0.offset;havoc pg_detect_#t~nondet158#1;pg_detect_~k~3#1 := 0; {35617#false} is VALID [2022-02-20 21:45:08,782 INFO L290 TraceCheckUtils]: 22: Hoare triple {35617#false} assume !(0 == ~pg_drive_count~0); {35617#false} is VALID [2022-02-20 21:45:08,782 INFO L290 TraceCheckUtils]: 23: Hoare triple {35617#false} assume !(0 != pg_detect_~k~3#1);havoc pg_detect_#t~nondet174#1;pg_detect_#res#1 := -1; {35617#false} is VALID [2022-02-20 21:45:08,782 INFO L290 TraceCheckUtils]: 24: Hoare triple {35617#false} pg_init_#t~ret218#1 := pg_detect_#res#1;assume { :end_inline_pg_detect } true;assume -2147483648 <= pg_init_#t~ret218#1 && pg_init_#t~ret218#1 <= 2147483647;pg_init_~tmp~16#1 := pg_init_#t~ret218#1;havoc pg_init_#t~ret218#1; {35617#false} is VALID [2022-02-20 21:45:08,782 INFO L290 TraceCheckUtils]: 25: Hoare triple {35617#false} assume 0 != pg_init_~tmp~16#1;pg_init_~err~1#1 := -19; {35617#false} is VALID [2022-02-20 21:45:08,782 INFO L290 TraceCheckUtils]: 26: Hoare triple {35617#false} pg_init_#res#1 := pg_init_~err~1#1;call ULTIMATE.dealloc(pg_init_~#__key~0#1.base, pg_init_~#__key~0#1.offset);havoc pg_init_~#__key~0#1.base, pg_init_~#__key~0#1.offset; {35617#false} is VALID [2022-02-20 21:45:08,783 INFO L290 TraceCheckUtils]: 27: Hoare triple {35617#false} main_#t~ret243#1 := pg_init_#res#1;assume { :end_inline_pg_init } true;assume -2147483648 <= main_#t~ret243#1 && main_#t~ret243#1 <= 2147483647;~ldv_retval_1~0 := main_#t~ret243#1;havoc main_#t~ret243#1; {35617#false} is VALID [2022-02-20 21:45:08,783 INFO L290 TraceCheckUtils]: 28: Hoare triple {35617#false} assume !(0 == ~ldv_retval_1~0); {35617#false} is VALID [2022-02-20 21:45:08,783 INFO L290 TraceCheckUtils]: 29: Hoare triple {35617#false} assume 0 != ~ldv_retval_1~0;~ldv_state_variable_0~0 := 2; {35617#false} is VALID [2022-02-20 21:45:08,783 INFO L290 TraceCheckUtils]: 30: Hoare triple {35617#false} assume { :begin_inline_ldv_check_final_state } true; {35617#false} is VALID [2022-02-20 21:45:08,783 INFO L290 TraceCheckUtils]: 31: Hoare triple {35617#false} assume !(1 == ~ldv_mutex_cred_guard_mutex_of_signal_struct~0); {35617#false} is VALID [2022-02-20 21:45:08,784 INFO L272 TraceCheckUtils]: 32: Hoare triple {35617#false} call ldv_error(); {35617#false} is VALID [2022-02-20 21:45:08,784 INFO L290 TraceCheckUtils]: 33: Hoare triple {35617#false} assume !false; {35617#false} is VALID [2022-02-20 21:45:08,786 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 21:45:08,786 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 21:45:08,786 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [893403402] [2022-02-20 21:45:08,787 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [893403402] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 21:45:08,787 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [218211652] [2022-02-20 21:45:08,787 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 21:45:08,787 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 21:45:08,787 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 21:45:08,792 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-02-20 21:45:08,798 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-02-20 21:45:09,042 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:45:09,046 INFO L263 TraceCheckSpWp]: Trace formula consists of 853 conjuncts, 3 conjunts are in the unsatisfiable core [2022-02-20 21:45:09,066 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:45:09,069 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 21:45:09,172 INFO L290 TraceCheckUtils]: 0: Hoare triple {35616#true} assume { :begin_inline_ULTIMATE.init } 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(72, 2);call #Ultimate.allocInit(3, 3);call write~init~int(112, 3, 0, 1);call write~init~int(103, 3, 1, 1);call write~init~int(0, 3, 2, 1);call #Ultimate.allocInit(124, 4);call #Ultimate.allocInit(27, 5);call #Ultimate.allocInit(19, 6);call #Ultimate.allocInit(9, 7);call #Ultimate.allocInit(5, 8);call write~init~int(37, 8, 0, 1);call write~init~int(115, 8, 1, 1);call write~init~int(37, 8, 2, 1);call write~init~int(99, 8, 3, 1);call write~init~int(0, 8, 4, 1);call #Ultimate.allocInit(9, 9);call #Ultimate.allocInit(1, 10);call write~init~int(0, 10, 0, 1);call #Ultimate.allocInit(39, 11);call #Ultimate.allocInit(15, 12);call #Ultimate.allocInit(12, 13);call #Ultimate.allocInit(25, 14);call #Ultimate.allocInit(35, 15);call #Ultimate.allocInit(6, 16);call write~init~int(37, 16, 0, 1);call write~init~int(48, 16, 1, 1);call write~init~int(50, 16, 2, 1);call write~init~int(120, 16, 3, 1);call write~init~int(32, 16, 4, 1);call write~init~int(0, 16, 5, 1);call #Ultimate.allocInit(2, 17);call write~init~int(10, 17, 0, 1);call write~init~int(0, 17, 1, 1);call #Ultimate.allocInit(11, 18);call #Ultimate.allocInit(5, 19);call write~init~int(82, 19, 0, 1);call write~init~int(101, 19, 1, 1);call write~init~int(97, 19, 2, 1);call write~init~int(100, 19, 3, 1);call write~init~int(0, 19, 4, 1);call #Ultimate.allocInit(6, 20);call write~init~int(87, 20, 0, 1);call write~init~int(114, 20, 1, 1);call write~init~int(105, 20, 2, 1);call write~init~int(116, 20, 3, 1);call write~init~int(101, 20, 4, 1);call write~init~int(0, 20, 5, 1);call #Ultimate.allocInit(17, 21);call #Ultimate.allocInit(11, 22);call #Ultimate.allocInit(28, 23);call #Ultimate.allocInit(4, 24);call write~init~int(37, 24, 0, 1);call write~init~int(51, 24, 1, 1);call write~init~int(120, 24, 2, 1);call write~init~int(0, 24, 3, 1);call #Ultimate.allocInit(13, 25);call #Ultimate.allocInit(2, 26);call write~init~int(10, 26, 0, 1);call write~init~int(0, 26, 1, 1);call #Ultimate.allocInit(7, 27);call write~init~int(109, 27, 0, 1);call write~init~int(97, 27, 1, 1);call write~init~int(115, 27, 2, 1);call write~init~int(116, 27, 3, 1);call write~init~int(101, 27, 4, 1);call write~init~int(114, 27, 5, 1);call write~init~int(0, 27, 6, 1);call #Ultimate.allocInit(6, 28);call write~init~int(115, 28, 0, 1);call write~init~int(108, 28, 1, 1);call write~init~int(97, 28, 2, 1);call write~init~int(118, 28, 3, 1);call write~init~int(101, 28, 4, 1);call write~init~int(0, 28, 5, 1);call #Ultimate.allocInit(15, 29);call #Ultimate.allocInit(29, 30);call #Ultimate.allocInit(5, 31);call write~init~int(49, 31, 0, 1);call write~init~int(46, 31, 1, 1);call write~init~int(48, 31, 2, 1);call write~init~int(50, 31, 3, 1);call write~init~int(0, 31, 4, 1);call #Ultimate.allocInit(30, 32);call #Ultimate.allocInit(30, 33);call #Ultimate.allocInit(40, 34);call #Ultimate.allocInit(3, 35);call write~init~int(112, 35, 0, 1);call write~init~int(103, 35, 1, 1);call write~init~int(0, 35, 2, 1);call #Ultimate.allocInit(5, 36);call write~init~int(112, 36, 0, 1);call write~init~int(103, 36, 1, 1);call write~init~int(37, 36, 2, 1);call write~init~int(117, 36, 3, 1);call write~init~int(0, 36, 4, 1);call #Ultimate.allocInit(3, 37);call write~init~int(112, 37, 0, 1);call write~init~int(103, 37, 1, 1);call write~init~int(0, 37, 2, 1);~ldv_state_variable_1~0 := 0;~ref_cnt~0 := 0;~ldv_state_variable_0~0 := 0;~verbose~0 := 0;~major~0 := 97;~name~0.base, ~name~0.offset := 3, 0;~disable~0 := 0;~#drive0~0.base, ~#drive0~0.offset := 38, 0;call #Ultimate.allocInit(24, 38);call write~init~int(0, ~#drive0~0.base, ~#drive0~0.offset, 4);call write~init~int(0, ~#drive0~0.base, 4 + ~#drive0~0.offset, 4);call write~init~int(0, ~#drive0~0.base, 8 + ~#drive0~0.offset, 4);call write~init~int(-1, ~#drive0~0.base, 12 + ~#drive0~0.offset, 4);call write~init~int(-1, ~#drive0~0.base, 16 + ~#drive0~0.offset, 4);call write~init~int(-1, ~#drive0~0.base, 20 + ~#drive0~0.offset, 4);~#drive1~0.base, ~#drive1~0.offset := 39, 0;call #Ultimate.allocInit(24, 39);call write~init~int(0, ~#drive1~0.base, ~#drive1~0.offset, 4);call write~init~int(0, ~#drive1~0.base, 4 + ~#drive1~0.offset, 4);call write~init~int(0, ~#drive1~0.base, 8 + ~#drive1~0.offset, 4);call write~init~int(-1, ~#drive1~0.base, 12 + ~#drive1~0.offset, 4);call write~init~int(-1, ~#drive1~0.base, 16 + ~#drive1~0.offset, 4);call write~init~int(-1, ~#drive1~0.base, 20 + ~#drive1~0.offset, 4);~#drive2~0.base, ~#drive2~0.offset := 40, 0;call #Ultimate.allocInit(24, 40);call write~init~int(0, ~#drive2~0.base, ~#drive2~0.offset, 4);call write~init~int(0, ~#drive2~0.base, 4 + ~#drive2~0.offset, 4);call write~init~int(0, ~#drive2~0.base, 8 + ~#drive2~0.offset, 4);call write~init~int(-1, ~#drive2~0.base, 12 + ~#drive2~0.offset, 4);call write~init~int(-1, ~#drive2~0.base, 16 + ~#drive2~0.offset, 4);call write~init~int(-1, ~#drive2~0.base, 20 + ~#drive2~0.offset, 4);~#drive3~0.base, ~#drive3~0.offset := 41, 0;call #Ultimate.allocInit(24, 41);call write~init~int(0, ~#drive3~0.base, ~#drive3~0.offset, 4);call write~init~int(0, ~#drive3~0.base, 4 + ~#drive3~0.offset, 4);call write~init~int(0, ~#drive3~0.base, 8 + ~#drive3~0.offset, 4);call write~init~int(-1, ~#drive3~0.base, 12 + ~#drive3~0.offset, 4);call write~init~int(-1, ~#drive3~0.base, 16 + ~#drive3~0.offset, 4);call write~init~int(-1, ~#drive3~0.base, 20 + ~#drive3~0.offset, 4);~#drives~0.base, ~#drives~0.offset := 42, 0;call #Ultimate.allocInit(32, 42);call write~init~$Pointer$(~#drive0~0.base, ~#drive0~0.offset, ~#drives~0.base, ~#drives~0.offset, 8);call write~init~$Pointer$(~#drive1~0.base, ~#drive1~0.offset, ~#drives~0.base, 8 + ~#drives~0.offset, 8);call write~init~$Pointer$(~#drive2~0.base, ~#drive2~0.offset, ~#drives~0.base, 16 + ~#drives~0.offset, 8);call write~init~$Pointer$(~#drive3~0.base, ~#drive3~0.offset, ~#drives~0.base, 24 + ~#drives~0.offset, 8);~pg_drive_count~0 := 0;~#pg_mutex~0.base, ~#pg_mutex~0.offset := 43, 0;call #Ultimate.allocInit(156, 43);call write~init~int(1, ~#pg_mutex~0.base, ~#pg_mutex~0.offset, 4);call write~init~int(0, ~#pg_mutex~0.base, 4 + ~#pg_mutex~0.offset, 4);call write~init~int(3735899821, ~#pg_mutex~0.base, 8 + ~#pg_mutex~0.offset, 4);call write~init~int(4294967295, ~#pg_mutex~0.base, 12 + ~#pg_mutex~0.offset, 4);call write~init~$Pointer$(0, -1, ~#pg_mutex~0.base, 16 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_mutex~0.base, 24 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_mutex~0.base, 32 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_mutex~0.base, 40 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(6, 0, ~#pg_mutex~0.base, 48 + ~#pg_mutex~0.offset, 8);call write~init~int(0, ~#pg_mutex~0.base, 56 + ~#pg_mutex~0.offset, 4);call write~init~int(0, ~#pg_mutex~0.base, 60 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(~#pg_mutex~0.base, 72 + ~#pg_mutex~0.offset, ~#pg_mutex~0.base, 72 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(~#pg_mutex~0.base, 72 + ~#pg_mutex~0.offset, ~#pg_mutex~0.base, 80 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_mutex~0.base, 88 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_mutex~0.base, 96 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(~#pg_mutex~0.base, ~#pg_mutex~0.offset, ~#pg_mutex~0.base, 104 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_mutex~0.base, 112 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_mutex~0.base, 120 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_mutex~0.base, 128 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(7, 0, ~#pg_mutex~0.base, 136 + ~#pg_mutex~0.offset, 8);call write~init~int(0, ~#pg_mutex~0.base, 144 + ~#pg_mutex~0.offset, 4);call write~init~int(0, ~#pg_mutex~0.base, 148 + ~#pg_mutex~0.offset, 8);~#devices~0.base, ~#devices~0.offset := 44, 0;call #Ultimate.allocInit(928, 44);#memory_$Pointer$.base, #memory_$Pointer$.offset := ~initToZeroAtPointerBaseAddress~$Pointer$.base(#memory_$Pointer$.base, #memory_$Pointer$.offset, ~#devices~0.base), ~initToZeroAtPointerBaseAddress~$Pointer$.offset(#memory_$Pointer$.base, #memory_$Pointer$.offset, ~#devices~0.base);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#devices~0.base);~#pg_scratch~0.base, ~#pg_scratch~0.offset := 45, 0;call #Ultimate.allocInit(512, 45);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#pg_scratch~0.base);~pg_class~0.base, ~pg_class~0.offset := 0, 0;~#pg_fops~0.base, ~#pg_fops~0.offset := 46, 0;call #Ultimate.allocInit(216, 46);call write~init~$Pointer$(~#__this_module~0.base, ~#__this_module~0.offset, ~#pg_fops~0.base, ~#pg_fops~0.offset, 8);call write~init~$Pointer$(#funAddr~noop_llseek.base, #funAddr~noop_llseek.offset, ~#pg_fops~0.base, 8 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(#funAddr~pg_read.base, #funAddr~pg_read.offset, ~#pg_fops~0.base, 16 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(#funAddr~pg_write.base, #funAddr~pg_write.offset, ~#pg_fops~0.base, 24 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 32 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 40 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 48 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 56 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 64 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 72 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 80 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(#funAddr~pg_open.base, #funAddr~pg_open.offset, ~#pg_fops~0.base, 88 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 96 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(#funAddr~pg_release.base, #funAddr~pg_release.offset, ~#pg_fops~0.base, 104 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 112 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 120 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 128 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 136 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 144 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 152 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 160 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 168 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 176 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 184 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 192 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 200 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 208 + ~#pg_fops~0.offset, 8);~pg_fops_group2~0.base, ~pg_fops_group2~0.offset := 0, 0;~ldvarg7~0 := 0;~ldvarg3~0 := 0;~ldvarg0~0 := 0;~ldvarg5~0.base, ~ldvarg5~0.offset := 0, 0;~ldvarg6~0.base, ~ldvarg6~0.offset := 0, 0;~ldvarg8~0.base, ~ldvarg8~0.offset := 0, 0;~ldvarg1~0 := 0;~ldv_retval_0~0 := 0;~ldvarg4~0.base, ~ldvarg4~0.offset := 0, 0;~ldv_retval_1~0 := 0;~pg_fops_group1~0.base, ~pg_fops_group1~0.offset := 0, 0;~ldvarg2~0.base, ~ldvarg2~0.offset := 0, 0;~ldv_mutex_cred_guard_mutex_of_signal_struct~0 := 0;~ldv_mutex_lock~0 := 0;~ldv_mutex_mutex_of_device~0 := 0;~ldv_mutex_pg_mutex~0 := 0; {35616#true} is VALID [2022-02-20 21:45:09,173 INFO L290 TraceCheckUtils]: 1: Hoare triple {35616#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet231#1, main_#t~switch232#1, main_#t~nondet233#1, main_#t~switch234#1, main_#t~ret235#1, main_#t~ret236#1, main_#t~ret237#1, main_#t~ret238#1, main_#t~ret239#1, main_#t~ret240#1, main_#t~nondet241#1, main_#t~switch242#1, main_#t~ret243#1, main_~tmp~17#1, main_~tmp___0~12#1, main_~tmp___1~11#1;havoc main_~tmp~17#1;havoc main_~tmp___0~12#1;havoc main_~tmp___1~11#1;assume { :begin_inline_ldv_initialize } true;~ldv_mutex_cred_guard_mutex_of_signal_struct~0 := 1;~ldv_mutex_lock~0 := 1;~ldv_mutex_mutex_of_device~0 := 1;~ldv_mutex_pg_mutex~0 := 1; {35629#(= ~ldv_mutex_cred_guard_mutex_of_signal_struct~0 1)} is VALID [2022-02-20 21:45:09,173 INFO L290 TraceCheckUtils]: 2: Hoare triple {35629#(= ~ldv_mutex_cred_guard_mutex_of_signal_struct~0 1)} assume { :end_inline_ldv_initialize } true;~ldv_state_variable_1~0 := 0;~ref_cnt~0 := 0;~ldv_state_variable_0~0 := 1; {35629#(= ~ldv_mutex_cred_guard_mutex_of_signal_struct~0 1)} is VALID [2022-02-20 21:45:09,174 INFO L290 TraceCheckUtils]: 3: Hoare triple {35629#(= ~ldv_mutex_cred_guard_mutex_of_signal_struct~0 1)} assume -2147483648 <= main_#t~nondet231#1 && main_#t~nondet231#1 <= 2147483647;main_~tmp~17#1 := main_#t~nondet231#1;havoc main_#t~nondet231#1;main_#t~switch232#1 := 0 == main_~tmp~17#1; {35629#(= ~ldv_mutex_cred_guard_mutex_of_signal_struct~0 1)} is VALID [2022-02-20 21:45:09,174 INFO L290 TraceCheckUtils]: 4: Hoare triple {35629#(= ~ldv_mutex_cred_guard_mutex_of_signal_struct~0 1)} assume !main_#t~switch232#1;main_#t~switch232#1 := main_#t~switch232#1 || 1 == main_~tmp~17#1; {35629#(= ~ldv_mutex_cred_guard_mutex_of_signal_struct~0 1)} is VALID [2022-02-20 21:45:09,174 INFO L290 TraceCheckUtils]: 5: Hoare triple {35629#(= ~ldv_mutex_cred_guard_mutex_of_signal_struct~0 1)} assume main_#t~switch232#1; {35629#(= ~ldv_mutex_cred_guard_mutex_of_signal_struct~0 1)} is VALID [2022-02-20 21:45:09,175 INFO L290 TraceCheckUtils]: 6: Hoare triple {35629#(= ~ldv_mutex_cred_guard_mutex_of_signal_struct~0 1)} assume 0 != ~ldv_state_variable_0~0;assume -2147483648 <= main_#t~nondet241#1 && main_#t~nondet241#1 <= 2147483647;main_~tmp___1~11#1 := main_#t~nondet241#1;havoc main_#t~nondet241#1;main_#t~switch242#1 := 0 == main_~tmp___1~11#1; {35629#(= ~ldv_mutex_cred_guard_mutex_of_signal_struct~0 1)} is VALID [2022-02-20 21:45:09,175 INFO L290 TraceCheckUtils]: 7: Hoare triple {35629#(= ~ldv_mutex_cred_guard_mutex_of_signal_struct~0 1)} assume !main_#t~switch242#1;main_#t~switch242#1 := main_#t~switch242#1 || 1 == main_~tmp___1~11#1; {35629#(= ~ldv_mutex_cred_guard_mutex_of_signal_struct~0 1)} is VALID [2022-02-20 21:45:09,176 INFO L290 TraceCheckUtils]: 8: Hoare triple {35629#(= ~ldv_mutex_cred_guard_mutex_of_signal_struct~0 1)} assume main_#t~switch242#1; {35629#(= ~ldv_mutex_cred_guard_mutex_of_signal_struct~0 1)} is VALID [2022-02-20 21:45:09,176 INFO L290 TraceCheckUtils]: 9: Hoare triple {35629#(= ~ldv_mutex_cred_guard_mutex_of_signal_struct~0 1)} assume 1 == ~ldv_state_variable_0~0;assume { :begin_inline_pg_init } true;havoc pg_init_#res#1;havoc pg_init_#t~ret218#1, pg_init_#t~ret219#1, pg_init_#t~nondet220#1, pg_init_#t~mem221#1, pg_init_#t~mem222#1.base, pg_init_#t~mem222#1.offset, pg_init_#t~ret223#1.base, pg_init_#t~ret223#1.offset, pg_init_#t~ret224#1, pg_init_#t~ret225#1, pg_init_#t~mem226#1, pg_init_#t~nondet227#1.base, pg_init_#t~nondet227#1.offset, pg_init_~unit~3#1, pg_init_~err~1#1, pg_init_~tmp~16#1, pg_init_~dev~6#1.base, pg_init_~dev~6#1.offset, pg_init_~#__key~0#1.base, pg_init_~#__key~0#1.offset, pg_init_~tmp___0~11#1.base, pg_init_~tmp___0~11#1.offset, pg_init_~tmp___1~10#1, pg_init_~tmp___2~7#1, pg_init_~dev___0~0#1.base, pg_init_~dev___0~0#1.offset;havoc pg_init_~unit~3#1;havoc pg_init_~err~1#1;havoc pg_init_~tmp~16#1;havoc pg_init_~dev~6#1.base, pg_init_~dev~6#1.offset;call pg_init_~#__key~0#1.base, pg_init_~#__key~0#1.offset := #Ultimate.allocOnStack(8);havoc pg_init_~tmp___0~11#1.base, pg_init_~tmp___0~11#1.offset;havoc pg_init_~tmp___1~10#1;havoc pg_init_~tmp___2~7#1;havoc pg_init_~dev___0~0#1.base, pg_init_~dev___0~0#1.offset; {35629#(= ~ldv_mutex_cred_guard_mutex_of_signal_struct~0 1)} is VALID [2022-02-20 21:45:09,177 INFO L290 TraceCheckUtils]: 10: Hoare triple {35629#(= ~ldv_mutex_cred_guard_mutex_of_signal_struct~0 1)} assume !(0 != ~disable~0);assume { :begin_inline_pg_init_units } true;havoc pg_init_units_#t~mem92#1.base, pg_init_units_#t~mem92#1.offset, pg_init_units_#t~mem93#1, pg_init_units_#t~nondet94#1, pg_init_units_#t~mem95#1, pg_init_units_~unit~0#1, pg_init_units_~parm~0#1.base, pg_init_units_~parm~0#1.offset, pg_init_units_~dev~0#1.base, pg_init_units_~dev~0#1.offset;havoc pg_init_units_~unit~0#1;havoc pg_init_units_~parm~0#1.base, pg_init_units_~parm~0#1.offset;havoc pg_init_units_~dev~0#1.base, pg_init_units_~dev~0#1.offset;~pg_drive_count~0 := 0;pg_init_units_~unit~0#1 := 0; {35629#(= ~ldv_mutex_cred_guard_mutex_of_signal_struct~0 1)} is VALID [2022-02-20 21:45:09,178 INFO L290 TraceCheckUtils]: 11: Hoare triple {35629#(= ~ldv_mutex_cred_guard_mutex_of_signal_struct~0 1)} assume pg_init_units_~unit~0#1 <= 3; {35629#(= ~ldv_mutex_cred_guard_mutex_of_signal_struct~0 1)} is VALID [2022-02-20 21:45:09,178 INFO L290 TraceCheckUtils]: 12: Hoare triple {35629#(= ~ldv_mutex_cred_guard_mutex_of_signal_struct~0 1)} call pg_init_units_#t~mem92#1.base, pg_init_units_#t~mem92#1.offset := read~$Pointer$(~#drives~0.base, ~#drives~0.offset + 8 * pg_init_units_~unit~0#1, 8);pg_init_units_~parm~0#1.base, pg_init_units_~parm~0#1.offset := pg_init_units_#t~mem92#1.base, pg_init_units_#t~mem92#1.offset;havoc pg_init_units_#t~mem92#1.base, pg_init_units_#t~mem92#1.offset;pg_init_units_~dev~0#1.base, pg_init_units_~dev~0#1.offset := ~#devices~0.base, ~#devices~0.offset + 232 * (if pg_init_units_~unit~0#1 % 18446744073709551616 % 18446744073709551616 <= 9223372036854775807 then pg_init_units_~unit~0#1 % 18446744073709551616 % 18446744073709551616 else pg_init_units_~unit~0#1 % 18446744073709551616 % 18446744073709551616 - 18446744073709551616);call write~$Pointer$(pg_init_units_~dev~0#1.base, pg_init_units_~dev~0#1.offset, pg_init_units_~dev~0#1.base, 168 + pg_init_units_~dev~0#1.offset, 8); {35629#(= ~ldv_mutex_cred_guard_mutex_of_signal_struct~0 1)} is VALID [2022-02-20 21:45:09,179 INFO L272 TraceCheckUtils]: 13: Hoare triple {35629#(= ~ldv_mutex_cred_guard_mutex_of_signal_struct~0 1)} call clear_bit(0, pg_init_units_~dev~0#1.base, 204 + pg_init_units_~dev~0#1.offset); {35629#(= ~ldv_mutex_cred_guard_mutex_of_signal_struct~0 1)} is VALID [2022-02-20 21:45:09,179 INFO L290 TraceCheckUtils]: 14: Hoare triple {35629#(= ~ldv_mutex_cred_guard_mutex_of_signal_struct~0 1)} ~nr := #in~nr;~addr.base, ~addr.offset := #in~addr.base, #in~addr.offset; {35629#(= ~ldv_mutex_cred_guard_mutex_of_signal_struct~0 1)} is VALID [2022-02-20 21:45:09,180 INFO L290 TraceCheckUtils]: 15: Hoare triple {35629#(= ~ldv_mutex_cred_guard_mutex_of_signal_struct~0 1)} assume true; {35629#(= ~ldv_mutex_cred_guard_mutex_of_signal_struct~0 1)} is VALID [2022-02-20 21:45:09,181 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {35629#(= ~ldv_mutex_cred_guard_mutex_of_signal_struct~0 1)} {35629#(= ~ldv_mutex_cred_guard_mutex_of_signal_struct~0 1)} #1242#return; {35629#(= ~ldv_mutex_cred_guard_mutex_of_signal_struct~0 1)} is VALID [2022-02-20 21:45:09,181 INFO L290 TraceCheckUtils]: 17: Hoare triple {35629#(= ~ldv_mutex_cred_guard_mutex_of_signal_struct~0 1)} call write~int(0, pg_init_units_~dev~0#1.base, 176 + pg_init_units_~dev~0#1.offset, 4);call write~int(0, pg_init_units_~dev~0#1.base, 212 + pg_init_units_~dev~0#1.offset, 4);call write~$Pointer$(0, 0, pg_init_units_~dev~0#1.base, 216 + pg_init_units_~dev~0#1.offset, 8);call pg_init_units_#t~mem93#1 := read~int(pg_init_units_~parm~0#1.base, 16 + pg_init_units_~parm~0#1.offset, 4);call write~int(pg_init_units_#t~mem93#1, pg_init_units_~dev~0#1.base, 200 + pg_init_units_~dev~0#1.offset, 4);havoc pg_init_units_#t~mem93#1;havoc pg_init_units_#t~nondet94#1;call pg_init_units_#t~mem95#1 := read~int(pg_init_units_~parm~0#1.base, pg_init_units_~parm~0#1.offset, 4); {35629#(= ~ldv_mutex_cred_guard_mutex_of_signal_struct~0 1)} is VALID [2022-02-20 21:45:09,182 INFO L290 TraceCheckUtils]: 18: Hoare triple {35629#(= ~ldv_mutex_cred_guard_mutex_of_signal_struct~0 1)} assume 0 != pg_init_units_#t~mem95#1;havoc pg_init_units_#t~mem95#1;~pg_drive_count~0 := 1 + ~pg_drive_count~0; {35629#(= ~ldv_mutex_cred_guard_mutex_of_signal_struct~0 1)} is VALID [2022-02-20 21:45:09,182 INFO L290 TraceCheckUtils]: 19: Hoare triple {35629#(= ~ldv_mutex_cred_guard_mutex_of_signal_struct~0 1)} pg_init_units_~unit~0#1 := 1 + pg_init_units_~unit~0#1; {35629#(= ~ldv_mutex_cred_guard_mutex_of_signal_struct~0 1)} is VALID [2022-02-20 21:45:09,182 INFO L290 TraceCheckUtils]: 20: Hoare triple {35629#(= ~ldv_mutex_cred_guard_mutex_of_signal_struct~0 1)} assume !(pg_init_units_~unit~0#1 <= 3); {35629#(= ~ldv_mutex_cred_guard_mutex_of_signal_struct~0 1)} is VALID [2022-02-20 21:45:09,183 INFO L290 TraceCheckUtils]: 21: Hoare triple {35629#(= ~ldv_mutex_cred_guard_mutex_of_signal_struct~0 1)} assume { :end_inline_pg_init_units } true;assume { :begin_inline_pg_detect } true;havoc pg_detect_#res#1;havoc pg_detect_#t~nondet158#1, pg_detect_#t~mem159#1.base, pg_detect_#t~mem159#1.offset, pg_detect_#t~ret160#1, pg_detect_#t~ret161#1, pg_detect_#t~mem162#1.base, pg_detect_#t~mem162#1.offset, pg_detect_#t~mem163#1.base, pg_detect_#t~mem163#1.offset, pg_detect_#t~mem164#1, pg_detect_#t~mem165#1.base, pg_detect_#t~mem165#1.offset, pg_detect_#t~mem166#1, pg_detect_#t~mem167#1, pg_detect_#t~mem168#1, pg_detect_#t~mem169#1, pg_detect_#t~mem170#1, pg_detect_#t~ret171#1, pg_detect_#t~ret172#1, pg_detect_#t~mem173#1.base, pg_detect_#t~mem173#1.offset, pg_detect_#t~nondet174#1, pg_detect_~dev~1#1.base, pg_detect_~dev~1#1.offset, pg_detect_~k~3#1, pg_detect_~unit~1#1, pg_detect_~tmp~12#1, pg_detect_~parm~1#1.base, pg_detect_~parm~1#1.offset, pg_detect_~tmp___0~7#1, pg_detect_~tmp___1~6#1, pg_detect_~tmp___2~5#1;havoc pg_detect_~dev~1#1.base, pg_detect_~dev~1#1.offset;havoc pg_detect_~k~3#1;havoc pg_detect_~unit~1#1;havoc pg_detect_~tmp~12#1;havoc pg_detect_~parm~1#1.base, pg_detect_~parm~1#1.offset;havoc pg_detect_~tmp___0~7#1;havoc pg_detect_~tmp___1~6#1;havoc pg_detect_~tmp___2~5#1;pg_detect_~dev~1#1.base, pg_detect_~dev~1#1.offset := ~#devices~0.base, ~#devices~0.offset;havoc pg_detect_#t~nondet158#1;pg_detect_~k~3#1 := 0; {35629#(= ~ldv_mutex_cred_guard_mutex_of_signal_struct~0 1)} is VALID [2022-02-20 21:45:09,184 INFO L290 TraceCheckUtils]: 22: Hoare triple {35629#(= ~ldv_mutex_cred_guard_mutex_of_signal_struct~0 1)} assume !(0 == ~pg_drive_count~0); {35629#(= ~ldv_mutex_cred_guard_mutex_of_signal_struct~0 1)} is VALID [2022-02-20 21:45:09,185 INFO L290 TraceCheckUtils]: 23: Hoare triple {35629#(= ~ldv_mutex_cred_guard_mutex_of_signal_struct~0 1)} assume !(0 != pg_detect_~k~3#1);havoc pg_detect_#t~nondet174#1;pg_detect_#res#1 := -1; {35629#(= ~ldv_mutex_cred_guard_mutex_of_signal_struct~0 1)} is VALID [2022-02-20 21:45:09,185 INFO L290 TraceCheckUtils]: 24: Hoare triple {35629#(= ~ldv_mutex_cred_guard_mutex_of_signal_struct~0 1)} pg_init_#t~ret218#1 := pg_detect_#res#1;assume { :end_inline_pg_detect } true;assume -2147483648 <= pg_init_#t~ret218#1 && pg_init_#t~ret218#1 <= 2147483647;pg_init_~tmp~16#1 := pg_init_#t~ret218#1;havoc pg_init_#t~ret218#1; {35629#(= ~ldv_mutex_cred_guard_mutex_of_signal_struct~0 1)} is VALID [2022-02-20 21:45:09,185 INFO L290 TraceCheckUtils]: 25: Hoare triple {35629#(= ~ldv_mutex_cred_guard_mutex_of_signal_struct~0 1)} assume 0 != pg_init_~tmp~16#1;pg_init_~err~1#1 := -19; {35629#(= ~ldv_mutex_cred_guard_mutex_of_signal_struct~0 1)} is VALID [2022-02-20 21:45:09,186 INFO L290 TraceCheckUtils]: 26: Hoare triple {35629#(= ~ldv_mutex_cred_guard_mutex_of_signal_struct~0 1)} pg_init_#res#1 := pg_init_~err~1#1;call ULTIMATE.dealloc(pg_init_~#__key~0#1.base, pg_init_~#__key~0#1.offset);havoc pg_init_~#__key~0#1.base, pg_init_~#__key~0#1.offset; {35629#(= ~ldv_mutex_cred_guard_mutex_of_signal_struct~0 1)} is VALID [2022-02-20 21:45:09,186 INFO L290 TraceCheckUtils]: 27: Hoare triple {35629#(= ~ldv_mutex_cred_guard_mutex_of_signal_struct~0 1)} main_#t~ret243#1 := pg_init_#res#1;assume { :end_inline_pg_init } true;assume -2147483648 <= main_#t~ret243#1 && main_#t~ret243#1 <= 2147483647;~ldv_retval_1~0 := main_#t~ret243#1;havoc main_#t~ret243#1; {35629#(= ~ldv_mutex_cred_guard_mutex_of_signal_struct~0 1)} is VALID [2022-02-20 21:45:09,187 INFO L290 TraceCheckUtils]: 28: Hoare triple {35629#(= ~ldv_mutex_cred_guard_mutex_of_signal_struct~0 1)} assume !(0 == ~ldv_retval_1~0); {35629#(= ~ldv_mutex_cred_guard_mutex_of_signal_struct~0 1)} is VALID [2022-02-20 21:45:09,187 INFO L290 TraceCheckUtils]: 29: Hoare triple {35629#(= ~ldv_mutex_cred_guard_mutex_of_signal_struct~0 1)} assume 0 != ~ldv_retval_1~0;~ldv_state_variable_0~0 := 2; {35629#(= ~ldv_mutex_cred_guard_mutex_of_signal_struct~0 1)} is VALID [2022-02-20 21:45:09,188 INFO L290 TraceCheckUtils]: 30: Hoare triple {35629#(= ~ldv_mutex_cred_guard_mutex_of_signal_struct~0 1)} assume { :begin_inline_ldv_check_final_state } true; {35629#(= ~ldv_mutex_cred_guard_mutex_of_signal_struct~0 1)} is VALID [2022-02-20 21:45:09,188 INFO L290 TraceCheckUtils]: 31: Hoare triple {35629#(= ~ldv_mutex_cred_guard_mutex_of_signal_struct~0 1)} assume !(1 == ~ldv_mutex_cred_guard_mutex_of_signal_struct~0); {35617#false} is VALID [2022-02-20 21:45:09,188 INFO L272 TraceCheckUtils]: 32: Hoare triple {35617#false} call ldv_error(); {35617#false} is VALID [2022-02-20 21:45:09,188 INFO L290 TraceCheckUtils]: 33: Hoare triple {35617#false} assume !false; {35617#false} is VALID [2022-02-20 21:45:09,189 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 21:45:09,189 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 21:45:09,189 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [218211652] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 21:45:09,189 INFO L191 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-02-20 21:45:09,189 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [4] total 5 [2022-02-20 21:45:09,190 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1250113912] [2022-02-20 21:45:09,190 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 21:45:09,190 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 10.333333333333334) internal successors, (31), 3 states have internal predecessors, (31), 2 states have call successors, (2), 2 states have call predecessors, (2), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 34 [2022-02-20 21:45:09,190 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 21:45:09,191 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 10.333333333333334) internal successors, (31), 3 states have internal predecessors, (31), 2 states have call successors, (2), 2 states have call predecessors, (2), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 21:45:09,230 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 34 edges. 34 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 21:45:09,230 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-02-20 21:45:09,231 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 21:45:09,231 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-02-20 21:45:09,231 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2022-02-20 21:45:09,232 INFO L87 Difference]: Start difference. First operand 1116 states and 1526 transitions. Second operand has 3 states, 3 states have (on average 10.333333333333334) internal successors, (31), 3 states have internal predecessors, (31), 2 states have call successors, (2), 2 states have call predecessors, (2), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 21:45:12,335 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 21:45:12,335 INFO L93 Difference]: Finished difference Result 1118 states and 1527 transitions. [2022-02-20 21:45:12,335 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-02-20 21:45:12,336 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 10.333333333333334) internal successors, (31), 3 states have internal predecessors, (31), 2 states have call successors, (2), 2 states have call predecessors, (2), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 34 [2022-02-20 21:45:12,336 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 21:45:12,336 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 10.333333333333334) internal successors, (31), 3 states have internal predecessors, (31), 2 states have call successors, (2), 2 states have call predecessors, (2), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 21:45:12,343 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 639 transitions. [2022-02-20 21:45:12,343 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 10.333333333333334) internal successors, (31), 3 states have internal predecessors, (31), 2 states have call successors, (2), 2 states have call predecessors, (2), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 21:45:12,362 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 639 transitions. [2022-02-20 21:45:12,362 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 639 transitions. [2022-02-20 21:45:12,854 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 639 edges. 639 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 21:45:12,922 INFO L225 Difference]: With dead ends: 1118 [2022-02-20 21:45:12,923 INFO L226 Difference]: Without dead ends: 1115 [2022-02-20 21:45:12,923 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 39 GetRequests, 36 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2022-02-20 21:45:12,924 INFO L933 BasicCegarLoop]: 635 mSDtfsCounter, 605 mSDsluCounter, 0 mSDsCounter, 0 mSdLazyCounter, 2 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 605 SdHoareTripleChecker+Valid, 635 SdHoareTripleChecker+Invalid, 2 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 2 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 21:45:12,924 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [605 Valid, 635 Invalid, 2 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 2 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 21:45:12,926 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1115 states. [2022-02-20 21:45:12,960 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1115 to 1115. [2022-02-20 21:45:12,960 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 21:45:12,962 INFO L82 GeneralOperation]: Start isEquivalent. First operand 1115 states. Second operand has 1115 states, 835 states have (on average 1.3425149700598802) internal successors, (1121), 846 states have internal predecessors, (1121), 204 states have call successors, (204), 76 states have call predecessors, (204), 75 states have return successors, (199), 199 states have call predecessors, (199), 199 states have call successors, (199) [2022-02-20 21:45:12,964 INFO L74 IsIncluded]: Start isIncluded. First operand 1115 states. Second operand has 1115 states, 835 states have (on average 1.3425149700598802) internal successors, (1121), 846 states have internal predecessors, (1121), 204 states have call successors, (204), 76 states have call predecessors, (204), 75 states have return successors, (199), 199 states have call predecessors, (199), 199 states have call successors, (199) [2022-02-20 21:45:12,965 INFO L87 Difference]: Start difference. First operand 1115 states. Second operand has 1115 states, 835 states have (on average 1.3425149700598802) internal successors, (1121), 846 states have internal predecessors, (1121), 204 states have call successors, (204), 76 states have call predecessors, (204), 75 states have return successors, (199), 199 states have call predecessors, (199), 199 states have call successors, (199) [2022-02-20 21:45:13,029 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 21:45:13,029 INFO L93 Difference]: Finished difference Result 1115 states and 1524 transitions. [2022-02-20 21:45:13,029 INFO L276 IsEmpty]: Start isEmpty. Operand 1115 states and 1524 transitions. [2022-02-20 21:45:13,033 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 21:45:13,034 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 21:45:13,036 INFO L74 IsIncluded]: Start isIncluded. First operand has 1115 states, 835 states have (on average 1.3425149700598802) internal successors, (1121), 846 states have internal predecessors, (1121), 204 states have call successors, (204), 76 states have call predecessors, (204), 75 states have return successors, (199), 199 states have call predecessors, (199), 199 states have call successors, (199) Second operand 1115 states. [2022-02-20 21:45:13,039 INFO L87 Difference]: Start difference. First operand has 1115 states, 835 states have (on average 1.3425149700598802) internal successors, (1121), 846 states have internal predecessors, (1121), 204 states have call successors, (204), 76 states have call predecessors, (204), 75 states have return successors, (199), 199 states have call predecessors, (199), 199 states have call successors, (199) Second operand 1115 states. [2022-02-20 21:45:13,103 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 21:45:13,103 INFO L93 Difference]: Finished difference Result 1115 states and 1524 transitions. [2022-02-20 21:45:13,103 INFO L276 IsEmpty]: Start isEmpty. Operand 1115 states and 1524 transitions. [2022-02-20 21:45:13,107 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 21:45:13,108 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 21:45:13,108 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 21:45:13,108 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 21:45:13,111 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 1115 states, 835 states have (on average 1.3425149700598802) internal successors, (1121), 846 states have internal predecessors, (1121), 204 states have call successors, (204), 76 states have call predecessors, (204), 75 states have return successors, (199), 199 states have call predecessors, (199), 199 states have call successors, (199) [2022-02-20 21:45:13,196 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 1115 states to 1115 states and 1524 transitions. [2022-02-20 21:45:13,196 INFO L78 Accepts]: Start accepts. Automaton has 1115 states and 1524 transitions. Word has length 34 [2022-02-20 21:45:13,197 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 21:45:13,197 INFO L470 AbstractCegarLoop]: Abstraction has 1115 states and 1524 transitions. [2022-02-20 21:45:13,197 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 10.333333333333334) internal successors, (31), 3 states have internal predecessors, (31), 2 states have call successors, (2), 2 states have call predecessors, (2), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 21:45:13,197 INFO L276 IsEmpty]: Start isEmpty. Operand 1115 states and 1524 transitions. [2022-02-20 21:45:13,198 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 36 [2022-02-20 21:45:13,198 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 21:45:13,198 INFO L514 BasicCegarLoop]: trace histogram [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-02-20 21:45:13,227 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-02-20 21:45:13,423 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 21:45:13,424 INFO L402 AbstractCegarLoop]: === Iteration 8 === Targeting ldv_errorErr0ASSERT_VIOLATIONERROR_FUNCTION === [ldv_errorErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 21:45:13,424 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 21:45:13,424 INFO L85 PathProgramCache]: Analyzing trace with hash -1250139455, now seen corresponding path program 1 times [2022-02-20 21:45:13,424 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 21:45:13,424 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [498316649] [2022-02-20 21:45:13,424 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 21:45:13,424 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 21:45:13,464 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:45:13,512 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 13 [2022-02-20 21:45:13,514 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:45:13,519 INFO L290 TraceCheckUtils]: 0: Hoare triple {41066#true} ~nr := #in~nr;~addr.base, ~addr.offset := #in~addr.base, #in~addr.offset; {41066#true} is VALID [2022-02-20 21:45:13,520 INFO L290 TraceCheckUtils]: 1: Hoare triple {41066#true} assume true; {41066#true} is VALID [2022-02-20 21:45:13,521 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {41066#true} {41068#(= |ULTIMATE.start_pg_init_units_~unit~0#1| 0)} #1242#return; {41068#(= |ULTIMATE.start_pg_init_units_~unit~0#1| 0)} is VALID [2022-02-20 21:45:13,522 INFO L290 TraceCheckUtils]: 0: Hoare triple {41066#true} assume { :begin_inline_ULTIMATE.init } 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(72, 2);call #Ultimate.allocInit(3, 3);call write~init~int(112, 3, 0, 1);call write~init~int(103, 3, 1, 1);call write~init~int(0, 3, 2, 1);call #Ultimate.allocInit(124, 4);call #Ultimate.allocInit(27, 5);call #Ultimate.allocInit(19, 6);call #Ultimate.allocInit(9, 7);call #Ultimate.allocInit(5, 8);call write~init~int(37, 8, 0, 1);call write~init~int(115, 8, 1, 1);call write~init~int(37, 8, 2, 1);call write~init~int(99, 8, 3, 1);call write~init~int(0, 8, 4, 1);call #Ultimate.allocInit(9, 9);call #Ultimate.allocInit(1, 10);call write~init~int(0, 10, 0, 1);call #Ultimate.allocInit(39, 11);call #Ultimate.allocInit(15, 12);call #Ultimate.allocInit(12, 13);call #Ultimate.allocInit(25, 14);call #Ultimate.allocInit(35, 15);call #Ultimate.allocInit(6, 16);call write~init~int(37, 16, 0, 1);call write~init~int(48, 16, 1, 1);call write~init~int(50, 16, 2, 1);call write~init~int(120, 16, 3, 1);call write~init~int(32, 16, 4, 1);call write~init~int(0, 16, 5, 1);call #Ultimate.allocInit(2, 17);call write~init~int(10, 17, 0, 1);call write~init~int(0, 17, 1, 1);call #Ultimate.allocInit(11, 18);call #Ultimate.allocInit(5, 19);call write~init~int(82, 19, 0, 1);call write~init~int(101, 19, 1, 1);call write~init~int(97, 19, 2, 1);call write~init~int(100, 19, 3, 1);call write~init~int(0, 19, 4, 1);call #Ultimate.allocInit(6, 20);call write~init~int(87, 20, 0, 1);call write~init~int(114, 20, 1, 1);call write~init~int(105, 20, 2, 1);call write~init~int(116, 20, 3, 1);call write~init~int(101, 20, 4, 1);call write~init~int(0, 20, 5, 1);call #Ultimate.allocInit(17, 21);call #Ultimate.allocInit(11, 22);call #Ultimate.allocInit(28, 23);call #Ultimate.allocInit(4, 24);call write~init~int(37, 24, 0, 1);call write~init~int(51, 24, 1, 1);call write~init~int(120, 24, 2, 1);call write~init~int(0, 24, 3, 1);call #Ultimate.allocInit(13, 25);call #Ultimate.allocInit(2, 26);call write~init~int(10, 26, 0, 1);call write~init~int(0, 26, 1, 1);call #Ultimate.allocInit(7, 27);call write~init~int(109, 27, 0, 1);call write~init~int(97, 27, 1, 1);call write~init~int(115, 27, 2, 1);call write~init~int(116, 27, 3, 1);call write~init~int(101, 27, 4, 1);call write~init~int(114, 27, 5, 1);call write~init~int(0, 27, 6, 1);call #Ultimate.allocInit(6, 28);call write~init~int(115, 28, 0, 1);call write~init~int(108, 28, 1, 1);call write~init~int(97, 28, 2, 1);call write~init~int(118, 28, 3, 1);call write~init~int(101, 28, 4, 1);call write~init~int(0, 28, 5, 1);call #Ultimate.allocInit(15, 29);call #Ultimate.allocInit(29, 30);call #Ultimate.allocInit(5, 31);call write~init~int(49, 31, 0, 1);call write~init~int(46, 31, 1, 1);call write~init~int(48, 31, 2, 1);call write~init~int(50, 31, 3, 1);call write~init~int(0, 31, 4, 1);call #Ultimate.allocInit(30, 32);call #Ultimate.allocInit(30, 33);call #Ultimate.allocInit(40, 34);call #Ultimate.allocInit(3, 35);call write~init~int(112, 35, 0, 1);call write~init~int(103, 35, 1, 1);call write~init~int(0, 35, 2, 1);call #Ultimate.allocInit(5, 36);call write~init~int(112, 36, 0, 1);call write~init~int(103, 36, 1, 1);call write~init~int(37, 36, 2, 1);call write~init~int(117, 36, 3, 1);call write~init~int(0, 36, 4, 1);call #Ultimate.allocInit(3, 37);call write~init~int(112, 37, 0, 1);call write~init~int(103, 37, 1, 1);call write~init~int(0, 37, 2, 1);~ldv_state_variable_1~0 := 0;~ref_cnt~0 := 0;~ldv_state_variable_0~0 := 0;~verbose~0 := 0;~major~0 := 97;~name~0.base, ~name~0.offset := 3, 0;~disable~0 := 0;~#drive0~0.base, ~#drive0~0.offset := 38, 0;call #Ultimate.allocInit(24, 38);call write~init~int(0, ~#drive0~0.base, ~#drive0~0.offset, 4);call write~init~int(0, ~#drive0~0.base, 4 + ~#drive0~0.offset, 4);call write~init~int(0, ~#drive0~0.base, 8 + ~#drive0~0.offset, 4);call write~init~int(-1, ~#drive0~0.base, 12 + ~#drive0~0.offset, 4);call write~init~int(-1, ~#drive0~0.base, 16 + ~#drive0~0.offset, 4);call write~init~int(-1, ~#drive0~0.base, 20 + ~#drive0~0.offset, 4);~#drive1~0.base, ~#drive1~0.offset := 39, 0;call #Ultimate.allocInit(24, 39);call write~init~int(0, ~#drive1~0.base, ~#drive1~0.offset, 4);call write~init~int(0, ~#drive1~0.base, 4 + ~#drive1~0.offset, 4);call write~init~int(0, ~#drive1~0.base, 8 + ~#drive1~0.offset, 4);call write~init~int(-1, ~#drive1~0.base, 12 + ~#drive1~0.offset, 4);call write~init~int(-1, ~#drive1~0.base, 16 + ~#drive1~0.offset, 4);call write~init~int(-1, ~#drive1~0.base, 20 + ~#drive1~0.offset, 4);~#drive2~0.base, ~#drive2~0.offset := 40, 0;call #Ultimate.allocInit(24, 40);call write~init~int(0, ~#drive2~0.base, ~#drive2~0.offset, 4);call write~init~int(0, ~#drive2~0.base, 4 + ~#drive2~0.offset, 4);call write~init~int(0, ~#drive2~0.base, 8 + ~#drive2~0.offset, 4);call write~init~int(-1, ~#drive2~0.base, 12 + ~#drive2~0.offset, 4);call write~init~int(-1, ~#drive2~0.base, 16 + ~#drive2~0.offset, 4);call write~init~int(-1, ~#drive2~0.base, 20 + ~#drive2~0.offset, 4);~#drive3~0.base, ~#drive3~0.offset := 41, 0;call #Ultimate.allocInit(24, 41);call write~init~int(0, ~#drive3~0.base, ~#drive3~0.offset, 4);call write~init~int(0, ~#drive3~0.base, 4 + ~#drive3~0.offset, 4);call write~init~int(0, ~#drive3~0.base, 8 + ~#drive3~0.offset, 4);call write~init~int(-1, ~#drive3~0.base, 12 + ~#drive3~0.offset, 4);call write~init~int(-1, ~#drive3~0.base, 16 + ~#drive3~0.offset, 4);call write~init~int(-1, ~#drive3~0.base, 20 + ~#drive3~0.offset, 4);~#drives~0.base, ~#drives~0.offset := 42, 0;call #Ultimate.allocInit(32, 42);call write~init~$Pointer$(~#drive0~0.base, ~#drive0~0.offset, ~#drives~0.base, ~#drives~0.offset, 8);call write~init~$Pointer$(~#drive1~0.base, ~#drive1~0.offset, ~#drives~0.base, 8 + ~#drives~0.offset, 8);call write~init~$Pointer$(~#drive2~0.base, ~#drive2~0.offset, ~#drives~0.base, 16 + ~#drives~0.offset, 8);call write~init~$Pointer$(~#drive3~0.base, ~#drive3~0.offset, ~#drives~0.base, 24 + ~#drives~0.offset, 8);~pg_drive_count~0 := 0;~#pg_mutex~0.base, ~#pg_mutex~0.offset := 43, 0;call #Ultimate.allocInit(156, 43);call write~init~int(1, ~#pg_mutex~0.base, ~#pg_mutex~0.offset, 4);call write~init~int(0, ~#pg_mutex~0.base, 4 + ~#pg_mutex~0.offset, 4);call write~init~int(3735899821, ~#pg_mutex~0.base, 8 + ~#pg_mutex~0.offset, 4);call write~init~int(4294967295, ~#pg_mutex~0.base, 12 + ~#pg_mutex~0.offset, 4);call write~init~$Pointer$(0, -1, ~#pg_mutex~0.base, 16 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_mutex~0.base, 24 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_mutex~0.base, 32 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_mutex~0.base, 40 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(6, 0, ~#pg_mutex~0.base, 48 + ~#pg_mutex~0.offset, 8);call write~init~int(0, ~#pg_mutex~0.base, 56 + ~#pg_mutex~0.offset, 4);call write~init~int(0, ~#pg_mutex~0.base, 60 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(~#pg_mutex~0.base, 72 + ~#pg_mutex~0.offset, ~#pg_mutex~0.base, 72 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(~#pg_mutex~0.base, 72 + ~#pg_mutex~0.offset, ~#pg_mutex~0.base, 80 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_mutex~0.base, 88 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_mutex~0.base, 96 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(~#pg_mutex~0.base, ~#pg_mutex~0.offset, ~#pg_mutex~0.base, 104 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_mutex~0.base, 112 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_mutex~0.base, 120 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_mutex~0.base, 128 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(7, 0, ~#pg_mutex~0.base, 136 + ~#pg_mutex~0.offset, 8);call write~init~int(0, ~#pg_mutex~0.base, 144 + ~#pg_mutex~0.offset, 4);call write~init~int(0, ~#pg_mutex~0.base, 148 + ~#pg_mutex~0.offset, 8);~#devices~0.base, ~#devices~0.offset := 44, 0;call #Ultimate.allocInit(928, 44);#memory_$Pointer$.base, #memory_$Pointer$.offset := ~initToZeroAtPointerBaseAddress~$Pointer$.base(#memory_$Pointer$.base, #memory_$Pointer$.offset, ~#devices~0.base), ~initToZeroAtPointerBaseAddress~$Pointer$.offset(#memory_$Pointer$.base, #memory_$Pointer$.offset, ~#devices~0.base);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#devices~0.base);~#pg_scratch~0.base, ~#pg_scratch~0.offset := 45, 0;call #Ultimate.allocInit(512, 45);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#pg_scratch~0.base);~pg_class~0.base, ~pg_class~0.offset := 0, 0;~#pg_fops~0.base, ~#pg_fops~0.offset := 46, 0;call #Ultimate.allocInit(216, 46);call write~init~$Pointer$(~#__this_module~0.base, ~#__this_module~0.offset, ~#pg_fops~0.base, ~#pg_fops~0.offset, 8);call write~init~$Pointer$(#funAddr~noop_llseek.base, #funAddr~noop_llseek.offset, ~#pg_fops~0.base, 8 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(#funAddr~pg_read.base, #funAddr~pg_read.offset, ~#pg_fops~0.base, 16 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(#funAddr~pg_write.base, #funAddr~pg_write.offset, ~#pg_fops~0.base, 24 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 32 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 40 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 48 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 56 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 64 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 72 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 80 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(#funAddr~pg_open.base, #funAddr~pg_open.offset, ~#pg_fops~0.base, 88 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 96 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(#funAddr~pg_release.base, #funAddr~pg_release.offset, ~#pg_fops~0.base, 104 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 112 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 120 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 128 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 136 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 144 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 152 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 160 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 168 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 176 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 184 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 192 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 200 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 208 + ~#pg_fops~0.offset, 8);~pg_fops_group2~0.base, ~pg_fops_group2~0.offset := 0, 0;~ldvarg7~0 := 0;~ldvarg3~0 := 0;~ldvarg0~0 := 0;~ldvarg5~0.base, ~ldvarg5~0.offset := 0, 0;~ldvarg6~0.base, ~ldvarg6~0.offset := 0, 0;~ldvarg8~0.base, ~ldvarg8~0.offset := 0, 0;~ldvarg1~0 := 0;~ldv_retval_0~0 := 0;~ldvarg4~0.base, ~ldvarg4~0.offset := 0, 0;~ldv_retval_1~0 := 0;~pg_fops_group1~0.base, ~pg_fops_group1~0.offset := 0, 0;~ldvarg2~0.base, ~ldvarg2~0.offset := 0, 0;~ldv_mutex_cred_guard_mutex_of_signal_struct~0 := 0;~ldv_mutex_lock~0 := 0;~ldv_mutex_mutex_of_device~0 := 0;~ldv_mutex_pg_mutex~0 := 0; {41066#true} is VALID [2022-02-20 21:45:13,522 INFO L290 TraceCheckUtils]: 1: Hoare triple {41066#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet231#1, main_#t~switch232#1, main_#t~nondet233#1, main_#t~switch234#1, main_#t~ret235#1, main_#t~ret236#1, main_#t~ret237#1, main_#t~ret238#1, main_#t~ret239#1, main_#t~ret240#1, main_#t~nondet241#1, main_#t~switch242#1, main_#t~ret243#1, main_~tmp~17#1, main_~tmp___0~12#1, main_~tmp___1~11#1;havoc main_~tmp~17#1;havoc main_~tmp___0~12#1;havoc main_~tmp___1~11#1;assume { :begin_inline_ldv_initialize } true;~ldv_mutex_cred_guard_mutex_of_signal_struct~0 := 1;~ldv_mutex_lock~0 := 1;~ldv_mutex_mutex_of_device~0 := 1;~ldv_mutex_pg_mutex~0 := 1; {41066#true} is VALID [2022-02-20 21:45:13,522 INFO L290 TraceCheckUtils]: 2: Hoare triple {41066#true} assume { :end_inline_ldv_initialize } true;~ldv_state_variable_1~0 := 0;~ref_cnt~0 := 0;~ldv_state_variable_0~0 := 1; {41066#true} is VALID [2022-02-20 21:45:13,522 INFO L290 TraceCheckUtils]: 3: Hoare triple {41066#true} assume -2147483648 <= main_#t~nondet231#1 && main_#t~nondet231#1 <= 2147483647;main_~tmp~17#1 := main_#t~nondet231#1;havoc main_#t~nondet231#1;main_#t~switch232#1 := 0 == main_~tmp~17#1; {41066#true} is VALID [2022-02-20 21:45:13,523 INFO L290 TraceCheckUtils]: 4: Hoare triple {41066#true} assume !main_#t~switch232#1;main_#t~switch232#1 := main_#t~switch232#1 || 1 == main_~tmp~17#1; {41066#true} is VALID [2022-02-20 21:45:13,523 INFO L290 TraceCheckUtils]: 5: Hoare triple {41066#true} assume main_#t~switch232#1; {41066#true} is VALID [2022-02-20 21:45:13,523 INFO L290 TraceCheckUtils]: 6: Hoare triple {41066#true} assume 0 != ~ldv_state_variable_0~0;assume -2147483648 <= main_#t~nondet241#1 && main_#t~nondet241#1 <= 2147483647;main_~tmp___1~11#1 := main_#t~nondet241#1;havoc main_#t~nondet241#1;main_#t~switch242#1 := 0 == main_~tmp___1~11#1; {41066#true} is VALID [2022-02-20 21:45:13,523 INFO L290 TraceCheckUtils]: 7: Hoare triple {41066#true} assume !main_#t~switch242#1;main_#t~switch242#1 := main_#t~switch242#1 || 1 == main_~tmp___1~11#1; {41066#true} is VALID [2022-02-20 21:45:13,523 INFO L290 TraceCheckUtils]: 8: Hoare triple {41066#true} assume main_#t~switch242#1; {41066#true} is VALID [2022-02-20 21:45:13,523 INFO L290 TraceCheckUtils]: 9: Hoare triple {41066#true} assume 1 == ~ldv_state_variable_0~0;assume { :begin_inline_pg_init } true;havoc pg_init_#res#1;havoc pg_init_#t~ret218#1, pg_init_#t~ret219#1, pg_init_#t~nondet220#1, pg_init_#t~mem221#1, pg_init_#t~mem222#1.base, pg_init_#t~mem222#1.offset, pg_init_#t~ret223#1.base, pg_init_#t~ret223#1.offset, pg_init_#t~ret224#1, pg_init_#t~ret225#1, pg_init_#t~mem226#1, pg_init_#t~nondet227#1.base, pg_init_#t~nondet227#1.offset, pg_init_~unit~3#1, pg_init_~err~1#1, pg_init_~tmp~16#1, pg_init_~dev~6#1.base, pg_init_~dev~6#1.offset, pg_init_~#__key~0#1.base, pg_init_~#__key~0#1.offset, pg_init_~tmp___0~11#1.base, pg_init_~tmp___0~11#1.offset, pg_init_~tmp___1~10#1, pg_init_~tmp___2~7#1, pg_init_~dev___0~0#1.base, pg_init_~dev___0~0#1.offset;havoc pg_init_~unit~3#1;havoc pg_init_~err~1#1;havoc pg_init_~tmp~16#1;havoc pg_init_~dev~6#1.base, pg_init_~dev~6#1.offset;call pg_init_~#__key~0#1.base, pg_init_~#__key~0#1.offset := #Ultimate.allocOnStack(8);havoc pg_init_~tmp___0~11#1.base, pg_init_~tmp___0~11#1.offset;havoc pg_init_~tmp___1~10#1;havoc pg_init_~tmp___2~7#1;havoc pg_init_~dev___0~0#1.base, pg_init_~dev___0~0#1.offset; {41066#true} is VALID [2022-02-20 21:45:13,524 INFO L290 TraceCheckUtils]: 10: Hoare triple {41066#true} assume !(0 != ~disable~0);assume { :begin_inline_pg_init_units } true;havoc pg_init_units_#t~mem92#1.base, pg_init_units_#t~mem92#1.offset, pg_init_units_#t~mem93#1, pg_init_units_#t~nondet94#1, pg_init_units_#t~mem95#1, pg_init_units_~unit~0#1, pg_init_units_~parm~0#1.base, pg_init_units_~parm~0#1.offset, pg_init_units_~dev~0#1.base, pg_init_units_~dev~0#1.offset;havoc pg_init_units_~unit~0#1;havoc pg_init_units_~parm~0#1.base, pg_init_units_~parm~0#1.offset;havoc pg_init_units_~dev~0#1.base, pg_init_units_~dev~0#1.offset;~pg_drive_count~0 := 0;pg_init_units_~unit~0#1 := 0; {41068#(= |ULTIMATE.start_pg_init_units_~unit~0#1| 0)} is VALID [2022-02-20 21:45:13,524 INFO L290 TraceCheckUtils]: 11: Hoare triple {41068#(= |ULTIMATE.start_pg_init_units_~unit~0#1| 0)} assume pg_init_units_~unit~0#1 <= 3; {41068#(= |ULTIMATE.start_pg_init_units_~unit~0#1| 0)} is VALID [2022-02-20 21:45:13,525 INFO L290 TraceCheckUtils]: 12: Hoare triple {41068#(= |ULTIMATE.start_pg_init_units_~unit~0#1| 0)} call pg_init_units_#t~mem92#1.base, pg_init_units_#t~mem92#1.offset := read~$Pointer$(~#drives~0.base, ~#drives~0.offset + 8 * pg_init_units_~unit~0#1, 8);pg_init_units_~parm~0#1.base, pg_init_units_~parm~0#1.offset := pg_init_units_#t~mem92#1.base, pg_init_units_#t~mem92#1.offset;havoc pg_init_units_#t~mem92#1.base, pg_init_units_#t~mem92#1.offset;pg_init_units_~dev~0#1.base, pg_init_units_~dev~0#1.offset := ~#devices~0.base, ~#devices~0.offset + 232 * (if pg_init_units_~unit~0#1 % 18446744073709551616 % 18446744073709551616 <= 9223372036854775807 then pg_init_units_~unit~0#1 % 18446744073709551616 % 18446744073709551616 else pg_init_units_~unit~0#1 % 18446744073709551616 % 18446744073709551616 - 18446744073709551616);call write~$Pointer$(pg_init_units_~dev~0#1.base, pg_init_units_~dev~0#1.offset, pg_init_units_~dev~0#1.base, 168 + pg_init_units_~dev~0#1.offset, 8); {41068#(= |ULTIMATE.start_pg_init_units_~unit~0#1| 0)} is VALID [2022-02-20 21:45:13,525 INFO L272 TraceCheckUtils]: 13: Hoare triple {41068#(= |ULTIMATE.start_pg_init_units_~unit~0#1| 0)} call clear_bit(0, pg_init_units_~dev~0#1.base, 204 + pg_init_units_~dev~0#1.offset); {41066#true} is VALID [2022-02-20 21:45:13,525 INFO L290 TraceCheckUtils]: 14: Hoare triple {41066#true} ~nr := #in~nr;~addr.base, ~addr.offset := #in~addr.base, #in~addr.offset; {41066#true} is VALID [2022-02-20 21:45:13,525 INFO L290 TraceCheckUtils]: 15: Hoare triple {41066#true} assume true; {41066#true} is VALID [2022-02-20 21:45:13,526 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {41066#true} {41068#(= |ULTIMATE.start_pg_init_units_~unit~0#1| 0)} #1242#return; {41068#(= |ULTIMATE.start_pg_init_units_~unit~0#1| 0)} is VALID [2022-02-20 21:45:13,526 INFO L290 TraceCheckUtils]: 17: Hoare triple {41068#(= |ULTIMATE.start_pg_init_units_~unit~0#1| 0)} call write~int(0, pg_init_units_~dev~0#1.base, 176 + pg_init_units_~dev~0#1.offset, 4);call write~int(0, pg_init_units_~dev~0#1.base, 212 + pg_init_units_~dev~0#1.offset, 4);call write~$Pointer$(0, 0, pg_init_units_~dev~0#1.base, 216 + pg_init_units_~dev~0#1.offset, 8);call pg_init_units_#t~mem93#1 := read~int(pg_init_units_~parm~0#1.base, 16 + pg_init_units_~parm~0#1.offset, 4);call write~int(pg_init_units_#t~mem93#1, pg_init_units_~dev~0#1.base, 200 + pg_init_units_~dev~0#1.offset, 4);havoc pg_init_units_#t~mem93#1;havoc pg_init_units_#t~nondet94#1;call pg_init_units_#t~mem95#1 := read~int(pg_init_units_~parm~0#1.base, pg_init_units_~parm~0#1.offset, 4); {41068#(= |ULTIMATE.start_pg_init_units_~unit~0#1| 0)} is VALID [2022-02-20 21:45:13,526 INFO L290 TraceCheckUtils]: 18: Hoare triple {41068#(= |ULTIMATE.start_pg_init_units_~unit~0#1| 0)} assume 0 != pg_init_units_#t~mem95#1;havoc pg_init_units_#t~mem95#1;~pg_drive_count~0 := 1 + ~pg_drive_count~0; {41068#(= |ULTIMATE.start_pg_init_units_~unit~0#1| 0)} is VALID [2022-02-20 21:45:13,527 INFO L290 TraceCheckUtils]: 19: Hoare triple {41068#(= |ULTIMATE.start_pg_init_units_~unit~0#1| 0)} pg_init_units_~unit~0#1 := 1 + pg_init_units_~unit~0#1; {41072#(<= |ULTIMATE.start_pg_init_units_~unit~0#1| 1)} is VALID [2022-02-20 21:45:13,527 INFO L290 TraceCheckUtils]: 20: Hoare triple {41072#(<= |ULTIMATE.start_pg_init_units_~unit~0#1| 1)} assume !(pg_init_units_~unit~0#1 <= 3); {41067#false} is VALID [2022-02-20 21:45:13,528 INFO L290 TraceCheckUtils]: 21: Hoare triple {41067#false} assume { :end_inline_pg_init_units } true;assume { :begin_inline_pg_detect } true;havoc pg_detect_#res#1;havoc pg_detect_#t~nondet158#1, pg_detect_#t~mem159#1.base, pg_detect_#t~mem159#1.offset, pg_detect_#t~ret160#1, pg_detect_#t~ret161#1, pg_detect_#t~mem162#1.base, pg_detect_#t~mem162#1.offset, pg_detect_#t~mem163#1.base, pg_detect_#t~mem163#1.offset, pg_detect_#t~mem164#1, pg_detect_#t~mem165#1.base, pg_detect_#t~mem165#1.offset, pg_detect_#t~mem166#1, pg_detect_#t~mem167#1, pg_detect_#t~mem168#1, pg_detect_#t~mem169#1, pg_detect_#t~mem170#1, pg_detect_#t~ret171#1, pg_detect_#t~ret172#1, pg_detect_#t~mem173#1.base, pg_detect_#t~mem173#1.offset, pg_detect_#t~nondet174#1, pg_detect_~dev~1#1.base, pg_detect_~dev~1#1.offset, pg_detect_~k~3#1, pg_detect_~unit~1#1, pg_detect_~tmp~12#1, pg_detect_~parm~1#1.base, pg_detect_~parm~1#1.offset, pg_detect_~tmp___0~7#1, pg_detect_~tmp___1~6#1, pg_detect_~tmp___2~5#1;havoc pg_detect_~dev~1#1.base, pg_detect_~dev~1#1.offset;havoc pg_detect_~k~3#1;havoc pg_detect_~unit~1#1;havoc pg_detect_~tmp~12#1;havoc pg_detect_~parm~1#1.base, pg_detect_~parm~1#1.offset;havoc pg_detect_~tmp___0~7#1;havoc pg_detect_~tmp___1~6#1;havoc pg_detect_~tmp___2~5#1;pg_detect_~dev~1#1.base, pg_detect_~dev~1#1.offset := ~#devices~0.base, ~#devices~0.offset;havoc pg_detect_#t~nondet158#1;pg_detect_~k~3#1 := 0; {41067#false} is VALID [2022-02-20 21:45:13,528 INFO L290 TraceCheckUtils]: 22: Hoare triple {41067#false} assume !(0 == ~pg_drive_count~0); {41067#false} is VALID [2022-02-20 21:45:13,528 INFO L290 TraceCheckUtils]: 23: Hoare triple {41067#false} assume !(0 != pg_detect_~k~3#1);havoc pg_detect_#t~nondet174#1;pg_detect_#res#1 := -1; {41067#false} is VALID [2022-02-20 21:45:13,528 INFO L290 TraceCheckUtils]: 24: Hoare triple {41067#false} pg_init_#t~ret218#1 := pg_detect_#res#1;assume { :end_inline_pg_detect } true;assume -2147483648 <= pg_init_#t~ret218#1 && pg_init_#t~ret218#1 <= 2147483647;pg_init_~tmp~16#1 := pg_init_#t~ret218#1;havoc pg_init_#t~ret218#1; {41067#false} is VALID [2022-02-20 21:45:13,529 INFO L290 TraceCheckUtils]: 25: Hoare triple {41067#false} assume 0 != pg_init_~tmp~16#1;pg_init_~err~1#1 := -19; {41067#false} is VALID [2022-02-20 21:45:13,529 INFO L290 TraceCheckUtils]: 26: Hoare triple {41067#false} pg_init_#res#1 := pg_init_~err~1#1;call ULTIMATE.dealloc(pg_init_~#__key~0#1.base, pg_init_~#__key~0#1.offset);havoc pg_init_~#__key~0#1.base, pg_init_~#__key~0#1.offset; {41067#false} is VALID [2022-02-20 21:45:13,529 INFO L290 TraceCheckUtils]: 27: Hoare triple {41067#false} main_#t~ret243#1 := pg_init_#res#1;assume { :end_inline_pg_init } true;assume -2147483648 <= main_#t~ret243#1 && main_#t~ret243#1 <= 2147483647;~ldv_retval_1~0 := main_#t~ret243#1;havoc main_#t~ret243#1; {41067#false} is VALID [2022-02-20 21:45:13,529 INFO L290 TraceCheckUtils]: 28: Hoare triple {41067#false} assume !(0 == ~ldv_retval_1~0); {41067#false} is VALID [2022-02-20 21:45:13,530 INFO L290 TraceCheckUtils]: 29: Hoare triple {41067#false} assume 0 != ~ldv_retval_1~0;~ldv_state_variable_0~0 := 2; {41067#false} is VALID [2022-02-20 21:45:13,530 INFO L290 TraceCheckUtils]: 30: Hoare triple {41067#false} assume { :begin_inline_ldv_check_final_state } true; {41067#false} is VALID [2022-02-20 21:45:13,530 INFO L290 TraceCheckUtils]: 31: Hoare triple {41067#false} assume 1 == ~ldv_mutex_cred_guard_mutex_of_signal_struct~0; {41067#false} is VALID [2022-02-20 21:45:13,530 INFO L290 TraceCheckUtils]: 32: Hoare triple {41067#false} assume !(1 == ~ldv_mutex_lock~0); {41067#false} is VALID [2022-02-20 21:45:13,530 INFO L272 TraceCheckUtils]: 33: Hoare triple {41067#false} call ldv_error(); {41067#false} is VALID [2022-02-20 21:45:13,530 INFO L290 TraceCheckUtils]: 34: Hoare triple {41067#false} assume !false; {41067#false} is VALID [2022-02-20 21:45:13,531 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 21:45:13,531 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 21:45:13,531 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [498316649] [2022-02-20 21:45:13,531 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [498316649] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 21:45:13,532 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1542451675] [2022-02-20 21:45:13,532 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 21:45:13,532 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 21:45:13,532 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 21:45:13,536 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-02-20 21:45:13,539 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-02-20 21:45:13,767 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:45:13,770 INFO L263 TraceCheckSpWp]: Trace formula consists of 855 conjuncts, 3 conjunts are in the unsatisfiable core [2022-02-20 21:45:13,797 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:45:13,798 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 21:45:13,944 INFO L290 TraceCheckUtils]: 0: Hoare triple {41066#true} assume { :begin_inline_ULTIMATE.init } 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(72, 2);call #Ultimate.allocInit(3, 3);call write~init~int(112, 3, 0, 1);call write~init~int(103, 3, 1, 1);call write~init~int(0, 3, 2, 1);call #Ultimate.allocInit(124, 4);call #Ultimate.allocInit(27, 5);call #Ultimate.allocInit(19, 6);call #Ultimate.allocInit(9, 7);call #Ultimate.allocInit(5, 8);call write~init~int(37, 8, 0, 1);call write~init~int(115, 8, 1, 1);call write~init~int(37, 8, 2, 1);call write~init~int(99, 8, 3, 1);call write~init~int(0, 8, 4, 1);call #Ultimate.allocInit(9, 9);call #Ultimate.allocInit(1, 10);call write~init~int(0, 10, 0, 1);call #Ultimate.allocInit(39, 11);call #Ultimate.allocInit(15, 12);call #Ultimate.allocInit(12, 13);call #Ultimate.allocInit(25, 14);call #Ultimate.allocInit(35, 15);call #Ultimate.allocInit(6, 16);call write~init~int(37, 16, 0, 1);call write~init~int(48, 16, 1, 1);call write~init~int(50, 16, 2, 1);call write~init~int(120, 16, 3, 1);call write~init~int(32, 16, 4, 1);call write~init~int(0, 16, 5, 1);call #Ultimate.allocInit(2, 17);call write~init~int(10, 17, 0, 1);call write~init~int(0, 17, 1, 1);call #Ultimate.allocInit(11, 18);call #Ultimate.allocInit(5, 19);call write~init~int(82, 19, 0, 1);call write~init~int(101, 19, 1, 1);call write~init~int(97, 19, 2, 1);call write~init~int(100, 19, 3, 1);call write~init~int(0, 19, 4, 1);call #Ultimate.allocInit(6, 20);call write~init~int(87, 20, 0, 1);call write~init~int(114, 20, 1, 1);call write~init~int(105, 20, 2, 1);call write~init~int(116, 20, 3, 1);call write~init~int(101, 20, 4, 1);call write~init~int(0, 20, 5, 1);call #Ultimate.allocInit(17, 21);call #Ultimate.allocInit(11, 22);call #Ultimate.allocInit(28, 23);call #Ultimate.allocInit(4, 24);call write~init~int(37, 24, 0, 1);call write~init~int(51, 24, 1, 1);call write~init~int(120, 24, 2, 1);call write~init~int(0, 24, 3, 1);call #Ultimate.allocInit(13, 25);call #Ultimate.allocInit(2, 26);call write~init~int(10, 26, 0, 1);call write~init~int(0, 26, 1, 1);call #Ultimate.allocInit(7, 27);call write~init~int(109, 27, 0, 1);call write~init~int(97, 27, 1, 1);call write~init~int(115, 27, 2, 1);call write~init~int(116, 27, 3, 1);call write~init~int(101, 27, 4, 1);call write~init~int(114, 27, 5, 1);call write~init~int(0, 27, 6, 1);call #Ultimate.allocInit(6, 28);call write~init~int(115, 28, 0, 1);call write~init~int(108, 28, 1, 1);call write~init~int(97, 28, 2, 1);call write~init~int(118, 28, 3, 1);call write~init~int(101, 28, 4, 1);call write~init~int(0, 28, 5, 1);call #Ultimate.allocInit(15, 29);call #Ultimate.allocInit(29, 30);call #Ultimate.allocInit(5, 31);call write~init~int(49, 31, 0, 1);call write~init~int(46, 31, 1, 1);call write~init~int(48, 31, 2, 1);call write~init~int(50, 31, 3, 1);call write~init~int(0, 31, 4, 1);call #Ultimate.allocInit(30, 32);call #Ultimate.allocInit(30, 33);call #Ultimate.allocInit(40, 34);call #Ultimate.allocInit(3, 35);call write~init~int(112, 35, 0, 1);call write~init~int(103, 35, 1, 1);call write~init~int(0, 35, 2, 1);call #Ultimate.allocInit(5, 36);call write~init~int(112, 36, 0, 1);call write~init~int(103, 36, 1, 1);call write~init~int(37, 36, 2, 1);call write~init~int(117, 36, 3, 1);call write~init~int(0, 36, 4, 1);call #Ultimate.allocInit(3, 37);call write~init~int(112, 37, 0, 1);call write~init~int(103, 37, 1, 1);call write~init~int(0, 37, 2, 1);~ldv_state_variable_1~0 := 0;~ref_cnt~0 := 0;~ldv_state_variable_0~0 := 0;~verbose~0 := 0;~major~0 := 97;~name~0.base, ~name~0.offset := 3, 0;~disable~0 := 0;~#drive0~0.base, ~#drive0~0.offset := 38, 0;call #Ultimate.allocInit(24, 38);call write~init~int(0, ~#drive0~0.base, ~#drive0~0.offset, 4);call write~init~int(0, ~#drive0~0.base, 4 + ~#drive0~0.offset, 4);call write~init~int(0, ~#drive0~0.base, 8 + ~#drive0~0.offset, 4);call write~init~int(-1, ~#drive0~0.base, 12 + ~#drive0~0.offset, 4);call write~init~int(-1, ~#drive0~0.base, 16 + ~#drive0~0.offset, 4);call write~init~int(-1, ~#drive0~0.base, 20 + ~#drive0~0.offset, 4);~#drive1~0.base, ~#drive1~0.offset := 39, 0;call #Ultimate.allocInit(24, 39);call write~init~int(0, ~#drive1~0.base, ~#drive1~0.offset, 4);call write~init~int(0, ~#drive1~0.base, 4 + ~#drive1~0.offset, 4);call write~init~int(0, ~#drive1~0.base, 8 + ~#drive1~0.offset, 4);call write~init~int(-1, ~#drive1~0.base, 12 + ~#drive1~0.offset, 4);call write~init~int(-1, ~#drive1~0.base, 16 + ~#drive1~0.offset, 4);call write~init~int(-1, ~#drive1~0.base, 20 + ~#drive1~0.offset, 4);~#drive2~0.base, ~#drive2~0.offset := 40, 0;call #Ultimate.allocInit(24, 40);call write~init~int(0, ~#drive2~0.base, ~#drive2~0.offset, 4);call write~init~int(0, ~#drive2~0.base, 4 + ~#drive2~0.offset, 4);call write~init~int(0, ~#drive2~0.base, 8 + ~#drive2~0.offset, 4);call write~init~int(-1, ~#drive2~0.base, 12 + ~#drive2~0.offset, 4);call write~init~int(-1, ~#drive2~0.base, 16 + ~#drive2~0.offset, 4);call write~init~int(-1, ~#drive2~0.base, 20 + ~#drive2~0.offset, 4);~#drive3~0.base, ~#drive3~0.offset := 41, 0;call #Ultimate.allocInit(24, 41);call write~init~int(0, ~#drive3~0.base, ~#drive3~0.offset, 4);call write~init~int(0, ~#drive3~0.base, 4 + ~#drive3~0.offset, 4);call write~init~int(0, ~#drive3~0.base, 8 + ~#drive3~0.offset, 4);call write~init~int(-1, ~#drive3~0.base, 12 + ~#drive3~0.offset, 4);call write~init~int(-1, ~#drive3~0.base, 16 + ~#drive3~0.offset, 4);call write~init~int(-1, ~#drive3~0.base, 20 + ~#drive3~0.offset, 4);~#drives~0.base, ~#drives~0.offset := 42, 0;call #Ultimate.allocInit(32, 42);call write~init~$Pointer$(~#drive0~0.base, ~#drive0~0.offset, ~#drives~0.base, ~#drives~0.offset, 8);call write~init~$Pointer$(~#drive1~0.base, ~#drive1~0.offset, ~#drives~0.base, 8 + ~#drives~0.offset, 8);call write~init~$Pointer$(~#drive2~0.base, ~#drive2~0.offset, ~#drives~0.base, 16 + ~#drives~0.offset, 8);call write~init~$Pointer$(~#drive3~0.base, ~#drive3~0.offset, ~#drives~0.base, 24 + ~#drives~0.offset, 8);~pg_drive_count~0 := 0;~#pg_mutex~0.base, ~#pg_mutex~0.offset := 43, 0;call #Ultimate.allocInit(156, 43);call write~init~int(1, ~#pg_mutex~0.base, ~#pg_mutex~0.offset, 4);call write~init~int(0, ~#pg_mutex~0.base, 4 + ~#pg_mutex~0.offset, 4);call write~init~int(3735899821, ~#pg_mutex~0.base, 8 + ~#pg_mutex~0.offset, 4);call write~init~int(4294967295, ~#pg_mutex~0.base, 12 + ~#pg_mutex~0.offset, 4);call write~init~$Pointer$(0, -1, ~#pg_mutex~0.base, 16 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_mutex~0.base, 24 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_mutex~0.base, 32 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_mutex~0.base, 40 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(6, 0, ~#pg_mutex~0.base, 48 + ~#pg_mutex~0.offset, 8);call write~init~int(0, ~#pg_mutex~0.base, 56 + ~#pg_mutex~0.offset, 4);call write~init~int(0, ~#pg_mutex~0.base, 60 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(~#pg_mutex~0.base, 72 + ~#pg_mutex~0.offset, ~#pg_mutex~0.base, 72 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(~#pg_mutex~0.base, 72 + ~#pg_mutex~0.offset, ~#pg_mutex~0.base, 80 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_mutex~0.base, 88 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_mutex~0.base, 96 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(~#pg_mutex~0.base, ~#pg_mutex~0.offset, ~#pg_mutex~0.base, 104 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_mutex~0.base, 112 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_mutex~0.base, 120 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_mutex~0.base, 128 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(7, 0, ~#pg_mutex~0.base, 136 + ~#pg_mutex~0.offset, 8);call write~init~int(0, ~#pg_mutex~0.base, 144 + ~#pg_mutex~0.offset, 4);call write~init~int(0, ~#pg_mutex~0.base, 148 + ~#pg_mutex~0.offset, 8);~#devices~0.base, ~#devices~0.offset := 44, 0;call #Ultimate.allocInit(928, 44);#memory_$Pointer$.base, #memory_$Pointer$.offset := ~initToZeroAtPointerBaseAddress~$Pointer$.base(#memory_$Pointer$.base, #memory_$Pointer$.offset, ~#devices~0.base), ~initToZeroAtPointerBaseAddress~$Pointer$.offset(#memory_$Pointer$.base, #memory_$Pointer$.offset, ~#devices~0.base);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#devices~0.base);~#pg_scratch~0.base, ~#pg_scratch~0.offset := 45, 0;call #Ultimate.allocInit(512, 45);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#pg_scratch~0.base);~pg_class~0.base, ~pg_class~0.offset := 0, 0;~#pg_fops~0.base, ~#pg_fops~0.offset := 46, 0;call #Ultimate.allocInit(216, 46);call write~init~$Pointer$(~#__this_module~0.base, ~#__this_module~0.offset, ~#pg_fops~0.base, ~#pg_fops~0.offset, 8);call write~init~$Pointer$(#funAddr~noop_llseek.base, #funAddr~noop_llseek.offset, ~#pg_fops~0.base, 8 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(#funAddr~pg_read.base, #funAddr~pg_read.offset, ~#pg_fops~0.base, 16 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(#funAddr~pg_write.base, #funAddr~pg_write.offset, ~#pg_fops~0.base, 24 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 32 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 40 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 48 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 56 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 64 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 72 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 80 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(#funAddr~pg_open.base, #funAddr~pg_open.offset, ~#pg_fops~0.base, 88 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 96 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(#funAddr~pg_release.base, #funAddr~pg_release.offset, ~#pg_fops~0.base, 104 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 112 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 120 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 128 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 136 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 144 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 152 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 160 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 168 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 176 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 184 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 192 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 200 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 208 + ~#pg_fops~0.offset, 8);~pg_fops_group2~0.base, ~pg_fops_group2~0.offset := 0, 0;~ldvarg7~0 := 0;~ldvarg3~0 := 0;~ldvarg0~0 := 0;~ldvarg5~0.base, ~ldvarg5~0.offset := 0, 0;~ldvarg6~0.base, ~ldvarg6~0.offset := 0, 0;~ldvarg8~0.base, ~ldvarg8~0.offset := 0, 0;~ldvarg1~0 := 0;~ldv_retval_0~0 := 0;~ldvarg4~0.base, ~ldvarg4~0.offset := 0, 0;~ldv_retval_1~0 := 0;~pg_fops_group1~0.base, ~pg_fops_group1~0.offset := 0, 0;~ldvarg2~0.base, ~ldvarg2~0.offset := 0, 0;~ldv_mutex_cred_guard_mutex_of_signal_struct~0 := 0;~ldv_mutex_lock~0 := 0;~ldv_mutex_mutex_of_device~0 := 0;~ldv_mutex_pg_mutex~0 := 0; {41066#true} is VALID [2022-02-20 21:45:13,945 INFO L290 TraceCheckUtils]: 1: Hoare triple {41066#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet231#1, main_#t~switch232#1, main_#t~nondet233#1, main_#t~switch234#1, main_#t~ret235#1, main_#t~ret236#1, main_#t~ret237#1, main_#t~ret238#1, main_#t~ret239#1, main_#t~ret240#1, main_#t~nondet241#1, main_#t~switch242#1, main_#t~ret243#1, main_~tmp~17#1, main_~tmp___0~12#1, main_~tmp___1~11#1;havoc main_~tmp~17#1;havoc main_~tmp___0~12#1;havoc main_~tmp___1~11#1;assume { :begin_inline_ldv_initialize } true;~ldv_mutex_cred_guard_mutex_of_signal_struct~0 := 1;~ldv_mutex_lock~0 := 1;~ldv_mutex_mutex_of_device~0 := 1;~ldv_mutex_pg_mutex~0 := 1; {41079#(= ~ldv_mutex_lock~0 1)} is VALID [2022-02-20 21:45:13,945 INFO L290 TraceCheckUtils]: 2: Hoare triple {41079#(= ~ldv_mutex_lock~0 1)} assume { :end_inline_ldv_initialize } true;~ldv_state_variable_1~0 := 0;~ref_cnt~0 := 0;~ldv_state_variable_0~0 := 1; {41079#(= ~ldv_mutex_lock~0 1)} is VALID [2022-02-20 21:45:13,945 INFO L290 TraceCheckUtils]: 3: Hoare triple {41079#(= ~ldv_mutex_lock~0 1)} assume -2147483648 <= main_#t~nondet231#1 && main_#t~nondet231#1 <= 2147483647;main_~tmp~17#1 := main_#t~nondet231#1;havoc main_#t~nondet231#1;main_#t~switch232#1 := 0 == main_~tmp~17#1; {41079#(= ~ldv_mutex_lock~0 1)} is VALID [2022-02-20 21:45:13,946 INFO L290 TraceCheckUtils]: 4: Hoare triple {41079#(= ~ldv_mutex_lock~0 1)} assume !main_#t~switch232#1;main_#t~switch232#1 := main_#t~switch232#1 || 1 == main_~tmp~17#1; {41079#(= ~ldv_mutex_lock~0 1)} is VALID [2022-02-20 21:45:13,946 INFO L290 TraceCheckUtils]: 5: Hoare triple {41079#(= ~ldv_mutex_lock~0 1)} assume main_#t~switch232#1; {41079#(= ~ldv_mutex_lock~0 1)} is VALID [2022-02-20 21:45:13,947 INFO L290 TraceCheckUtils]: 6: Hoare triple {41079#(= ~ldv_mutex_lock~0 1)} assume 0 != ~ldv_state_variable_0~0;assume -2147483648 <= main_#t~nondet241#1 && main_#t~nondet241#1 <= 2147483647;main_~tmp___1~11#1 := main_#t~nondet241#1;havoc main_#t~nondet241#1;main_#t~switch242#1 := 0 == main_~tmp___1~11#1; {41079#(= ~ldv_mutex_lock~0 1)} is VALID [2022-02-20 21:45:13,947 INFO L290 TraceCheckUtils]: 7: Hoare triple {41079#(= ~ldv_mutex_lock~0 1)} assume !main_#t~switch242#1;main_#t~switch242#1 := main_#t~switch242#1 || 1 == main_~tmp___1~11#1; {41079#(= ~ldv_mutex_lock~0 1)} is VALID [2022-02-20 21:45:13,947 INFO L290 TraceCheckUtils]: 8: Hoare triple {41079#(= ~ldv_mutex_lock~0 1)} assume main_#t~switch242#1; {41079#(= ~ldv_mutex_lock~0 1)} is VALID [2022-02-20 21:45:13,948 INFO L290 TraceCheckUtils]: 9: Hoare triple {41079#(= ~ldv_mutex_lock~0 1)} assume 1 == ~ldv_state_variable_0~0;assume { :begin_inline_pg_init } true;havoc pg_init_#res#1;havoc pg_init_#t~ret218#1, pg_init_#t~ret219#1, pg_init_#t~nondet220#1, pg_init_#t~mem221#1, pg_init_#t~mem222#1.base, pg_init_#t~mem222#1.offset, pg_init_#t~ret223#1.base, pg_init_#t~ret223#1.offset, pg_init_#t~ret224#1, pg_init_#t~ret225#1, pg_init_#t~mem226#1, pg_init_#t~nondet227#1.base, pg_init_#t~nondet227#1.offset, pg_init_~unit~3#1, pg_init_~err~1#1, pg_init_~tmp~16#1, pg_init_~dev~6#1.base, pg_init_~dev~6#1.offset, pg_init_~#__key~0#1.base, pg_init_~#__key~0#1.offset, pg_init_~tmp___0~11#1.base, pg_init_~tmp___0~11#1.offset, pg_init_~tmp___1~10#1, pg_init_~tmp___2~7#1, pg_init_~dev___0~0#1.base, pg_init_~dev___0~0#1.offset;havoc pg_init_~unit~3#1;havoc pg_init_~err~1#1;havoc pg_init_~tmp~16#1;havoc pg_init_~dev~6#1.base, pg_init_~dev~6#1.offset;call pg_init_~#__key~0#1.base, pg_init_~#__key~0#1.offset := #Ultimate.allocOnStack(8);havoc pg_init_~tmp___0~11#1.base, pg_init_~tmp___0~11#1.offset;havoc pg_init_~tmp___1~10#1;havoc pg_init_~tmp___2~7#1;havoc pg_init_~dev___0~0#1.base, pg_init_~dev___0~0#1.offset; {41079#(= ~ldv_mutex_lock~0 1)} is VALID [2022-02-20 21:45:13,948 INFO L290 TraceCheckUtils]: 10: Hoare triple {41079#(= ~ldv_mutex_lock~0 1)} assume !(0 != ~disable~0);assume { :begin_inline_pg_init_units } true;havoc pg_init_units_#t~mem92#1.base, pg_init_units_#t~mem92#1.offset, pg_init_units_#t~mem93#1, pg_init_units_#t~nondet94#1, pg_init_units_#t~mem95#1, pg_init_units_~unit~0#1, pg_init_units_~parm~0#1.base, pg_init_units_~parm~0#1.offset, pg_init_units_~dev~0#1.base, pg_init_units_~dev~0#1.offset;havoc pg_init_units_~unit~0#1;havoc pg_init_units_~parm~0#1.base, pg_init_units_~parm~0#1.offset;havoc pg_init_units_~dev~0#1.base, pg_init_units_~dev~0#1.offset;~pg_drive_count~0 := 0;pg_init_units_~unit~0#1 := 0; {41079#(= ~ldv_mutex_lock~0 1)} is VALID [2022-02-20 21:45:13,948 INFO L290 TraceCheckUtils]: 11: Hoare triple {41079#(= ~ldv_mutex_lock~0 1)} assume pg_init_units_~unit~0#1 <= 3; {41079#(= ~ldv_mutex_lock~0 1)} is VALID [2022-02-20 21:45:13,949 INFO L290 TraceCheckUtils]: 12: Hoare triple {41079#(= ~ldv_mutex_lock~0 1)} call pg_init_units_#t~mem92#1.base, pg_init_units_#t~mem92#1.offset := read~$Pointer$(~#drives~0.base, ~#drives~0.offset + 8 * pg_init_units_~unit~0#1, 8);pg_init_units_~parm~0#1.base, pg_init_units_~parm~0#1.offset := pg_init_units_#t~mem92#1.base, pg_init_units_#t~mem92#1.offset;havoc pg_init_units_#t~mem92#1.base, pg_init_units_#t~mem92#1.offset;pg_init_units_~dev~0#1.base, pg_init_units_~dev~0#1.offset := ~#devices~0.base, ~#devices~0.offset + 232 * (if pg_init_units_~unit~0#1 % 18446744073709551616 % 18446744073709551616 <= 9223372036854775807 then pg_init_units_~unit~0#1 % 18446744073709551616 % 18446744073709551616 else pg_init_units_~unit~0#1 % 18446744073709551616 % 18446744073709551616 - 18446744073709551616);call write~$Pointer$(pg_init_units_~dev~0#1.base, pg_init_units_~dev~0#1.offset, pg_init_units_~dev~0#1.base, 168 + pg_init_units_~dev~0#1.offset, 8); {41079#(= ~ldv_mutex_lock~0 1)} is VALID [2022-02-20 21:45:13,949 INFO L272 TraceCheckUtils]: 13: Hoare triple {41079#(= ~ldv_mutex_lock~0 1)} call clear_bit(0, pg_init_units_~dev~0#1.base, 204 + pg_init_units_~dev~0#1.offset); {41079#(= ~ldv_mutex_lock~0 1)} is VALID [2022-02-20 21:45:13,950 INFO L290 TraceCheckUtils]: 14: Hoare triple {41079#(= ~ldv_mutex_lock~0 1)} ~nr := #in~nr;~addr.base, ~addr.offset := #in~addr.base, #in~addr.offset; {41079#(= ~ldv_mutex_lock~0 1)} is VALID [2022-02-20 21:45:13,950 INFO L290 TraceCheckUtils]: 15: Hoare triple {41079#(= ~ldv_mutex_lock~0 1)} assume true; {41079#(= ~ldv_mutex_lock~0 1)} is VALID [2022-02-20 21:45:13,950 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {41079#(= ~ldv_mutex_lock~0 1)} {41079#(= ~ldv_mutex_lock~0 1)} #1242#return; {41079#(= ~ldv_mutex_lock~0 1)} is VALID [2022-02-20 21:45:13,951 INFO L290 TraceCheckUtils]: 17: Hoare triple {41079#(= ~ldv_mutex_lock~0 1)} call write~int(0, pg_init_units_~dev~0#1.base, 176 + pg_init_units_~dev~0#1.offset, 4);call write~int(0, pg_init_units_~dev~0#1.base, 212 + pg_init_units_~dev~0#1.offset, 4);call write~$Pointer$(0, 0, pg_init_units_~dev~0#1.base, 216 + pg_init_units_~dev~0#1.offset, 8);call pg_init_units_#t~mem93#1 := read~int(pg_init_units_~parm~0#1.base, 16 + pg_init_units_~parm~0#1.offset, 4);call write~int(pg_init_units_#t~mem93#1, pg_init_units_~dev~0#1.base, 200 + pg_init_units_~dev~0#1.offset, 4);havoc pg_init_units_#t~mem93#1;havoc pg_init_units_#t~nondet94#1;call pg_init_units_#t~mem95#1 := read~int(pg_init_units_~parm~0#1.base, pg_init_units_~parm~0#1.offset, 4); {41079#(= ~ldv_mutex_lock~0 1)} is VALID [2022-02-20 21:45:13,951 INFO L290 TraceCheckUtils]: 18: Hoare triple {41079#(= ~ldv_mutex_lock~0 1)} assume 0 != pg_init_units_#t~mem95#1;havoc pg_init_units_#t~mem95#1;~pg_drive_count~0 := 1 + ~pg_drive_count~0; {41079#(= ~ldv_mutex_lock~0 1)} is VALID [2022-02-20 21:45:13,951 INFO L290 TraceCheckUtils]: 19: Hoare triple {41079#(= ~ldv_mutex_lock~0 1)} pg_init_units_~unit~0#1 := 1 + pg_init_units_~unit~0#1; {41079#(= ~ldv_mutex_lock~0 1)} is VALID [2022-02-20 21:45:13,952 INFO L290 TraceCheckUtils]: 20: Hoare triple {41079#(= ~ldv_mutex_lock~0 1)} assume !(pg_init_units_~unit~0#1 <= 3); {41079#(= ~ldv_mutex_lock~0 1)} is VALID [2022-02-20 21:45:13,952 INFO L290 TraceCheckUtils]: 21: Hoare triple {41079#(= ~ldv_mutex_lock~0 1)} assume { :end_inline_pg_init_units } true;assume { :begin_inline_pg_detect } true;havoc pg_detect_#res#1;havoc pg_detect_#t~nondet158#1, pg_detect_#t~mem159#1.base, pg_detect_#t~mem159#1.offset, pg_detect_#t~ret160#1, pg_detect_#t~ret161#1, pg_detect_#t~mem162#1.base, pg_detect_#t~mem162#1.offset, pg_detect_#t~mem163#1.base, pg_detect_#t~mem163#1.offset, pg_detect_#t~mem164#1, pg_detect_#t~mem165#1.base, pg_detect_#t~mem165#1.offset, pg_detect_#t~mem166#1, pg_detect_#t~mem167#1, pg_detect_#t~mem168#1, pg_detect_#t~mem169#1, pg_detect_#t~mem170#1, pg_detect_#t~ret171#1, pg_detect_#t~ret172#1, pg_detect_#t~mem173#1.base, pg_detect_#t~mem173#1.offset, pg_detect_#t~nondet174#1, pg_detect_~dev~1#1.base, pg_detect_~dev~1#1.offset, pg_detect_~k~3#1, pg_detect_~unit~1#1, pg_detect_~tmp~12#1, pg_detect_~parm~1#1.base, pg_detect_~parm~1#1.offset, pg_detect_~tmp___0~7#1, pg_detect_~tmp___1~6#1, pg_detect_~tmp___2~5#1;havoc pg_detect_~dev~1#1.base, pg_detect_~dev~1#1.offset;havoc pg_detect_~k~3#1;havoc pg_detect_~unit~1#1;havoc pg_detect_~tmp~12#1;havoc pg_detect_~parm~1#1.base, pg_detect_~parm~1#1.offset;havoc pg_detect_~tmp___0~7#1;havoc pg_detect_~tmp___1~6#1;havoc pg_detect_~tmp___2~5#1;pg_detect_~dev~1#1.base, pg_detect_~dev~1#1.offset := ~#devices~0.base, ~#devices~0.offset;havoc pg_detect_#t~nondet158#1;pg_detect_~k~3#1 := 0; {41079#(= ~ldv_mutex_lock~0 1)} is VALID [2022-02-20 21:45:13,952 INFO L290 TraceCheckUtils]: 22: Hoare triple {41079#(= ~ldv_mutex_lock~0 1)} assume !(0 == ~pg_drive_count~0); {41079#(= ~ldv_mutex_lock~0 1)} is VALID [2022-02-20 21:45:13,953 INFO L290 TraceCheckUtils]: 23: Hoare triple {41079#(= ~ldv_mutex_lock~0 1)} assume !(0 != pg_detect_~k~3#1);havoc pg_detect_#t~nondet174#1;pg_detect_#res#1 := -1; {41079#(= ~ldv_mutex_lock~0 1)} is VALID [2022-02-20 21:45:13,953 INFO L290 TraceCheckUtils]: 24: Hoare triple {41079#(= ~ldv_mutex_lock~0 1)} pg_init_#t~ret218#1 := pg_detect_#res#1;assume { :end_inline_pg_detect } true;assume -2147483648 <= pg_init_#t~ret218#1 && pg_init_#t~ret218#1 <= 2147483647;pg_init_~tmp~16#1 := pg_init_#t~ret218#1;havoc pg_init_#t~ret218#1; {41079#(= ~ldv_mutex_lock~0 1)} is VALID [2022-02-20 21:45:13,953 INFO L290 TraceCheckUtils]: 25: Hoare triple {41079#(= ~ldv_mutex_lock~0 1)} assume 0 != pg_init_~tmp~16#1;pg_init_~err~1#1 := -19; {41079#(= ~ldv_mutex_lock~0 1)} is VALID [2022-02-20 21:45:13,954 INFO L290 TraceCheckUtils]: 26: Hoare triple {41079#(= ~ldv_mutex_lock~0 1)} pg_init_#res#1 := pg_init_~err~1#1;call ULTIMATE.dealloc(pg_init_~#__key~0#1.base, pg_init_~#__key~0#1.offset);havoc pg_init_~#__key~0#1.base, pg_init_~#__key~0#1.offset; {41079#(= ~ldv_mutex_lock~0 1)} is VALID [2022-02-20 21:45:13,954 INFO L290 TraceCheckUtils]: 27: Hoare triple {41079#(= ~ldv_mutex_lock~0 1)} main_#t~ret243#1 := pg_init_#res#1;assume { :end_inline_pg_init } true;assume -2147483648 <= main_#t~ret243#1 && main_#t~ret243#1 <= 2147483647;~ldv_retval_1~0 := main_#t~ret243#1;havoc main_#t~ret243#1; {41079#(= ~ldv_mutex_lock~0 1)} is VALID [2022-02-20 21:45:13,954 INFO L290 TraceCheckUtils]: 28: Hoare triple {41079#(= ~ldv_mutex_lock~0 1)} assume !(0 == ~ldv_retval_1~0); {41079#(= ~ldv_mutex_lock~0 1)} is VALID [2022-02-20 21:45:13,955 INFO L290 TraceCheckUtils]: 29: Hoare triple {41079#(= ~ldv_mutex_lock~0 1)} assume 0 != ~ldv_retval_1~0;~ldv_state_variable_0~0 := 2; {41079#(= ~ldv_mutex_lock~0 1)} is VALID [2022-02-20 21:45:13,955 INFO L290 TraceCheckUtils]: 30: Hoare triple {41079#(= ~ldv_mutex_lock~0 1)} assume { :begin_inline_ldv_check_final_state } true; {41079#(= ~ldv_mutex_lock~0 1)} is VALID [2022-02-20 21:45:13,955 INFO L290 TraceCheckUtils]: 31: Hoare triple {41079#(= ~ldv_mutex_lock~0 1)} assume 1 == ~ldv_mutex_cred_guard_mutex_of_signal_struct~0; {41079#(= ~ldv_mutex_lock~0 1)} is VALID [2022-02-20 21:45:13,955 INFO L290 TraceCheckUtils]: 32: Hoare triple {41079#(= ~ldv_mutex_lock~0 1)} assume !(1 == ~ldv_mutex_lock~0); {41067#false} is VALID [2022-02-20 21:45:13,958 INFO L272 TraceCheckUtils]: 33: Hoare triple {41067#false} call ldv_error(); {41067#false} is VALID [2022-02-20 21:45:13,958 INFO L290 TraceCheckUtils]: 34: Hoare triple {41067#false} assume !false; {41067#false} is VALID [2022-02-20 21:45:13,958 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 21:45:13,959 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 21:45:13,959 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1542451675] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 21:45:13,959 INFO L191 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-02-20 21:45:13,959 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [4] total 5 [2022-02-20 21:45:13,959 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1920139802] [2022-02-20 21:45:13,959 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 21:45:13,960 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 10.666666666666666) internal successors, (32), 3 states have internal predecessors, (32), 2 states have call successors, (2), 2 states have call predecessors, (2), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 35 [2022-02-20 21:45:13,960 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 21:45:13,960 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 10.666666666666666) internal successors, (32), 3 states have internal predecessors, (32), 2 states have call successors, (2), 2 states have call predecessors, (2), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 21:45:13,995 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 35 edges. 35 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 21:45:13,995 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-02-20 21:45:13,996 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 21:45:13,997 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-02-20 21:45:13,997 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2022-02-20 21:45:13,997 INFO L87 Difference]: Start difference. First operand 1115 states and 1524 transitions. Second operand has 3 states, 3 states have (on average 10.666666666666666) internal successors, (32), 3 states have internal predecessors, (32), 2 states have call successors, (2), 2 states have call predecessors, (2), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 21:45:15,163 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 21:45:15,163 INFO L93 Difference]: Finished difference Result 1117 states and 1525 transitions. [2022-02-20 21:45:15,163 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-02-20 21:45:15,164 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 10.666666666666666) internal successors, (32), 3 states have internal predecessors, (32), 2 states have call successors, (2), 2 states have call predecessors, (2), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 35 [2022-02-20 21:45:15,164 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 21:45:15,164 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 10.666666666666666) internal successors, (32), 3 states have internal predecessors, (32), 2 states have call successors, (2), 2 states have call predecessors, (2), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 21:45:15,171 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 637 transitions. [2022-02-20 21:45:15,171 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 10.666666666666666) internal successors, (32), 3 states have internal predecessors, (32), 2 states have call successors, (2), 2 states have call predecessors, (2), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 21:45:15,178 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 637 transitions. [2022-02-20 21:45:15,178 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 637 transitions. [2022-02-20 21:45:15,691 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 637 edges. 637 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 21:45:15,750 INFO L225 Difference]: With dead ends: 1117 [2022-02-20 21:45:15,750 INFO L226 Difference]: Without dead ends: 1114 [2022-02-20 21:45:15,751 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 40 GetRequests, 37 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2022-02-20 21:45:15,751 INFO L933 BasicCegarLoop]: 633 mSDtfsCounter, 602 mSDsluCounter, 0 mSDsCounter, 0 mSdLazyCounter, 2 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 602 SdHoareTripleChecker+Valid, 633 SdHoareTripleChecker+Invalid, 2 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 2 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 21:45:15,751 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [602 Valid, 633 Invalid, 2 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 2 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 21:45:15,753 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1114 states. [2022-02-20 21:45:15,790 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1114 to 1114. [2022-02-20 21:45:15,790 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 21:45:15,813 INFO L82 GeneralOperation]: Start isEquivalent. First operand 1114 states. Second operand has 1114 states, 835 states have (on average 1.341317365269461) internal successors, (1120), 845 states have internal predecessors, (1120), 203 states have call successors, (203), 76 states have call predecessors, (203), 75 states have return successors, (199), 199 states have call predecessors, (199), 199 states have call successors, (199) [2022-02-20 21:45:15,815 INFO L74 IsIncluded]: Start isIncluded. First operand 1114 states. Second operand has 1114 states, 835 states have (on average 1.341317365269461) internal successors, (1120), 845 states have internal predecessors, (1120), 203 states have call successors, (203), 76 states have call predecessors, (203), 75 states have return successors, (199), 199 states have call predecessors, (199), 199 states have call successors, (199) [2022-02-20 21:45:15,816 INFO L87 Difference]: Start difference. First operand 1114 states. Second operand has 1114 states, 835 states have (on average 1.341317365269461) internal successors, (1120), 845 states have internal predecessors, (1120), 203 states have call successors, (203), 76 states have call predecessors, (203), 75 states have return successors, (199), 199 states have call predecessors, (199), 199 states have call successors, (199) [2022-02-20 21:45:15,878 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 21:45:15,878 INFO L93 Difference]: Finished difference Result 1114 states and 1522 transitions. [2022-02-20 21:45:15,878 INFO L276 IsEmpty]: Start isEmpty. Operand 1114 states and 1522 transitions. [2022-02-20 21:45:15,883 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 21:45:15,883 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 21:45:15,885 INFO L74 IsIncluded]: Start isIncluded. First operand has 1114 states, 835 states have (on average 1.341317365269461) internal successors, (1120), 845 states have internal predecessors, (1120), 203 states have call successors, (203), 76 states have call predecessors, (203), 75 states have return successors, (199), 199 states have call predecessors, (199), 199 states have call successors, (199) Second operand 1114 states. [2022-02-20 21:45:15,888 INFO L87 Difference]: Start difference. First operand has 1114 states, 835 states have (on average 1.341317365269461) internal successors, (1120), 845 states have internal predecessors, (1120), 203 states have call successors, (203), 76 states have call predecessors, (203), 75 states have return successors, (199), 199 states have call predecessors, (199), 199 states have call successors, (199) Second operand 1114 states. [2022-02-20 21:45:15,951 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 21:45:15,951 INFO L93 Difference]: Finished difference Result 1114 states and 1522 transitions. [2022-02-20 21:45:15,951 INFO L276 IsEmpty]: Start isEmpty. Operand 1114 states and 1522 transitions. [2022-02-20 21:45:15,956 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 21:45:15,956 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 21:45:15,956 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 21:45:15,956 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 21:45:15,959 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 1114 states, 835 states have (on average 1.341317365269461) internal successors, (1120), 845 states have internal predecessors, (1120), 203 states have call successors, (203), 76 states have call predecessors, (203), 75 states have return successors, (199), 199 states have call predecessors, (199), 199 states have call successors, (199) [2022-02-20 21:45:16,040 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 1114 states to 1114 states and 1522 transitions. [2022-02-20 21:45:16,040 INFO L78 Accepts]: Start accepts. Automaton has 1114 states and 1522 transitions. Word has length 35 [2022-02-20 21:45:16,040 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 21:45:16,040 INFO L470 AbstractCegarLoop]: Abstraction has 1114 states and 1522 transitions. [2022-02-20 21:45:16,041 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 10.666666666666666) internal successors, (32), 3 states have internal predecessors, (32), 2 states have call successors, (2), 2 states have call predecessors, (2), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 21:45:16,041 INFO L276 IsEmpty]: Start isEmpty. Operand 1114 states and 1522 transitions. [2022-02-20 21:45:16,042 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 37 [2022-02-20 21:45:16,042 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 21:45:16,043 INFO L514 BasicCegarLoop]: trace histogram [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, 1] [2022-02-20 21:45:16,072 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-02-20 21:45:16,263 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 21:45:16,263 INFO L402 AbstractCegarLoop]: === Iteration 9 === Targeting ldv_errorErr0ASSERT_VIOLATIONERROR_FUNCTION === [ldv_errorErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 21:45:16,264 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 21:45:16,264 INFO L85 PathProgramCache]: Analyzing trace with hash -99861230, now seen corresponding path program 1 times [2022-02-20 21:45:16,264 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 21:45:16,264 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1859908387] [2022-02-20 21:45:16,264 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 21:45:16,264 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 21:45:16,309 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:45:16,355 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 13 [2022-02-20 21:45:16,357 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:45:16,369 INFO L290 TraceCheckUtils]: 0: Hoare triple {46513#true} ~nr := #in~nr;~addr.base, ~addr.offset := #in~addr.base, #in~addr.offset; {46513#true} is VALID [2022-02-20 21:45:16,375 INFO L290 TraceCheckUtils]: 1: Hoare triple {46513#true} assume true; {46513#true} is VALID [2022-02-20 21:45:16,376 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {46513#true} {46515#(= |ULTIMATE.start_pg_init_units_~unit~0#1| 0)} #1242#return; {46515#(= |ULTIMATE.start_pg_init_units_~unit~0#1| 0)} is VALID [2022-02-20 21:45:16,379 INFO L290 TraceCheckUtils]: 0: Hoare triple {46513#true} assume { :begin_inline_ULTIMATE.init } 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(72, 2);call #Ultimate.allocInit(3, 3);call write~init~int(112, 3, 0, 1);call write~init~int(103, 3, 1, 1);call write~init~int(0, 3, 2, 1);call #Ultimate.allocInit(124, 4);call #Ultimate.allocInit(27, 5);call #Ultimate.allocInit(19, 6);call #Ultimate.allocInit(9, 7);call #Ultimate.allocInit(5, 8);call write~init~int(37, 8, 0, 1);call write~init~int(115, 8, 1, 1);call write~init~int(37, 8, 2, 1);call write~init~int(99, 8, 3, 1);call write~init~int(0, 8, 4, 1);call #Ultimate.allocInit(9, 9);call #Ultimate.allocInit(1, 10);call write~init~int(0, 10, 0, 1);call #Ultimate.allocInit(39, 11);call #Ultimate.allocInit(15, 12);call #Ultimate.allocInit(12, 13);call #Ultimate.allocInit(25, 14);call #Ultimate.allocInit(35, 15);call #Ultimate.allocInit(6, 16);call write~init~int(37, 16, 0, 1);call write~init~int(48, 16, 1, 1);call write~init~int(50, 16, 2, 1);call write~init~int(120, 16, 3, 1);call write~init~int(32, 16, 4, 1);call write~init~int(0, 16, 5, 1);call #Ultimate.allocInit(2, 17);call write~init~int(10, 17, 0, 1);call write~init~int(0, 17, 1, 1);call #Ultimate.allocInit(11, 18);call #Ultimate.allocInit(5, 19);call write~init~int(82, 19, 0, 1);call write~init~int(101, 19, 1, 1);call write~init~int(97, 19, 2, 1);call write~init~int(100, 19, 3, 1);call write~init~int(0, 19, 4, 1);call #Ultimate.allocInit(6, 20);call write~init~int(87, 20, 0, 1);call write~init~int(114, 20, 1, 1);call write~init~int(105, 20, 2, 1);call write~init~int(116, 20, 3, 1);call write~init~int(101, 20, 4, 1);call write~init~int(0, 20, 5, 1);call #Ultimate.allocInit(17, 21);call #Ultimate.allocInit(11, 22);call #Ultimate.allocInit(28, 23);call #Ultimate.allocInit(4, 24);call write~init~int(37, 24, 0, 1);call write~init~int(51, 24, 1, 1);call write~init~int(120, 24, 2, 1);call write~init~int(0, 24, 3, 1);call #Ultimate.allocInit(13, 25);call #Ultimate.allocInit(2, 26);call write~init~int(10, 26, 0, 1);call write~init~int(0, 26, 1, 1);call #Ultimate.allocInit(7, 27);call write~init~int(109, 27, 0, 1);call write~init~int(97, 27, 1, 1);call write~init~int(115, 27, 2, 1);call write~init~int(116, 27, 3, 1);call write~init~int(101, 27, 4, 1);call write~init~int(114, 27, 5, 1);call write~init~int(0, 27, 6, 1);call #Ultimate.allocInit(6, 28);call write~init~int(115, 28, 0, 1);call write~init~int(108, 28, 1, 1);call write~init~int(97, 28, 2, 1);call write~init~int(118, 28, 3, 1);call write~init~int(101, 28, 4, 1);call write~init~int(0, 28, 5, 1);call #Ultimate.allocInit(15, 29);call #Ultimate.allocInit(29, 30);call #Ultimate.allocInit(5, 31);call write~init~int(49, 31, 0, 1);call write~init~int(46, 31, 1, 1);call write~init~int(48, 31, 2, 1);call write~init~int(50, 31, 3, 1);call write~init~int(0, 31, 4, 1);call #Ultimate.allocInit(30, 32);call #Ultimate.allocInit(30, 33);call #Ultimate.allocInit(40, 34);call #Ultimate.allocInit(3, 35);call write~init~int(112, 35, 0, 1);call write~init~int(103, 35, 1, 1);call write~init~int(0, 35, 2, 1);call #Ultimate.allocInit(5, 36);call write~init~int(112, 36, 0, 1);call write~init~int(103, 36, 1, 1);call write~init~int(37, 36, 2, 1);call write~init~int(117, 36, 3, 1);call write~init~int(0, 36, 4, 1);call #Ultimate.allocInit(3, 37);call write~init~int(112, 37, 0, 1);call write~init~int(103, 37, 1, 1);call write~init~int(0, 37, 2, 1);~ldv_state_variable_1~0 := 0;~ref_cnt~0 := 0;~ldv_state_variable_0~0 := 0;~verbose~0 := 0;~major~0 := 97;~name~0.base, ~name~0.offset := 3, 0;~disable~0 := 0;~#drive0~0.base, ~#drive0~0.offset := 38, 0;call #Ultimate.allocInit(24, 38);call write~init~int(0, ~#drive0~0.base, ~#drive0~0.offset, 4);call write~init~int(0, ~#drive0~0.base, 4 + ~#drive0~0.offset, 4);call write~init~int(0, ~#drive0~0.base, 8 + ~#drive0~0.offset, 4);call write~init~int(-1, ~#drive0~0.base, 12 + ~#drive0~0.offset, 4);call write~init~int(-1, ~#drive0~0.base, 16 + ~#drive0~0.offset, 4);call write~init~int(-1, ~#drive0~0.base, 20 + ~#drive0~0.offset, 4);~#drive1~0.base, ~#drive1~0.offset := 39, 0;call #Ultimate.allocInit(24, 39);call write~init~int(0, ~#drive1~0.base, ~#drive1~0.offset, 4);call write~init~int(0, ~#drive1~0.base, 4 + ~#drive1~0.offset, 4);call write~init~int(0, ~#drive1~0.base, 8 + ~#drive1~0.offset, 4);call write~init~int(-1, ~#drive1~0.base, 12 + ~#drive1~0.offset, 4);call write~init~int(-1, ~#drive1~0.base, 16 + ~#drive1~0.offset, 4);call write~init~int(-1, ~#drive1~0.base, 20 + ~#drive1~0.offset, 4);~#drive2~0.base, ~#drive2~0.offset := 40, 0;call #Ultimate.allocInit(24, 40);call write~init~int(0, ~#drive2~0.base, ~#drive2~0.offset, 4);call write~init~int(0, ~#drive2~0.base, 4 + ~#drive2~0.offset, 4);call write~init~int(0, ~#drive2~0.base, 8 + ~#drive2~0.offset, 4);call write~init~int(-1, ~#drive2~0.base, 12 + ~#drive2~0.offset, 4);call write~init~int(-1, ~#drive2~0.base, 16 + ~#drive2~0.offset, 4);call write~init~int(-1, ~#drive2~0.base, 20 + ~#drive2~0.offset, 4);~#drive3~0.base, ~#drive3~0.offset := 41, 0;call #Ultimate.allocInit(24, 41);call write~init~int(0, ~#drive3~0.base, ~#drive3~0.offset, 4);call write~init~int(0, ~#drive3~0.base, 4 + ~#drive3~0.offset, 4);call write~init~int(0, ~#drive3~0.base, 8 + ~#drive3~0.offset, 4);call write~init~int(-1, ~#drive3~0.base, 12 + ~#drive3~0.offset, 4);call write~init~int(-1, ~#drive3~0.base, 16 + ~#drive3~0.offset, 4);call write~init~int(-1, ~#drive3~0.base, 20 + ~#drive3~0.offset, 4);~#drives~0.base, ~#drives~0.offset := 42, 0;call #Ultimate.allocInit(32, 42);call write~init~$Pointer$(~#drive0~0.base, ~#drive0~0.offset, ~#drives~0.base, ~#drives~0.offset, 8);call write~init~$Pointer$(~#drive1~0.base, ~#drive1~0.offset, ~#drives~0.base, 8 + ~#drives~0.offset, 8);call write~init~$Pointer$(~#drive2~0.base, ~#drive2~0.offset, ~#drives~0.base, 16 + ~#drives~0.offset, 8);call write~init~$Pointer$(~#drive3~0.base, ~#drive3~0.offset, ~#drives~0.base, 24 + ~#drives~0.offset, 8);~pg_drive_count~0 := 0;~#pg_mutex~0.base, ~#pg_mutex~0.offset := 43, 0;call #Ultimate.allocInit(156, 43);call write~init~int(1, ~#pg_mutex~0.base, ~#pg_mutex~0.offset, 4);call write~init~int(0, ~#pg_mutex~0.base, 4 + ~#pg_mutex~0.offset, 4);call write~init~int(3735899821, ~#pg_mutex~0.base, 8 + ~#pg_mutex~0.offset, 4);call write~init~int(4294967295, ~#pg_mutex~0.base, 12 + ~#pg_mutex~0.offset, 4);call write~init~$Pointer$(0, -1, ~#pg_mutex~0.base, 16 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_mutex~0.base, 24 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_mutex~0.base, 32 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_mutex~0.base, 40 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(6, 0, ~#pg_mutex~0.base, 48 + ~#pg_mutex~0.offset, 8);call write~init~int(0, ~#pg_mutex~0.base, 56 + ~#pg_mutex~0.offset, 4);call write~init~int(0, ~#pg_mutex~0.base, 60 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(~#pg_mutex~0.base, 72 + ~#pg_mutex~0.offset, ~#pg_mutex~0.base, 72 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(~#pg_mutex~0.base, 72 + ~#pg_mutex~0.offset, ~#pg_mutex~0.base, 80 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_mutex~0.base, 88 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_mutex~0.base, 96 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(~#pg_mutex~0.base, ~#pg_mutex~0.offset, ~#pg_mutex~0.base, 104 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_mutex~0.base, 112 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_mutex~0.base, 120 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_mutex~0.base, 128 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(7, 0, ~#pg_mutex~0.base, 136 + ~#pg_mutex~0.offset, 8);call write~init~int(0, ~#pg_mutex~0.base, 144 + ~#pg_mutex~0.offset, 4);call write~init~int(0, ~#pg_mutex~0.base, 148 + ~#pg_mutex~0.offset, 8);~#devices~0.base, ~#devices~0.offset := 44, 0;call #Ultimate.allocInit(928, 44);#memory_$Pointer$.base, #memory_$Pointer$.offset := ~initToZeroAtPointerBaseAddress~$Pointer$.base(#memory_$Pointer$.base, #memory_$Pointer$.offset, ~#devices~0.base), ~initToZeroAtPointerBaseAddress~$Pointer$.offset(#memory_$Pointer$.base, #memory_$Pointer$.offset, ~#devices~0.base);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#devices~0.base);~#pg_scratch~0.base, ~#pg_scratch~0.offset := 45, 0;call #Ultimate.allocInit(512, 45);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#pg_scratch~0.base);~pg_class~0.base, ~pg_class~0.offset := 0, 0;~#pg_fops~0.base, ~#pg_fops~0.offset := 46, 0;call #Ultimate.allocInit(216, 46);call write~init~$Pointer$(~#__this_module~0.base, ~#__this_module~0.offset, ~#pg_fops~0.base, ~#pg_fops~0.offset, 8);call write~init~$Pointer$(#funAddr~noop_llseek.base, #funAddr~noop_llseek.offset, ~#pg_fops~0.base, 8 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(#funAddr~pg_read.base, #funAddr~pg_read.offset, ~#pg_fops~0.base, 16 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(#funAddr~pg_write.base, #funAddr~pg_write.offset, ~#pg_fops~0.base, 24 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 32 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 40 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 48 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 56 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 64 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 72 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 80 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(#funAddr~pg_open.base, #funAddr~pg_open.offset, ~#pg_fops~0.base, 88 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 96 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(#funAddr~pg_release.base, #funAddr~pg_release.offset, ~#pg_fops~0.base, 104 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 112 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 120 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 128 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 136 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 144 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 152 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 160 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 168 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 176 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 184 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 192 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 200 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 208 + ~#pg_fops~0.offset, 8);~pg_fops_group2~0.base, ~pg_fops_group2~0.offset := 0, 0;~ldvarg7~0 := 0;~ldvarg3~0 := 0;~ldvarg0~0 := 0;~ldvarg5~0.base, ~ldvarg5~0.offset := 0, 0;~ldvarg6~0.base, ~ldvarg6~0.offset := 0, 0;~ldvarg8~0.base, ~ldvarg8~0.offset := 0, 0;~ldvarg1~0 := 0;~ldv_retval_0~0 := 0;~ldvarg4~0.base, ~ldvarg4~0.offset := 0, 0;~ldv_retval_1~0 := 0;~pg_fops_group1~0.base, ~pg_fops_group1~0.offset := 0, 0;~ldvarg2~0.base, ~ldvarg2~0.offset := 0, 0;~ldv_mutex_cred_guard_mutex_of_signal_struct~0 := 0;~ldv_mutex_lock~0 := 0;~ldv_mutex_mutex_of_device~0 := 0;~ldv_mutex_pg_mutex~0 := 0; {46513#true} is VALID [2022-02-20 21:45:16,379 INFO L290 TraceCheckUtils]: 1: Hoare triple {46513#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet231#1, main_#t~switch232#1, main_#t~nondet233#1, main_#t~switch234#1, main_#t~ret235#1, main_#t~ret236#1, main_#t~ret237#1, main_#t~ret238#1, main_#t~ret239#1, main_#t~ret240#1, main_#t~nondet241#1, main_#t~switch242#1, main_#t~ret243#1, main_~tmp~17#1, main_~tmp___0~12#1, main_~tmp___1~11#1;havoc main_~tmp~17#1;havoc main_~tmp___0~12#1;havoc main_~tmp___1~11#1;assume { :begin_inline_ldv_initialize } true;~ldv_mutex_cred_guard_mutex_of_signal_struct~0 := 1;~ldv_mutex_lock~0 := 1;~ldv_mutex_mutex_of_device~0 := 1;~ldv_mutex_pg_mutex~0 := 1; {46513#true} is VALID [2022-02-20 21:45:16,379 INFO L290 TraceCheckUtils]: 2: Hoare triple {46513#true} assume { :end_inline_ldv_initialize } true;~ldv_state_variable_1~0 := 0;~ref_cnt~0 := 0;~ldv_state_variable_0~0 := 1; {46513#true} is VALID [2022-02-20 21:45:16,379 INFO L290 TraceCheckUtils]: 3: Hoare triple {46513#true} assume -2147483648 <= main_#t~nondet231#1 && main_#t~nondet231#1 <= 2147483647;main_~tmp~17#1 := main_#t~nondet231#1;havoc main_#t~nondet231#1;main_#t~switch232#1 := 0 == main_~tmp~17#1; {46513#true} is VALID [2022-02-20 21:45:16,379 INFO L290 TraceCheckUtils]: 4: Hoare triple {46513#true} assume !main_#t~switch232#1;main_#t~switch232#1 := main_#t~switch232#1 || 1 == main_~tmp~17#1; {46513#true} is VALID [2022-02-20 21:45:16,380 INFO L290 TraceCheckUtils]: 5: Hoare triple {46513#true} assume main_#t~switch232#1; {46513#true} is VALID [2022-02-20 21:45:16,380 INFO L290 TraceCheckUtils]: 6: Hoare triple {46513#true} assume 0 != ~ldv_state_variable_0~0;assume -2147483648 <= main_#t~nondet241#1 && main_#t~nondet241#1 <= 2147483647;main_~tmp___1~11#1 := main_#t~nondet241#1;havoc main_#t~nondet241#1;main_#t~switch242#1 := 0 == main_~tmp___1~11#1; {46513#true} is VALID [2022-02-20 21:45:16,380 INFO L290 TraceCheckUtils]: 7: Hoare triple {46513#true} assume !main_#t~switch242#1;main_#t~switch242#1 := main_#t~switch242#1 || 1 == main_~tmp___1~11#1; {46513#true} is VALID [2022-02-20 21:45:16,380 INFO L290 TraceCheckUtils]: 8: Hoare triple {46513#true} assume main_#t~switch242#1; {46513#true} is VALID [2022-02-20 21:45:16,380 INFO L290 TraceCheckUtils]: 9: Hoare triple {46513#true} assume 1 == ~ldv_state_variable_0~0;assume { :begin_inline_pg_init } true;havoc pg_init_#res#1;havoc pg_init_#t~ret218#1, pg_init_#t~ret219#1, pg_init_#t~nondet220#1, pg_init_#t~mem221#1, pg_init_#t~mem222#1.base, pg_init_#t~mem222#1.offset, pg_init_#t~ret223#1.base, pg_init_#t~ret223#1.offset, pg_init_#t~ret224#1, pg_init_#t~ret225#1, pg_init_#t~mem226#1, pg_init_#t~nondet227#1.base, pg_init_#t~nondet227#1.offset, pg_init_~unit~3#1, pg_init_~err~1#1, pg_init_~tmp~16#1, pg_init_~dev~6#1.base, pg_init_~dev~6#1.offset, pg_init_~#__key~0#1.base, pg_init_~#__key~0#1.offset, pg_init_~tmp___0~11#1.base, pg_init_~tmp___0~11#1.offset, pg_init_~tmp___1~10#1, pg_init_~tmp___2~7#1, pg_init_~dev___0~0#1.base, pg_init_~dev___0~0#1.offset;havoc pg_init_~unit~3#1;havoc pg_init_~err~1#1;havoc pg_init_~tmp~16#1;havoc pg_init_~dev~6#1.base, pg_init_~dev~6#1.offset;call pg_init_~#__key~0#1.base, pg_init_~#__key~0#1.offset := #Ultimate.allocOnStack(8);havoc pg_init_~tmp___0~11#1.base, pg_init_~tmp___0~11#1.offset;havoc pg_init_~tmp___1~10#1;havoc pg_init_~tmp___2~7#1;havoc pg_init_~dev___0~0#1.base, pg_init_~dev___0~0#1.offset; {46513#true} is VALID [2022-02-20 21:45:16,381 INFO L290 TraceCheckUtils]: 10: Hoare triple {46513#true} assume !(0 != ~disable~0);assume { :begin_inline_pg_init_units } true;havoc pg_init_units_#t~mem92#1.base, pg_init_units_#t~mem92#1.offset, pg_init_units_#t~mem93#1, pg_init_units_#t~nondet94#1, pg_init_units_#t~mem95#1, pg_init_units_~unit~0#1, pg_init_units_~parm~0#1.base, pg_init_units_~parm~0#1.offset, pg_init_units_~dev~0#1.base, pg_init_units_~dev~0#1.offset;havoc pg_init_units_~unit~0#1;havoc pg_init_units_~parm~0#1.base, pg_init_units_~parm~0#1.offset;havoc pg_init_units_~dev~0#1.base, pg_init_units_~dev~0#1.offset;~pg_drive_count~0 := 0;pg_init_units_~unit~0#1 := 0; {46515#(= |ULTIMATE.start_pg_init_units_~unit~0#1| 0)} is VALID [2022-02-20 21:45:16,381 INFO L290 TraceCheckUtils]: 11: Hoare triple {46515#(= |ULTIMATE.start_pg_init_units_~unit~0#1| 0)} assume pg_init_units_~unit~0#1 <= 3; {46515#(= |ULTIMATE.start_pg_init_units_~unit~0#1| 0)} is VALID [2022-02-20 21:45:16,381 INFO L290 TraceCheckUtils]: 12: Hoare triple {46515#(= |ULTIMATE.start_pg_init_units_~unit~0#1| 0)} call pg_init_units_#t~mem92#1.base, pg_init_units_#t~mem92#1.offset := read~$Pointer$(~#drives~0.base, ~#drives~0.offset + 8 * pg_init_units_~unit~0#1, 8);pg_init_units_~parm~0#1.base, pg_init_units_~parm~0#1.offset := pg_init_units_#t~mem92#1.base, pg_init_units_#t~mem92#1.offset;havoc pg_init_units_#t~mem92#1.base, pg_init_units_#t~mem92#1.offset;pg_init_units_~dev~0#1.base, pg_init_units_~dev~0#1.offset := ~#devices~0.base, ~#devices~0.offset + 232 * (if pg_init_units_~unit~0#1 % 18446744073709551616 % 18446744073709551616 <= 9223372036854775807 then pg_init_units_~unit~0#1 % 18446744073709551616 % 18446744073709551616 else pg_init_units_~unit~0#1 % 18446744073709551616 % 18446744073709551616 - 18446744073709551616);call write~$Pointer$(pg_init_units_~dev~0#1.base, pg_init_units_~dev~0#1.offset, pg_init_units_~dev~0#1.base, 168 + pg_init_units_~dev~0#1.offset, 8); {46515#(= |ULTIMATE.start_pg_init_units_~unit~0#1| 0)} is VALID [2022-02-20 21:45:16,381 INFO L272 TraceCheckUtils]: 13: Hoare triple {46515#(= |ULTIMATE.start_pg_init_units_~unit~0#1| 0)} call clear_bit(0, pg_init_units_~dev~0#1.base, 204 + pg_init_units_~dev~0#1.offset); {46513#true} is VALID [2022-02-20 21:45:16,382 INFO L290 TraceCheckUtils]: 14: Hoare triple {46513#true} ~nr := #in~nr;~addr.base, ~addr.offset := #in~addr.base, #in~addr.offset; {46513#true} is VALID [2022-02-20 21:45:16,382 INFO L290 TraceCheckUtils]: 15: Hoare triple {46513#true} assume true; {46513#true} is VALID [2022-02-20 21:45:16,382 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {46513#true} {46515#(= |ULTIMATE.start_pg_init_units_~unit~0#1| 0)} #1242#return; {46515#(= |ULTIMATE.start_pg_init_units_~unit~0#1| 0)} is VALID [2022-02-20 21:45:16,383 INFO L290 TraceCheckUtils]: 17: Hoare triple {46515#(= |ULTIMATE.start_pg_init_units_~unit~0#1| 0)} call write~int(0, pg_init_units_~dev~0#1.base, 176 + pg_init_units_~dev~0#1.offset, 4);call write~int(0, pg_init_units_~dev~0#1.base, 212 + pg_init_units_~dev~0#1.offset, 4);call write~$Pointer$(0, 0, pg_init_units_~dev~0#1.base, 216 + pg_init_units_~dev~0#1.offset, 8);call pg_init_units_#t~mem93#1 := read~int(pg_init_units_~parm~0#1.base, 16 + pg_init_units_~parm~0#1.offset, 4);call write~int(pg_init_units_#t~mem93#1, pg_init_units_~dev~0#1.base, 200 + pg_init_units_~dev~0#1.offset, 4);havoc pg_init_units_#t~mem93#1;havoc pg_init_units_#t~nondet94#1;call pg_init_units_#t~mem95#1 := read~int(pg_init_units_~parm~0#1.base, pg_init_units_~parm~0#1.offset, 4); {46515#(= |ULTIMATE.start_pg_init_units_~unit~0#1| 0)} is VALID [2022-02-20 21:45:16,383 INFO L290 TraceCheckUtils]: 18: Hoare triple {46515#(= |ULTIMATE.start_pg_init_units_~unit~0#1| 0)} assume 0 != pg_init_units_#t~mem95#1;havoc pg_init_units_#t~mem95#1;~pg_drive_count~0 := 1 + ~pg_drive_count~0; {46515#(= |ULTIMATE.start_pg_init_units_~unit~0#1| 0)} is VALID [2022-02-20 21:45:16,384 INFO L290 TraceCheckUtils]: 19: Hoare triple {46515#(= |ULTIMATE.start_pg_init_units_~unit~0#1| 0)} pg_init_units_~unit~0#1 := 1 + pg_init_units_~unit~0#1; {46519#(<= |ULTIMATE.start_pg_init_units_~unit~0#1| 1)} is VALID [2022-02-20 21:45:16,384 INFO L290 TraceCheckUtils]: 20: Hoare triple {46519#(<= |ULTIMATE.start_pg_init_units_~unit~0#1| 1)} assume !(pg_init_units_~unit~0#1 <= 3); {46514#false} is VALID [2022-02-20 21:45:16,384 INFO L290 TraceCheckUtils]: 21: Hoare triple {46514#false} assume { :end_inline_pg_init_units } true;assume { :begin_inline_pg_detect } true;havoc pg_detect_#res#1;havoc pg_detect_#t~nondet158#1, pg_detect_#t~mem159#1.base, pg_detect_#t~mem159#1.offset, pg_detect_#t~ret160#1, pg_detect_#t~ret161#1, pg_detect_#t~mem162#1.base, pg_detect_#t~mem162#1.offset, pg_detect_#t~mem163#1.base, pg_detect_#t~mem163#1.offset, pg_detect_#t~mem164#1, pg_detect_#t~mem165#1.base, pg_detect_#t~mem165#1.offset, pg_detect_#t~mem166#1, pg_detect_#t~mem167#1, pg_detect_#t~mem168#1, pg_detect_#t~mem169#1, pg_detect_#t~mem170#1, pg_detect_#t~ret171#1, pg_detect_#t~ret172#1, pg_detect_#t~mem173#1.base, pg_detect_#t~mem173#1.offset, pg_detect_#t~nondet174#1, pg_detect_~dev~1#1.base, pg_detect_~dev~1#1.offset, pg_detect_~k~3#1, pg_detect_~unit~1#1, pg_detect_~tmp~12#1, pg_detect_~parm~1#1.base, pg_detect_~parm~1#1.offset, pg_detect_~tmp___0~7#1, pg_detect_~tmp___1~6#1, pg_detect_~tmp___2~5#1;havoc pg_detect_~dev~1#1.base, pg_detect_~dev~1#1.offset;havoc pg_detect_~k~3#1;havoc pg_detect_~unit~1#1;havoc pg_detect_~tmp~12#1;havoc pg_detect_~parm~1#1.base, pg_detect_~parm~1#1.offset;havoc pg_detect_~tmp___0~7#1;havoc pg_detect_~tmp___1~6#1;havoc pg_detect_~tmp___2~5#1;pg_detect_~dev~1#1.base, pg_detect_~dev~1#1.offset := ~#devices~0.base, ~#devices~0.offset;havoc pg_detect_#t~nondet158#1;pg_detect_~k~3#1 := 0; {46514#false} is VALID [2022-02-20 21:45:16,384 INFO L290 TraceCheckUtils]: 22: Hoare triple {46514#false} assume !(0 == ~pg_drive_count~0); {46514#false} is VALID [2022-02-20 21:45:16,384 INFO L290 TraceCheckUtils]: 23: Hoare triple {46514#false} assume !(0 != pg_detect_~k~3#1);havoc pg_detect_#t~nondet174#1;pg_detect_#res#1 := -1; {46514#false} is VALID [2022-02-20 21:45:16,385 INFO L290 TraceCheckUtils]: 24: Hoare triple {46514#false} pg_init_#t~ret218#1 := pg_detect_#res#1;assume { :end_inline_pg_detect } true;assume -2147483648 <= pg_init_#t~ret218#1 && pg_init_#t~ret218#1 <= 2147483647;pg_init_~tmp~16#1 := pg_init_#t~ret218#1;havoc pg_init_#t~ret218#1; {46514#false} is VALID [2022-02-20 21:45:16,385 INFO L290 TraceCheckUtils]: 25: Hoare triple {46514#false} assume 0 != pg_init_~tmp~16#1;pg_init_~err~1#1 := -19; {46514#false} is VALID [2022-02-20 21:45:16,385 INFO L290 TraceCheckUtils]: 26: Hoare triple {46514#false} pg_init_#res#1 := pg_init_~err~1#1;call ULTIMATE.dealloc(pg_init_~#__key~0#1.base, pg_init_~#__key~0#1.offset);havoc pg_init_~#__key~0#1.base, pg_init_~#__key~0#1.offset; {46514#false} is VALID [2022-02-20 21:45:16,385 INFO L290 TraceCheckUtils]: 27: Hoare triple {46514#false} main_#t~ret243#1 := pg_init_#res#1;assume { :end_inline_pg_init } true;assume -2147483648 <= main_#t~ret243#1 && main_#t~ret243#1 <= 2147483647;~ldv_retval_1~0 := main_#t~ret243#1;havoc main_#t~ret243#1; {46514#false} is VALID [2022-02-20 21:45:16,385 INFO L290 TraceCheckUtils]: 28: Hoare triple {46514#false} assume !(0 == ~ldv_retval_1~0); {46514#false} is VALID [2022-02-20 21:45:16,385 INFO L290 TraceCheckUtils]: 29: Hoare triple {46514#false} assume 0 != ~ldv_retval_1~0;~ldv_state_variable_0~0 := 2; {46514#false} is VALID [2022-02-20 21:45:16,385 INFO L290 TraceCheckUtils]: 30: Hoare triple {46514#false} assume { :begin_inline_ldv_check_final_state } true; {46514#false} is VALID [2022-02-20 21:45:16,386 INFO L290 TraceCheckUtils]: 31: Hoare triple {46514#false} assume 1 == ~ldv_mutex_cred_guard_mutex_of_signal_struct~0; {46514#false} is VALID [2022-02-20 21:45:16,386 INFO L290 TraceCheckUtils]: 32: Hoare triple {46514#false} assume 1 == ~ldv_mutex_lock~0; {46514#false} is VALID [2022-02-20 21:45:16,386 INFO L290 TraceCheckUtils]: 33: Hoare triple {46514#false} assume !(1 == ~ldv_mutex_mutex_of_device~0); {46514#false} is VALID [2022-02-20 21:45:16,386 INFO L272 TraceCheckUtils]: 34: Hoare triple {46514#false} call ldv_error(); {46514#false} is VALID [2022-02-20 21:45:16,386 INFO L290 TraceCheckUtils]: 35: Hoare triple {46514#false} assume !false; {46514#false} is VALID [2022-02-20 21:45:16,387 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 21:45:16,387 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 21:45:16,387 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1859908387] [2022-02-20 21:45:16,388 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1859908387] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 21:45:16,388 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [524803767] [2022-02-20 21:45:16,388 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 21:45:16,388 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 21:45:16,388 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 21:45:16,389 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-02-20 21:45:16,411 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-02-20 21:45:16,660 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:45:16,663 INFO L263 TraceCheckSpWp]: Trace formula consists of 857 conjuncts, 3 conjunts are in the unsatisfiable core [2022-02-20 21:45:16,681 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:45:16,682 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 21:45:16,786 INFO L290 TraceCheckUtils]: 0: Hoare triple {46513#true} assume { :begin_inline_ULTIMATE.init } 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(72, 2);call #Ultimate.allocInit(3, 3);call write~init~int(112, 3, 0, 1);call write~init~int(103, 3, 1, 1);call write~init~int(0, 3, 2, 1);call #Ultimate.allocInit(124, 4);call #Ultimate.allocInit(27, 5);call #Ultimate.allocInit(19, 6);call #Ultimate.allocInit(9, 7);call #Ultimate.allocInit(5, 8);call write~init~int(37, 8, 0, 1);call write~init~int(115, 8, 1, 1);call write~init~int(37, 8, 2, 1);call write~init~int(99, 8, 3, 1);call write~init~int(0, 8, 4, 1);call #Ultimate.allocInit(9, 9);call #Ultimate.allocInit(1, 10);call write~init~int(0, 10, 0, 1);call #Ultimate.allocInit(39, 11);call #Ultimate.allocInit(15, 12);call #Ultimate.allocInit(12, 13);call #Ultimate.allocInit(25, 14);call #Ultimate.allocInit(35, 15);call #Ultimate.allocInit(6, 16);call write~init~int(37, 16, 0, 1);call write~init~int(48, 16, 1, 1);call write~init~int(50, 16, 2, 1);call write~init~int(120, 16, 3, 1);call write~init~int(32, 16, 4, 1);call write~init~int(0, 16, 5, 1);call #Ultimate.allocInit(2, 17);call write~init~int(10, 17, 0, 1);call write~init~int(0, 17, 1, 1);call #Ultimate.allocInit(11, 18);call #Ultimate.allocInit(5, 19);call write~init~int(82, 19, 0, 1);call write~init~int(101, 19, 1, 1);call write~init~int(97, 19, 2, 1);call write~init~int(100, 19, 3, 1);call write~init~int(0, 19, 4, 1);call #Ultimate.allocInit(6, 20);call write~init~int(87, 20, 0, 1);call write~init~int(114, 20, 1, 1);call write~init~int(105, 20, 2, 1);call write~init~int(116, 20, 3, 1);call write~init~int(101, 20, 4, 1);call write~init~int(0, 20, 5, 1);call #Ultimate.allocInit(17, 21);call #Ultimate.allocInit(11, 22);call #Ultimate.allocInit(28, 23);call #Ultimate.allocInit(4, 24);call write~init~int(37, 24, 0, 1);call write~init~int(51, 24, 1, 1);call write~init~int(120, 24, 2, 1);call write~init~int(0, 24, 3, 1);call #Ultimate.allocInit(13, 25);call #Ultimate.allocInit(2, 26);call write~init~int(10, 26, 0, 1);call write~init~int(0, 26, 1, 1);call #Ultimate.allocInit(7, 27);call write~init~int(109, 27, 0, 1);call write~init~int(97, 27, 1, 1);call write~init~int(115, 27, 2, 1);call write~init~int(116, 27, 3, 1);call write~init~int(101, 27, 4, 1);call write~init~int(114, 27, 5, 1);call write~init~int(0, 27, 6, 1);call #Ultimate.allocInit(6, 28);call write~init~int(115, 28, 0, 1);call write~init~int(108, 28, 1, 1);call write~init~int(97, 28, 2, 1);call write~init~int(118, 28, 3, 1);call write~init~int(101, 28, 4, 1);call write~init~int(0, 28, 5, 1);call #Ultimate.allocInit(15, 29);call #Ultimate.allocInit(29, 30);call #Ultimate.allocInit(5, 31);call write~init~int(49, 31, 0, 1);call write~init~int(46, 31, 1, 1);call write~init~int(48, 31, 2, 1);call write~init~int(50, 31, 3, 1);call write~init~int(0, 31, 4, 1);call #Ultimate.allocInit(30, 32);call #Ultimate.allocInit(30, 33);call #Ultimate.allocInit(40, 34);call #Ultimate.allocInit(3, 35);call write~init~int(112, 35, 0, 1);call write~init~int(103, 35, 1, 1);call write~init~int(0, 35, 2, 1);call #Ultimate.allocInit(5, 36);call write~init~int(112, 36, 0, 1);call write~init~int(103, 36, 1, 1);call write~init~int(37, 36, 2, 1);call write~init~int(117, 36, 3, 1);call write~init~int(0, 36, 4, 1);call #Ultimate.allocInit(3, 37);call write~init~int(112, 37, 0, 1);call write~init~int(103, 37, 1, 1);call write~init~int(0, 37, 2, 1);~ldv_state_variable_1~0 := 0;~ref_cnt~0 := 0;~ldv_state_variable_0~0 := 0;~verbose~0 := 0;~major~0 := 97;~name~0.base, ~name~0.offset := 3, 0;~disable~0 := 0;~#drive0~0.base, ~#drive0~0.offset := 38, 0;call #Ultimate.allocInit(24, 38);call write~init~int(0, ~#drive0~0.base, ~#drive0~0.offset, 4);call write~init~int(0, ~#drive0~0.base, 4 + ~#drive0~0.offset, 4);call write~init~int(0, ~#drive0~0.base, 8 + ~#drive0~0.offset, 4);call write~init~int(-1, ~#drive0~0.base, 12 + ~#drive0~0.offset, 4);call write~init~int(-1, ~#drive0~0.base, 16 + ~#drive0~0.offset, 4);call write~init~int(-1, ~#drive0~0.base, 20 + ~#drive0~0.offset, 4);~#drive1~0.base, ~#drive1~0.offset := 39, 0;call #Ultimate.allocInit(24, 39);call write~init~int(0, ~#drive1~0.base, ~#drive1~0.offset, 4);call write~init~int(0, ~#drive1~0.base, 4 + ~#drive1~0.offset, 4);call write~init~int(0, ~#drive1~0.base, 8 + ~#drive1~0.offset, 4);call write~init~int(-1, ~#drive1~0.base, 12 + ~#drive1~0.offset, 4);call write~init~int(-1, ~#drive1~0.base, 16 + ~#drive1~0.offset, 4);call write~init~int(-1, ~#drive1~0.base, 20 + ~#drive1~0.offset, 4);~#drive2~0.base, ~#drive2~0.offset := 40, 0;call #Ultimate.allocInit(24, 40);call write~init~int(0, ~#drive2~0.base, ~#drive2~0.offset, 4);call write~init~int(0, ~#drive2~0.base, 4 + ~#drive2~0.offset, 4);call write~init~int(0, ~#drive2~0.base, 8 + ~#drive2~0.offset, 4);call write~init~int(-1, ~#drive2~0.base, 12 + ~#drive2~0.offset, 4);call write~init~int(-1, ~#drive2~0.base, 16 + ~#drive2~0.offset, 4);call write~init~int(-1, ~#drive2~0.base, 20 + ~#drive2~0.offset, 4);~#drive3~0.base, ~#drive3~0.offset := 41, 0;call #Ultimate.allocInit(24, 41);call write~init~int(0, ~#drive3~0.base, ~#drive3~0.offset, 4);call write~init~int(0, ~#drive3~0.base, 4 + ~#drive3~0.offset, 4);call write~init~int(0, ~#drive3~0.base, 8 + ~#drive3~0.offset, 4);call write~init~int(-1, ~#drive3~0.base, 12 + ~#drive3~0.offset, 4);call write~init~int(-1, ~#drive3~0.base, 16 + ~#drive3~0.offset, 4);call write~init~int(-1, ~#drive3~0.base, 20 + ~#drive3~0.offset, 4);~#drives~0.base, ~#drives~0.offset := 42, 0;call #Ultimate.allocInit(32, 42);call write~init~$Pointer$(~#drive0~0.base, ~#drive0~0.offset, ~#drives~0.base, ~#drives~0.offset, 8);call write~init~$Pointer$(~#drive1~0.base, ~#drive1~0.offset, ~#drives~0.base, 8 + ~#drives~0.offset, 8);call write~init~$Pointer$(~#drive2~0.base, ~#drive2~0.offset, ~#drives~0.base, 16 + ~#drives~0.offset, 8);call write~init~$Pointer$(~#drive3~0.base, ~#drive3~0.offset, ~#drives~0.base, 24 + ~#drives~0.offset, 8);~pg_drive_count~0 := 0;~#pg_mutex~0.base, ~#pg_mutex~0.offset := 43, 0;call #Ultimate.allocInit(156, 43);call write~init~int(1, ~#pg_mutex~0.base, ~#pg_mutex~0.offset, 4);call write~init~int(0, ~#pg_mutex~0.base, 4 + ~#pg_mutex~0.offset, 4);call write~init~int(3735899821, ~#pg_mutex~0.base, 8 + ~#pg_mutex~0.offset, 4);call write~init~int(4294967295, ~#pg_mutex~0.base, 12 + ~#pg_mutex~0.offset, 4);call write~init~$Pointer$(0, -1, ~#pg_mutex~0.base, 16 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_mutex~0.base, 24 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_mutex~0.base, 32 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_mutex~0.base, 40 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(6, 0, ~#pg_mutex~0.base, 48 + ~#pg_mutex~0.offset, 8);call write~init~int(0, ~#pg_mutex~0.base, 56 + ~#pg_mutex~0.offset, 4);call write~init~int(0, ~#pg_mutex~0.base, 60 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(~#pg_mutex~0.base, 72 + ~#pg_mutex~0.offset, ~#pg_mutex~0.base, 72 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(~#pg_mutex~0.base, 72 + ~#pg_mutex~0.offset, ~#pg_mutex~0.base, 80 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_mutex~0.base, 88 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_mutex~0.base, 96 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(~#pg_mutex~0.base, ~#pg_mutex~0.offset, ~#pg_mutex~0.base, 104 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_mutex~0.base, 112 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_mutex~0.base, 120 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_mutex~0.base, 128 + ~#pg_mutex~0.offset, 8);call write~init~$Pointer$(7, 0, ~#pg_mutex~0.base, 136 + ~#pg_mutex~0.offset, 8);call write~init~int(0, ~#pg_mutex~0.base, 144 + ~#pg_mutex~0.offset, 4);call write~init~int(0, ~#pg_mutex~0.base, 148 + ~#pg_mutex~0.offset, 8);~#devices~0.base, ~#devices~0.offset := 44, 0;call #Ultimate.allocInit(928, 44);#memory_$Pointer$.base, #memory_$Pointer$.offset := ~initToZeroAtPointerBaseAddress~$Pointer$.base(#memory_$Pointer$.base, #memory_$Pointer$.offset, ~#devices~0.base), ~initToZeroAtPointerBaseAddress~$Pointer$.offset(#memory_$Pointer$.base, #memory_$Pointer$.offset, ~#devices~0.base);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#devices~0.base);~#pg_scratch~0.base, ~#pg_scratch~0.offset := 45, 0;call #Ultimate.allocInit(512, 45);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#pg_scratch~0.base);~pg_class~0.base, ~pg_class~0.offset := 0, 0;~#pg_fops~0.base, ~#pg_fops~0.offset := 46, 0;call #Ultimate.allocInit(216, 46);call write~init~$Pointer$(~#__this_module~0.base, ~#__this_module~0.offset, ~#pg_fops~0.base, ~#pg_fops~0.offset, 8);call write~init~$Pointer$(#funAddr~noop_llseek.base, #funAddr~noop_llseek.offset, ~#pg_fops~0.base, 8 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(#funAddr~pg_read.base, #funAddr~pg_read.offset, ~#pg_fops~0.base, 16 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(#funAddr~pg_write.base, #funAddr~pg_write.offset, ~#pg_fops~0.base, 24 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 32 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 40 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 48 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 56 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 64 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 72 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 80 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(#funAddr~pg_open.base, #funAddr~pg_open.offset, ~#pg_fops~0.base, 88 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 96 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(#funAddr~pg_release.base, #funAddr~pg_release.offset, ~#pg_fops~0.base, 104 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 112 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 120 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 128 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 136 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 144 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 152 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 160 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 168 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 176 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 184 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 192 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 200 + ~#pg_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#pg_fops~0.base, 208 + ~#pg_fops~0.offset, 8);~pg_fops_group2~0.base, ~pg_fops_group2~0.offset := 0, 0;~ldvarg7~0 := 0;~ldvarg3~0 := 0;~ldvarg0~0 := 0;~ldvarg5~0.base, ~ldvarg5~0.offset := 0, 0;~ldvarg6~0.base, ~ldvarg6~0.offset := 0, 0;~ldvarg8~0.base, ~ldvarg8~0.offset := 0, 0;~ldvarg1~0 := 0;~ldv_retval_0~0 := 0;~ldvarg4~0.base, ~ldvarg4~0.offset := 0, 0;~ldv_retval_1~0 := 0;~pg_fops_group1~0.base, ~pg_fops_group1~0.offset := 0, 0;~ldvarg2~0.base, ~ldvarg2~0.offset := 0, 0;~ldv_mutex_cred_guard_mutex_of_signal_struct~0 := 0;~ldv_mutex_lock~0 := 0;~ldv_mutex_mutex_of_device~0 := 0;~ldv_mutex_pg_mutex~0 := 0; {46513#true} is VALID [2022-02-20 21:45:16,787 INFO L290 TraceCheckUtils]: 1: Hoare triple {46513#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet231#1, main_#t~switch232#1, main_#t~nondet233#1, main_#t~switch234#1, main_#t~ret235#1, main_#t~ret236#1, main_#t~ret237#1, main_#t~ret238#1, main_#t~ret239#1, main_#t~ret240#1, main_#t~nondet241#1, main_#t~switch242#1, main_#t~ret243#1, main_~tmp~17#1, main_~tmp___0~12#1, main_~tmp___1~11#1;havoc main_~tmp~17#1;havoc main_~tmp___0~12#1;havoc main_~tmp___1~11#1;assume { :begin_inline_ldv_initialize } true;~ldv_mutex_cred_guard_mutex_of_signal_struct~0 := 1;~ldv_mutex_lock~0 := 1;~ldv_mutex_mutex_of_device~0 := 1;~ldv_mutex_pg_mutex~0 := 1; {46526#(= 1 ~ldv_mutex_mutex_of_device~0)} is VALID [2022-02-20 21:45:16,787 INFO L290 TraceCheckUtils]: 2: Hoare triple {46526#(= 1 ~ldv_mutex_mutex_of_device~0)} assume { :end_inline_ldv_initialize } true;~ldv_state_variable_1~0 := 0;~ref_cnt~0 := 0;~ldv_state_variable_0~0 := 1; {46526#(= 1 ~ldv_mutex_mutex_of_device~0)} is VALID [2022-02-20 21:45:16,788 INFO L290 TraceCheckUtils]: 3: Hoare triple {46526#(= 1 ~ldv_mutex_mutex_of_device~0)} assume -2147483648 <= main_#t~nondet231#1 && main_#t~nondet231#1 <= 2147483647;main_~tmp~17#1 := main_#t~nondet231#1;havoc main_#t~nondet231#1;main_#t~switch232#1 := 0 == main_~tmp~17#1; {46526#(= 1 ~ldv_mutex_mutex_of_device~0)} is VALID [2022-02-20 21:45:16,788 INFO L290 TraceCheckUtils]: 4: Hoare triple {46526#(= 1 ~ldv_mutex_mutex_of_device~0)} assume !main_#t~switch232#1;main_#t~switch232#1 := main_#t~switch232#1 || 1 == main_~tmp~17#1; {46526#(= 1 ~ldv_mutex_mutex_of_device~0)} is VALID [2022-02-20 21:45:16,789 INFO L290 TraceCheckUtils]: 5: Hoare triple {46526#(= 1 ~ldv_mutex_mutex_of_device~0)} assume main_#t~switch232#1; {46526#(= 1 ~ldv_mutex_mutex_of_device~0)} is VALID [2022-02-20 21:45:16,789 INFO L290 TraceCheckUtils]: 6: Hoare triple {46526#(= 1 ~ldv_mutex_mutex_of_device~0)} assume 0 != ~ldv_state_variable_0~0;assume -2147483648 <= main_#t~nondet241#1 && main_#t~nondet241#1 <= 2147483647;main_~tmp___1~11#1 := main_#t~nondet241#1;havoc main_#t~nondet241#1;main_#t~switch242#1 := 0 == main_~tmp___1~11#1; {46526#(= 1 ~ldv_mutex_mutex_of_device~0)} is VALID [2022-02-20 21:45:16,789 INFO L290 TraceCheckUtils]: 7: Hoare triple {46526#(= 1 ~ldv_mutex_mutex_of_device~0)} assume !main_#t~switch242#1;main_#t~switch242#1 := main_#t~switch242#1 || 1 == main_~tmp___1~11#1; {46526#(= 1 ~ldv_mutex_mutex_of_device~0)} is VALID [2022-02-20 21:45:16,790 INFO L290 TraceCheckUtils]: 8: Hoare triple {46526#(= 1 ~ldv_mutex_mutex_of_device~0)} assume main_#t~switch242#1; {46526#(= 1 ~ldv_mutex_mutex_of_device~0)} is VALID [2022-02-20 21:45:16,790 INFO L290 TraceCheckUtils]: 9: Hoare triple {46526#(= 1 ~ldv_mutex_mutex_of_device~0)} assume 1 == ~ldv_state_variable_0~0;assume { :begin_inline_pg_init } true;havoc pg_init_#res#1;havoc pg_init_#t~ret218#1, pg_init_#t~ret219#1, pg_init_#t~nondet220#1, pg_init_#t~mem221#1, pg_init_#t~mem222#1.base, pg_init_#t~mem222#1.offset, pg_init_#t~ret223#1.base, pg_init_#t~ret223#1.offset, pg_init_#t~ret224#1, pg_init_#t~ret225#1, pg_init_#t~mem226#1, pg_init_#t~nondet227#1.base, pg_init_#t~nondet227#1.offset, pg_init_~unit~3#1, pg_init_~err~1#1, pg_init_~tmp~16#1, pg_init_~dev~6#1.base, pg_init_~dev~6#1.offset, pg_init_~#__key~0#1.base, pg_init_~#__key~0#1.offset, pg_init_~tmp___0~11#1.base, pg_init_~tmp___0~11#1.offset, pg_init_~tmp___1~10#1, pg_init_~tmp___2~7#1, pg_init_~dev___0~0#1.base, pg_init_~dev___0~0#1.offset;havoc pg_init_~unit~3#1;havoc pg_init_~err~1#1;havoc pg_init_~tmp~16#1;havoc pg_init_~dev~6#1.base, pg_init_~dev~6#1.offset;call pg_init_~#__key~0#1.base, pg_init_~#__key~0#1.offset := #Ultimate.allocOnStack(8);havoc pg_init_~tmp___0~11#1.base, pg_init_~tmp___0~11#1.offset;havoc pg_init_~tmp___1~10#1;havoc pg_init_~tmp___2~7#1;havoc pg_init_~dev___0~0#1.base, pg_init_~dev___0~0#1.offset; {46526#(= 1 ~ldv_mutex_mutex_of_device~0)} is VALID [2022-02-20 21:45:16,790 INFO L290 TraceCheckUtils]: 10: Hoare triple {46526#(= 1 ~ldv_mutex_mutex_of_device~0)} assume !(0 != ~disable~0);assume { :begin_inline_pg_init_units } true;havoc pg_init_units_#t~mem92#1.base, pg_init_units_#t~mem92#1.offset, pg_init_units_#t~mem93#1, pg_init_units_#t~nondet94#1, pg_init_units_#t~mem95#1, pg_init_units_~unit~0#1, pg_init_units_~parm~0#1.base, pg_init_units_~parm~0#1.offset, pg_init_units_~dev~0#1.base, pg_init_units_~dev~0#1.offset;havoc pg_init_units_~unit~0#1;havoc pg_init_units_~parm~0#1.base, pg_init_units_~parm~0#1.offset;havoc pg_init_units_~dev~0#1.base, pg_init_units_~dev~0#1.offset;~pg_drive_count~0 := 0;pg_init_units_~unit~0#1 := 0; {46526#(= 1 ~ldv_mutex_mutex_of_device~0)} is VALID [2022-02-20 21:45:16,791 INFO L290 TraceCheckUtils]: 11: Hoare triple {46526#(= 1 ~ldv_mutex_mutex_of_device~0)} assume pg_init_units_~unit~0#1 <= 3; {46526#(= 1 ~ldv_mutex_mutex_of_device~0)} is VALID [2022-02-20 21:45:16,791 INFO L290 TraceCheckUtils]: 12: Hoare triple {46526#(= 1 ~ldv_mutex_mutex_of_device~0)} call pg_init_units_#t~mem92#1.base, pg_init_units_#t~mem92#1.offset := read~$Pointer$(~#drives~0.base, ~#drives~0.offset + 8 * pg_init_units_~unit~0#1, 8);pg_init_units_~parm~0#1.base, pg_init_units_~parm~0#1.offset := pg_init_units_#t~mem92#1.base, pg_init_units_#t~mem92#1.offset;havoc pg_init_units_#t~mem92#1.base, pg_init_units_#t~mem92#1.offset;pg_init_units_~dev~0#1.base, pg_init_units_~dev~0#1.offset := ~#devices~0.base, ~#devices~0.offset + 232 * (if pg_init_units_~unit~0#1 % 18446744073709551616 % 18446744073709551616 <= 9223372036854775807 then pg_init_units_~unit~0#1 % 18446744073709551616 % 18446744073709551616 else pg_init_units_~unit~0#1 % 18446744073709551616 % 18446744073709551616 - 18446744073709551616);call write~$Pointer$(pg_init_units_~dev~0#1.base, pg_init_units_~dev~0#1.offset, pg_init_units_~dev~0#1.base, 168 + pg_init_units_~dev~0#1.offset, 8); {46526#(= 1 ~ldv_mutex_mutex_of_device~0)} is VALID [2022-02-20 21:45:16,792 INFO L272 TraceCheckUtils]: 13: Hoare triple {46526#(= 1 ~ldv_mutex_mutex_of_device~0)} call clear_bit(0, pg_init_units_~dev~0#1.base, 204 + pg_init_units_~dev~0#1.offset); {46526#(= 1 ~ldv_mutex_mutex_of_device~0)} is VALID [2022-02-20 21:45:16,792 INFO L290 TraceCheckUtils]: 14: Hoare triple {46526#(= 1 ~ldv_mutex_mutex_of_device~0)} ~nr := #in~nr;~addr.base, ~addr.offset := #in~addr.base, #in~addr.offset; {46526#(= 1 ~ldv_mutex_mutex_of_device~0)} is VALID [2022-02-20 21:45:16,793 INFO L290 TraceCheckUtils]: 15: Hoare triple {46526#(= 1 ~ldv_mutex_mutex_of_device~0)} assume true; {46526#(= 1 ~ldv_mutex_mutex_of_device~0)} is VALID [2022-02-20 21:45:16,793 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {46526#(= 1 ~ldv_mutex_mutex_of_device~0)} {46526#(= 1 ~ldv_mutex_mutex_of_device~0)} #1242#return; {46526#(= 1 ~ldv_mutex_mutex_of_device~0)} is VALID [2022-02-20 21:45:16,794 INFO L290 TraceCheckUtils]: 17: Hoare triple {46526#(= 1 ~ldv_mutex_mutex_of_device~0)} call write~int(0, pg_init_units_~dev~0#1.base, 176 + pg_init_units_~dev~0#1.offset, 4);call write~int(0, pg_init_units_~dev~0#1.base, 212 + pg_init_units_~dev~0#1.offset, 4);call write~$Pointer$(0, 0, pg_init_units_~dev~0#1.base, 216 + pg_init_units_~dev~0#1.offset, 8);call pg_init_units_#t~mem93#1 := read~int(pg_init_units_~parm~0#1.base, 16 + pg_init_units_~parm~0#1.offset, 4);call write~int(pg_init_units_#t~mem93#1, pg_init_units_~dev~0#1.base, 200 + pg_init_units_~dev~0#1.offset, 4);havoc pg_init_units_#t~mem93#1;havoc pg_init_units_#t~nondet94#1;call pg_init_units_#t~mem95#1 := read~int(pg_init_units_~parm~0#1.base, pg_init_units_~parm~0#1.offset, 4); {46526#(= 1 ~ldv_mutex_mutex_of_device~0)} is VALID [2022-02-20 21:45:16,794 INFO L290 TraceCheckUtils]: 18: Hoare triple {46526#(= 1 ~ldv_mutex_mutex_of_device~0)} assume 0 != pg_init_units_#t~mem95#1;havoc pg_init_units_#t~mem95#1;~pg_drive_count~0 := 1 + ~pg_drive_count~0; {46526#(= 1 ~ldv_mutex_mutex_of_device~0)} is VALID [2022-02-20 21:45:16,795 INFO L290 TraceCheckUtils]: 19: Hoare triple {46526#(= 1 ~ldv_mutex_mutex_of_device~0)} pg_init_units_~unit~0#1 := 1 + pg_init_units_~unit~0#1; {46526#(= 1 ~ldv_mutex_mutex_of_device~0)} is VALID [2022-02-20 21:45:16,795 INFO L290 TraceCheckUtils]: 20: Hoare triple {46526#(= 1 ~ldv_mutex_mutex_of_device~0)} assume !(pg_init_units_~unit~0#1 <= 3); {46526#(= 1 ~ldv_mutex_mutex_of_device~0)} is VALID [2022-02-20 21:45:16,795 INFO L290 TraceCheckUtils]: 21: Hoare triple {46526#(= 1 ~ldv_mutex_mutex_of_device~0)} assume { :end_inline_pg_init_units } true;assume { :begin_inline_pg_detect } true;havoc pg_detect_#res#1;havoc pg_detect_#t~nondet158#1, pg_detect_#t~mem159#1.base, pg_detect_#t~mem159#1.offset, pg_detect_#t~ret160#1, pg_detect_#t~ret161#1, pg_detect_#t~mem162#1.base, pg_detect_#t~mem162#1.offset, pg_detect_#t~mem163#1.base, pg_detect_#t~mem163#1.offset, pg_detect_#t~mem164#1, pg_detect_#t~mem165#1.base, pg_detect_#t~mem165#1.offset, pg_detect_#t~mem166#1, pg_detect_#t~mem167#1, pg_detect_#t~mem168#1, pg_detect_#t~mem169#1, pg_detect_#t~mem170#1, pg_detect_#t~ret171#1, pg_detect_#t~ret172#1, pg_detect_#t~mem173#1.base, pg_detect_#t~mem173#1.offset, pg_detect_#t~nondet174#1, pg_detect_~dev~1#1.base, pg_detect_~dev~1#1.offset, pg_detect_~k~3#1, pg_detect_~unit~1#1, pg_detect_~tmp~12#1, pg_detect_~parm~1#1.base, pg_detect_~parm~1#1.offset, pg_detect_~tmp___0~7#1, pg_detect_~tmp___1~6#1, pg_detect_~tmp___2~5#1;havoc pg_detect_~dev~1#1.base, pg_detect_~dev~1#1.offset;havoc pg_detect_~k~3#1;havoc pg_detect_~unit~1#1;havoc pg_detect_~tmp~12#1;havoc pg_detect_~parm~1#1.base, pg_detect_~parm~1#1.offset;havoc pg_detect_~tmp___0~7#1;havoc pg_detect_~tmp___1~6#1;havoc pg_detect_~tmp___2~5#1;pg_detect_~dev~1#1.base, pg_detect_~dev~1#1.offset := ~#devices~0.base, ~#devices~0.offset;havoc pg_detect_#t~nondet158#1;pg_detect_~k~3#1 := 0; {46526#(= 1 ~ldv_mutex_mutex_of_device~0)} is VALID [2022-02-20 21:45:16,796 INFO L290 TraceCheckUtils]: 22: Hoare triple {46526#(= 1 ~ldv_mutex_mutex_of_device~0)} assume !(0 == ~pg_drive_count~0); {46526#(= 1 ~ldv_mutex_mutex_of_device~0)} is VALID [2022-02-20 21:45:16,796 INFO L290 TraceCheckUtils]: 23: Hoare triple {46526#(= 1 ~ldv_mutex_mutex_of_device~0)} assume !(0 != pg_detect_~k~3#1);havoc pg_detect_#t~nondet174#1;pg_detect_#res#1 := -1; {46526#(= 1 ~ldv_mutex_mutex_of_device~0)} is VALID [2022-02-20 21:45:16,796 INFO L290 TraceCheckUtils]: 24: Hoare triple {46526#(= 1 ~ldv_mutex_mutex_of_device~0)} pg_init_#t~ret218#1 := pg_detect_#res#1;assume { :end_inline_pg_detect } true;assume -2147483648 <= pg_init_#t~ret218#1 && pg_init_#t~ret218#1 <= 2147483647;pg_init_~tmp~16#1 := pg_init_#t~ret218#1;havoc pg_init_#t~ret218#1; {46526#(= 1 ~ldv_mutex_mutex_of_device~0)} is VALID [2022-02-20 21:45:16,797 INFO L290 TraceCheckUtils]: 25: Hoare triple {46526#(= 1 ~ldv_mutex_mutex_of_device~0)} assume 0 != pg_init_~tmp~16#1;pg_init_~err~1#1 := -19; {46526#(= 1 ~ldv_mutex_mutex_of_device~0)} is VALID [2022-02-20 21:45:16,797 INFO L290 TraceCheckUtils]: 26: Hoare triple {46526#(= 1 ~ldv_mutex_mutex_of_device~0)} pg_init_#res#1 := pg_init_~err~1#1;call ULTIMATE.dealloc(pg_init_~#__key~0#1.base, pg_init_~#__key~0#1.offset);havoc pg_init_~#__key~0#1.base, pg_init_~#__key~0#1.offset; {46526#(= 1 ~ldv_mutex_mutex_of_device~0)} is VALID [2022-02-20 21:45:16,797 INFO L290 TraceCheckUtils]: 27: Hoare triple {46526#(= 1 ~ldv_mutex_mutex_of_device~0)} main_#t~ret243#1 := pg_init_#res#1;assume { :end_inline_pg_init } true;assume -2147483648 <= main_#t~ret243#1 && main_#t~ret243#1 <= 2147483647;~ldv_retval_1~0 := main_#t~ret243#1;havoc main_#t~ret243#1; {46526#(= 1 ~ldv_mutex_mutex_of_device~0)} is VALID [2022-02-20 21:45:16,798 INFO L290 TraceCheckUtils]: 28: Hoare triple {46526#(= 1 ~ldv_mutex_mutex_of_device~0)} assume !(0 == ~ldv_retval_1~0); {46526#(= 1 ~ldv_mutex_mutex_of_device~0)} is VALID [2022-02-20 21:45:16,798 INFO L290 TraceCheckUtils]: 29: Hoare triple {46526#(= 1 ~ldv_mutex_mutex_of_device~0)} assume 0 != ~ldv_retval_1~0;~ldv_state_variable_0~0 := 2; {46526#(= 1 ~ldv_mutex_mutex_of_device~0)} is VALID [2022-02-20 21:45:16,798 INFO L290 TraceCheckUtils]: 30: Hoare triple {46526#(= 1 ~ldv_mutex_mutex_of_device~0)} assume { :begin_inline_ldv_check_final_state } true; {46526#(= 1 ~ldv_mutex_mutex_of_device~0)} is VALID [2022-02-20 21:45:16,799 INFO L290 TraceCheckUtils]: 31: Hoare triple {46526#(= 1 ~ldv_mutex_mutex_of_device~0)} assume 1 == ~ldv_mutex_cred_guard_mutex_of_signal_struct~0; {46526#(= 1 ~ldv_mutex_mutex_of_device~0)} is VALID [2022-02-20 21:45:16,799 INFO L290 TraceCheckUtils]: 32: Hoare triple {46526#(= 1 ~ldv_mutex_mutex_of_device~0)} assume 1 == ~ldv_mutex_lock~0; {46526#(= 1 ~ldv_mutex_mutex_of_device~0)} is VALID [2022-02-20 21:45:16,799 INFO L290 TraceCheckUtils]: 33: Hoare triple {46526#(= 1 ~ldv_mutex_mutex_of_device~0)} assume !(1 == ~ldv_mutex_mutex_of_device~0); {46514#false} is VALID [2022-02-20 21:45:16,799 INFO L272 TraceCheckUtils]: 34: Hoare triple {46514#false} call ldv_error(); {46514#false} is VALID [2022-02-20 21:45:16,800 INFO L290 TraceCheckUtils]: 35: Hoare triple {46514#false} assume !false; {46514#false} is VALID [2022-02-20 21:45:16,800 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 21:45:16,800 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 21:45:16,800 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [524803767] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 21:45:16,800 INFO L191 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-02-20 21:45:16,800 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [4] total 5 [2022-02-20 21:45:16,800 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [900297875] [2022-02-20 21:45:16,800 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 21:45:16,801 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 11.0) internal successors, (33), 3 states have internal predecessors, (33), 2 states have call successors, (2), 2 states have call predecessors, (2), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 36 [2022-02-20 21:45:16,801 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 21:45:16,801 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 11.0) internal successors, (33), 3 states have internal predecessors, (33), 2 states have call successors, (2), 2 states have call predecessors, (2), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 21:45:16,833 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 36 edges. 36 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 21:45:16,833 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-02-20 21:45:16,833 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 21:45:16,834 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-02-20 21:45:16,834 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2022-02-20 21:45:16,834 INFO L87 Difference]: Start difference. First operand 1114 states and 1522 transitions. Second operand has 3 states, 3 states have (on average 11.0) internal successors, (33), 3 states have internal predecessors, (33), 2 states have call successors, (2), 2 states have call predecessors, (2), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1)