./Ultimate.py --spec ../sv-benchmarks/c/properties/unreach-call.prp --file ../sv-benchmarks/c/ldv-commit-tester/m0_drivers-usb-gadget-g_printer-ko--106_1a--2b9ec6c-2.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-commit-tester/m0_drivers-usb-gadget-g_printer-ko--106_1a--2b9ec6c-2.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 275849fbaca37e76eea790df33e2de383489441cc01df773179ecf6c76094336 --- Real Ultimate output --- This is Ultimate 0.2.2-dev-03d7b7b [2022-02-20 21:37:06,245 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-02-20 21:37:06,247 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-02-20 21:37:06,284 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-02-20 21:37:06,286 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-02-20 21:37:06,288 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-02-20 21:37:06,290 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-02-20 21:37:06,291 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-02-20 21:37:06,293 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-02-20 21:37:06,294 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-02-20 21:37:06,294 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-02-20 21:37:06,296 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-02-20 21:37:06,296 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-02-20 21:37:06,301 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-02-20 21:37:06,302 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-02-20 21:37:06,303 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-02-20 21:37:06,306 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-02-20 21:37:06,308 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-02-20 21:37:06,309 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-02-20 21:37:06,310 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-02-20 21:37:06,314 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-02-20 21:37:06,315 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-02-20 21:37:06,315 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-02-20 21:37:06,316 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-02-20 21:37:06,318 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-02-20 21:37:06,319 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-02-20 21:37:06,320 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-02-20 21:37:06,320 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-02-20 21:37:06,321 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-02-20 21:37:06,322 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-02-20 21:37:06,322 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-02-20 21:37:06,322 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-02-20 21:37:06,323 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-02-20 21:37:06,324 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-02-20 21:37:06,325 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-02-20 21:37:06,325 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-02-20 21:37:06,326 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-02-20 21:37:06,326 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-02-20 21:37:06,326 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-02-20 21:37:06,327 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-02-20 21:37:06,327 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-02-20 21:37:06,328 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:37:06,349 INFO L113 SettingsManager]: Loading preferences was successful [2022-02-20 21:37:06,349 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-02-20 21:37:06,350 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-02-20 21:37:06,350 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-02-20 21:37:06,351 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-02-20 21:37:06,351 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-02-20 21:37:06,351 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-02-20 21:37:06,352 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-02-20 21:37:06,352 INFO L138 SettingsManager]: * Use SBE=true [2022-02-20 21:37:06,352 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-02-20 21:37:06,353 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-02-20 21:37:06,353 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-02-20 21:37:06,353 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-02-20 21:37:06,353 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-02-20 21:37:06,354 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-02-20 21:37:06,354 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-02-20 21:37:06,354 INFO L138 SettingsManager]: * Use constant arrays=true [2022-02-20 21:37:06,354 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-02-20 21:37:06,354 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-02-20 21:37:06,354 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-02-20 21:37:06,355 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-02-20 21:37:06,355 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 21:37:06,355 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-02-20 21:37:06,355 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-02-20 21:37:06,355 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-02-20 21:37:06,355 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-02-20 21:37:06,356 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-02-20 21:37:06,356 INFO L138 SettingsManager]: * Large block encoding in concurrent analysis=OFF [2022-02-20 21:37:06,356 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2022-02-20 21:37:06,356 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-02-20 21:37:06,356 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 -> 275849fbaca37e76eea790df33e2de383489441cc01df773179ecf6c76094336 [2022-02-20 21:37:06,565 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-02-20 21:37:06,585 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-02-20 21:37:06,587 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-02-20 21:37:06,588 INFO L271 PluginConnector]: Initializing CDTParser... [2022-02-20 21:37:06,589 INFO L275 PluginConnector]: CDTParser initialized [2022-02-20 21:37:06,590 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/ldv-commit-tester/m0_drivers-usb-gadget-g_printer-ko--106_1a--2b9ec6c-2.i [2022-02-20 21:37:06,632 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/f76195af9/d5085c82dcc642058e541553c95dcad8/FLAGb8fbfa837 [2022-02-20 21:37:07,169 INFO L306 CDTParser]: Found 1 translation units. [2022-02-20 21:37:07,170 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/ldv-commit-tester/m0_drivers-usb-gadget-g_printer-ko--106_1a--2b9ec6c-2.i [2022-02-20 21:37:07,194 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/f76195af9/d5085c82dcc642058e541553c95dcad8/FLAGb8fbfa837 [2022-02-20 21:37:07,442 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/f76195af9/d5085c82dcc642058e541553c95dcad8 [2022-02-20 21:37:07,448 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-02-20 21:37:07,450 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2022-02-20 21:37:07,451 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-02-20 21:37:07,451 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-02-20 21:37:07,454 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-02-20 21:37:07,455 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 09:37:07" (1/1) ... [2022-02-20 21:37:07,457 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@5ed14c8a and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 09:37:07, skipping insertion in model container [2022-02-20 21:37:07,457 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 09:37:07" (1/1) ... [2022-02-20 21:37:07,463 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-02-20 21:37:07,560 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-02-20 21:37:08,266 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-commit-tester/m0_drivers-usb-gadget-g_printer-ko--106_1a--2b9ec6c-2.i[158757,158770] [2022-02-20 21:37:08,291 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 21:37:08,329 INFO L203 MainTranslator]: Completed pre-run [2022-02-20 21:37:08,550 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-commit-tester/m0_drivers-usb-gadget-g_printer-ko--106_1a--2b9ec6c-2.i[158757,158770] [2022-02-20 21:37:08,565 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 21:37:08,611 INFO L208 MainTranslator]: Completed translation [2022-02-20 21:37:08,612 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 09:37:08 WrapperNode [2022-02-20 21:37:08,613 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-02-20 21:37:08,614 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2022-02-20 21:37:08,614 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2022-02-20 21:37:08,614 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2022-02-20 21:37:08,619 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:37:08" (1/1) ... [2022-02-20 21:37:08,670 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:37:08" (1/1) ... [2022-02-20 21:37:08,792 INFO L137 Inliner]: procedures = 191, calls = 1268, calls flagged for inlining = 83, calls inlined = 83, statements flattened = 3442 [2022-02-20 21:37:08,792 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2022-02-20 21:37:08,794 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-02-20 21:37:08,794 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-02-20 21:37:08,794 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-02-20 21:37:08,800 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 09:37:08" (1/1) ... [2022-02-20 21:37:08,800 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 09:37:08" (1/1) ... [2022-02-20 21:37:08,825 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 09:37:08" (1/1) ... [2022-02-20 21:37:08,826 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 09:37:08" (1/1) ... [2022-02-20 21:37:08,918 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 09:37:08" (1/1) ... [2022-02-20 21:37:08,939 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 09:37:08" (1/1) ... [2022-02-20 21:37:08,958 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 09:37:08" (1/1) ... [2022-02-20 21:37:08,982 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-02-20 21:37:08,983 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-02-20 21:37:08,983 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-02-20 21:37:08,984 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-02-20 21:37:08,985 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 09:37:08" (1/1) ... [2022-02-20 21:37:08,990 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 21:37:08,999 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 21:37:09,045 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:37:09,081 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:37:09,106 INFO L130 BoogieDeclarations]: Found specification of procedure printer_req_free [2022-02-20 21:37:09,107 INFO L138 BoogieDeclarations]: Found implementation of procedure printer_req_free [2022-02-20 21:37:09,107 INFO L130 BoogieDeclarations]: Found specification of procedure ##fun~$Pointer$~X~int~TO~int [2022-02-20 21:37:09,107 INFO L138 BoogieDeclarations]: Found implementation of procedure ##fun~$Pointer$~X~int~TO~int [2022-02-20 21:37:09,107 INFO L130 BoogieDeclarations]: Found specification of procedure list_empty [2022-02-20 21:37:09,108 INFO L138 BoogieDeclarations]: Found implementation of procedure list_empty [2022-02-20 21:37:09,108 INFO L130 BoogieDeclarations]: Found specification of procedure write~unchecked~int [2022-02-20 21:37:09,108 INFO L130 BoogieDeclarations]: Found specification of procedure read~unchecked~$Pointer$ [2022-02-20 21:37:09,108 INFO L130 BoogieDeclarations]: Found specification of procedure write~unchecked~$Pointer$ [2022-02-20 21:37:09,108 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-02-20 21:37:09,109 INFO L130 BoogieDeclarations]: Found specification of procedure get_gadget_data [2022-02-20 21:37:09,109 INFO L138 BoogieDeclarations]: Found implementation of procedure get_gadget_data [2022-02-20 21:37:09,109 INFO L130 BoogieDeclarations]: Found specification of procedure printer_poll [2022-02-20 21:37:09,109 INFO L138 BoogieDeclarations]: Found implementation of procedure printer_poll [2022-02-20 21:37:09,109 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.C_memcpy [2022-02-20 21:37:09,109 INFO L138 BoogieDeclarations]: Found implementation of procedure #Ultimate.C_memcpy [2022-02-20 21:37:09,109 INFO L130 BoogieDeclarations]: Found specification of procedure usb_ep_free_request [2022-02-20 21:37:09,110 INFO L138 BoogieDeclarations]: Found implementation of procedure usb_ep_free_request [2022-02-20 21:37:09,110 INFO L130 BoogieDeclarations]: Found specification of procedure printer_reset_interface [2022-02-20 21:37:09,110 INFO L138 BoogieDeclarations]: Found implementation of procedure printer_reset_interface [2022-02-20 21:37:09,110 INFO L130 BoogieDeclarations]: Found specification of procedure get_current [2022-02-20 21:37:09,110 INFO L138 BoogieDeclarations]: Found implementation of procedure get_current [2022-02-20 21:37:09,110 INFO L130 BoogieDeclarations]: Found specification of procedure ldv_malloc [2022-02-20 21:37:09,110 INFO L138 BoogieDeclarations]: Found implementation of procedure ldv_malloc [2022-02-20 21:37:09,111 INFO L130 BoogieDeclarations]: Found specification of procedure printer_soft_reset [2022-02-20 21:37:09,111 INFO L138 BoogieDeclarations]: Found implementation of procedure printer_soft_reset [2022-02-20 21:37:09,111 INFO L130 BoogieDeclarations]: Found specification of procedure ldv_nonpositive_int [2022-02-20 21:37:09,111 INFO L138 BoogieDeclarations]: Found implementation of procedure ldv_nonpositive_int [2022-02-20 21:37:09,111 INFO L130 BoogieDeclarations]: Found specification of procedure ldv_unregister_class [2022-02-20 21:37:09,111 INFO L138 BoogieDeclarations]: Found implementation of procedure ldv_unregister_class [2022-02-20 21:37:09,111 INFO L130 BoogieDeclarations]: Found specification of procedure list_del_init [2022-02-20 21:37:09,112 INFO L138 BoogieDeclarations]: Found implementation of procedure list_del_init [2022-02-20 21:37:09,112 INFO L130 BoogieDeclarations]: Found specification of procedure set_printer_interface [2022-02-20 21:37:09,112 INFO L138 BoogieDeclarations]: Found implementation of procedure set_printer_interface [2022-02-20 21:37:09,112 INFO L130 BoogieDeclarations]: Found specification of procedure setup_rx_reqs [2022-02-20 21:37:09,112 INFO L138 BoogieDeclarations]: Found implementation of procedure setup_rx_reqs [2022-02-20 21:37:09,112 INFO L130 BoogieDeclarations]: Found specification of procedure class_destroy [2022-02-20 21:37:09,112 INFO L138 BoogieDeclarations]: Found implementation of procedure class_destroy [2022-02-20 21:37:09,113 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-02-20 21:37:09,113 INFO L130 BoogieDeclarations]: Found specification of procedure mutex_unlock [2022-02-20 21:37:09,113 INFO L138 BoogieDeclarations]: Found implementation of procedure mutex_unlock [2022-02-20 21:37:09,113 INFO L130 BoogieDeclarations]: Found specification of procedure ldv_error [2022-02-20 21:37:09,113 INFO L138 BoogieDeclarations]: Found implementation of procedure ldv_error [2022-02-20 21:37:09,114 INFO L130 BoogieDeclarations]: Found specification of procedure usb_ep_queue [2022-02-20 21:37:09,114 INFO L138 BoogieDeclarations]: Found implementation of procedure usb_ep_queue [2022-02-20 21:37:09,114 INFO L130 BoogieDeclarations]: Found specification of procedure set_interface [2022-02-20 21:37:09,114 INFO L138 BoogieDeclarations]: Found implementation of procedure set_interface [2022-02-20 21:37:09,114 INFO L130 BoogieDeclarations]: Found specification of procedure printer_setup_complete [2022-02-20 21:37:09,115 INFO L138 BoogieDeclarations]: Found implementation of procedure printer_setup_complete [2022-02-20 21:37:09,115 INFO L130 BoogieDeclarations]: Found specification of procedure ldv_check_return_value [2022-02-20 21:37:09,115 INFO L138 BoogieDeclarations]: Found implementation of procedure ldv_check_return_value [2022-02-20 21:37:09,115 INFO L130 BoogieDeclarations]: Found specification of procedure ldv__builtin_expect [2022-02-20 21:37:09,115 INFO L138 BoogieDeclarations]: Found implementation of procedure ldv__builtin_expect [2022-02-20 21:37:09,115 INFO L130 BoogieDeclarations]: Found specification of procedure usb_gadget_vbus_draw [2022-02-20 21:37:09,115 INFO L138 BoogieDeclarations]: Found implementation of procedure usb_gadget_vbus_draw [2022-02-20 21:37:09,116 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnHeap [2022-02-20 21:37:09,116 INFO L130 BoogieDeclarations]: Found specification of procedure strrchr [2022-02-20 21:37:09,116 INFO L130 BoogieDeclarations]: Found specification of procedure printer_unbind [2022-02-20 21:37:09,117 INFO L138 BoogieDeclarations]: Found implementation of procedure printer_unbind [2022-02-20 21:37:09,117 INFO L130 BoogieDeclarations]: Found specification of procedure kmem_cache_alloc_notrace [2022-02-20 21:37:09,118 INFO L130 BoogieDeclarations]: Found specification of procedure spinlock_check [2022-02-20 21:37:09,118 INFO L138 BoogieDeclarations]: Found implementation of procedure spinlock_check [2022-02-20 21:37:09,118 INFO L130 BoogieDeclarations]: Found specification of procedure printer_close [2022-02-20 21:37:09,118 INFO L138 BoogieDeclarations]: Found implementation of procedure printer_close [2022-02-20 21:37:09,118 INFO L130 BoogieDeclarations]: Found specification of procedure __list_add [2022-02-20 21:37:09,118 INFO L138 BoogieDeclarations]: Found implementation of procedure __list_add [2022-02-20 21:37:09,118 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-02-20 21:37:09,119 INFO L130 BoogieDeclarations]: Found specification of procedure poll_wait [2022-02-20 21:37:09,119 INFO L138 BoogieDeclarations]: Found implementation of procedure poll_wait [2022-02-20 21:37:09,119 INFO L130 BoogieDeclarations]: Found specification of procedure printer_fsync [2022-02-20 21:37:09,119 INFO L138 BoogieDeclarations]: Found implementation of procedure printer_fsync [2022-02-20 21:37:09,119 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2022-02-20 21:37:09,120 INFO L130 BoogieDeclarations]: Found specification of procedure write~$Pointer$ [2022-02-20 21:37:09,120 INFO L130 BoogieDeclarations]: Found specification of procedure INIT_LIST_HEAD [2022-02-20 21:37:09,120 INFO L138 BoogieDeclarations]: Found implementation of procedure INIT_LIST_HEAD [2022-02-20 21:37:09,120 INFO L130 BoogieDeclarations]: Found specification of procedure __bad_percpu_size [2022-02-20 21:37:09,120 INFO L130 BoogieDeclarations]: Found specification of procedure init_utsname [2022-02-20 21:37:09,120 INFO L138 BoogieDeclarations]: Found implementation of procedure init_utsname [2022-02-20 21:37:09,120 INFO L130 BoogieDeclarations]: Found specification of procedure usb_ep_enable [2022-02-20 21:37:09,121 INFO L138 BoogieDeclarations]: Found implementation of procedure usb_ep_enable [2022-02-20 21:37:09,121 INFO L130 BoogieDeclarations]: Found specification of procedure read~$Pointer$ [2022-02-20 21:37:09,121 INFO L130 BoogieDeclarations]: Found specification of procedure rcu_read_lock_sched_notrace [2022-02-20 21:37:09,121 INFO L138 BoogieDeclarations]: Found implementation of procedure rcu_read_lock_sched_notrace [2022-02-20 21:37:09,121 INFO L130 BoogieDeclarations]: Found specification of procedure printer_open [2022-02-20 21:37:09,121 INFO L138 BoogieDeclarations]: Found implementation of procedure printer_open [2022-02-20 21:37:09,122 INFO L130 BoogieDeclarations]: Found specification of procedure printer_bind [2022-02-20 21:37:09,122 INFO L138 BoogieDeclarations]: Found implementation of procedure printer_bind [2022-02-20 21:37:09,122 INFO L130 BoogieDeclarations]: Found specification of procedure __wake_up [2022-02-20 21:37:09,122 INFO L138 BoogieDeclarations]: Found implementation of procedure __wake_up [2022-02-20 21:37:09,122 INFO L130 BoogieDeclarations]: Found specification of procedure strlcpy [2022-02-20 21:37:09,122 INFO L138 BoogieDeclarations]: Found implementation of procedure strlcpy [2022-02-20 21:37:09,123 INFO L130 BoogieDeclarations]: Found specification of procedure ldv_is_err [2022-02-20 21:37:09,123 INFO L138 BoogieDeclarations]: Found implementation of procedure ldv_is_err [2022-02-20 21:37:09,123 INFO L130 BoogieDeclarations]: Found specification of procedure signal_pending [2022-02-20 21:37:09,123 INFO L138 BoogieDeclarations]: Found implementation of procedure signal_pending [2022-02-20 21:37:09,123 INFO L130 BoogieDeclarations]: Found specification of procedure spin_unlock_irqrestore [2022-02-20 21:37:09,124 INFO L138 BoogieDeclarations]: Found implementation of procedure spin_unlock_irqrestore [2022-02-20 21:37:09,124 INFO L130 BoogieDeclarations]: Found specification of procedure list_add [2022-02-20 21:37:09,124 INFO L138 BoogieDeclarations]: Found implementation of procedure list_add [2022-02-20 21:37:09,124 INFO L130 BoogieDeclarations]: Found specification of procedure usb_ep_autoconfig [2022-02-20 21:37:09,125 INFO L138 BoogieDeclarations]: Found implementation of procedure usb_ep_autoconfig [2022-02-20 21:37:09,125 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-02-20 21:37:09,125 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~$Pointer$ [2022-02-20 21:37:09,126 INFO L130 BoogieDeclarations]: Found specification of procedure trace_kmalloc [2022-02-20 21:37:09,126 INFO L138 BoogieDeclarations]: Found implementation of procedure trace_kmalloc [2022-02-20 21:37:09,126 INFO L130 BoogieDeclarations]: Found specification of procedure might_fault [2022-02-20 21:37:09,126 INFO L138 BoogieDeclarations]: Found implementation of procedure might_fault [2022-02-20 21:37:09,126 INFO L130 BoogieDeclarations]: Found specification of procedure prepare_to_wait [2022-02-20 21:37:09,126 INFO L138 BoogieDeclarations]: Found implementation of procedure prepare_to_wait [2022-02-20 21:37:09,126 INFO L130 BoogieDeclarations]: Found specification of procedure warn_slowpath_null [2022-02-20 21:37:09,126 INFO L138 BoogieDeclarations]: Found implementation of procedure warn_slowpath_null [2022-02-20 21:37:09,127 INFO L130 BoogieDeclarations]: Found specification of procedure printer_setup [2022-02-20 21:37:09,127 INFO L138 BoogieDeclarations]: Found implementation of procedure printer_setup [2022-02-20 21:37:09,127 INFO L130 BoogieDeclarations]: Found specification of procedure list_del [2022-02-20 21:37:09,127 INFO L138 BoogieDeclarations]: Found implementation of procedure list_del [2022-02-20 21:37:09,127 INFO L130 BoogieDeclarations]: Found specification of procedure unregister_chrdev_region [2022-02-20 21:37:09,128 INFO L138 BoogieDeclarations]: Found implementation of procedure unregister_chrdev_region [2022-02-20 21:37:09,128 INFO L130 BoogieDeclarations]: Found specification of procedure kmalloc [2022-02-20 21:37:09,128 INFO L138 BoogieDeclarations]: Found implementation of procedure kmalloc [2022-02-20 21:37:09,129 INFO L130 BoogieDeclarations]: Found specification of procedure _raw_spin_lock_irqsave [2022-02-20 21:37:09,131 INFO L138 BoogieDeclarations]: Found implementation of procedure _raw_spin_lock_irqsave [2022-02-20 21:37:09,131 INFO L130 BoogieDeclarations]: Found specification of procedure set_gadget_data [2022-02-20 21:37:09,131 INFO L138 BoogieDeclarations]: Found implementation of procedure set_gadget_data [2022-02-20 21:37:09,131 INFO L130 BoogieDeclarations]: Found specification of procedure printer_req_alloc [2022-02-20 21:37:09,132 INFO L138 BoogieDeclarations]: Found implementation of procedure printer_req_alloc [2022-02-20 21:37:09,133 INFO L130 BoogieDeclarations]: Found specification of procedure ##fun~$Pointer$~X~$Pointer$~TO~int [2022-02-20 21:37:09,133 INFO L138 BoogieDeclarations]: Found implementation of procedure ##fun~$Pointer$~X~$Pointer$~TO~int [2022-02-20 21:37:09,133 INFO L130 BoogieDeclarations]: Found specification of procedure mutex_lock_nested [2022-02-20 21:37:09,133 INFO L138 BoogieDeclarations]: Found implementation of procedure mutex_lock_nested [2022-02-20 21:37:09,138 INFO L130 BoogieDeclarations]: Found specification of procedure usb_ep_disable [2022-02-20 21:37:09,138 INFO L138 BoogieDeclarations]: Found implementation of procedure usb_ep_disable [2022-02-20 21:37:09,138 INFO L130 BoogieDeclarations]: Found specification of procedure __init_waitqueue_head [2022-02-20 21:37:09,139 INFO L138 BoogieDeclarations]: Found implementation of procedure __init_waitqueue_head [2022-02-20 21:37:09,139 INFO L130 BoogieDeclarations]: Found specification of procedure ldv_unregister_chrdev_region [2022-02-20 21:37:09,139 INFO L138 BoogieDeclarations]: Found implementation of procedure ldv_unregister_chrdev_region [2022-02-20 21:37:09,139 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-02-20 21:37:09,139 INFO L130 BoogieDeclarations]: Found specification of procedure ldv_handler_precall [2022-02-20 21:37:09,139 INFO L138 BoogieDeclarations]: Found implementation of procedure ldv_handler_precall [2022-02-20 21:37:09,139 INFO L130 BoogieDeclarations]: Found specification of procedure schedule [2022-02-20 21:37:09,139 INFO L138 BoogieDeclarations]: Found implementation of procedure schedule [2022-02-20 21:37:09,140 INFO L130 BoogieDeclarations]: Found specification of procedure read~unchecked~int [2022-02-20 21:37:09,140 INFO L130 BoogieDeclarations]: Found specification of procedure _copy_from_user [2022-02-20 21:37:09,140 INFO L138 BoogieDeclarations]: Found implementation of procedure _copy_from_user [2022-02-20 21:37:09,140 INFO L130 BoogieDeclarations]: Found specification of procedure finish_wait [2022-02-20 21:37:09,140 INFO L138 BoogieDeclarations]: Found implementation of procedure finish_wait [2022-02-20 21:37:09,140 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-02-20 21:37:09,140 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-02-20 21:37:09,140 INFO L130 BoogieDeclarations]: Found specification of procedure IS_ERR [2022-02-20 21:37:09,141 INFO L138 BoogieDeclarations]: Found implementation of procedure IS_ERR [2022-02-20 21:37:09,695 INFO L234 CfgBuilder]: Building ICFG [2022-02-20 21:37:09,697 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-02-20 21:37:24,291 INFO L275 CfgBuilder]: Performing block encoding [2022-02-20 21:37:24,305 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-02-20 21:37:24,305 INFO L299 CfgBuilder]: Removed 0 assume(true) statements. [2022-02-20 21:37:24,307 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 09:37:24 BoogieIcfgContainer [2022-02-20 21:37:24,307 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-02-20 21:37:24,308 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-02-20 21:37:24,308 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-02-20 21:37:24,311 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-02-20 21:37:24,311 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 20.02 09:37:07" (1/3) ... [2022-02-20 21:37:24,312 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@3f71f96f and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 09:37:24, skipping insertion in model container [2022-02-20 21:37:24,312 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 09:37:08" (2/3) ... [2022-02-20 21:37:24,312 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@3f71f96f and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 09:37:24, skipping insertion in model container [2022-02-20 21:37:24,312 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 09:37:24" (3/3) ... [2022-02-20 21:37:24,313 INFO L111 eAbstractionObserver]: Analyzing ICFG m0_drivers-usb-gadget-g_printer-ko--106_1a--2b9ec6c-2.i [2022-02-20 21:37:24,317 INFO L205 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-02-20 21:37:24,317 INFO L164 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-02-20 21:37:24,354 INFO L338 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-02-20 21:37:24,361 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:37:24,361 INFO L340 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-02-20 21:37:24,400 INFO L276 IsEmpty]: Start isEmpty. Operand has 1278 states, 894 states have (on average 1.407158836689038) internal successors, (1258), 934 states have internal predecessors, (1258), 317 states have call successors, (317), 65 states have call predecessors, (317), 65 states have return successors, (317), 314 states have call predecessors, (317), 317 states have call successors, (317) [2022-02-20 21:37:24,403 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 18 [2022-02-20 21:37:24,403 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 21:37:24,404 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 21:37:24,404 INFO L402 AbstractCegarLoop]: === Iteration 1 === Targeting ldv_errorErr0ASSERT_VIOLATIONERROR_FUNCTION === [ldv_errorErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 21:37:24,408 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 21:37:24,408 INFO L85 PathProgramCache]: Analyzing trace with hash -1087819150, now seen corresponding path program 1 times [2022-02-20 21:37:24,414 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 21:37:24,415 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [105733167] [2022-02-20 21:37:24,415 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 21:37:24,416 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 21:37:24,816 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:37:24,968 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 3 [2022-02-20 21:37:24,974 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:37:24,993 INFO L290 TraceCheckUtils]: 0: Hoare triple {1281#true} assume true; {1281#true} is VALID [2022-02-20 21:37:24,994 INFO L284 TraceCheckUtils]: 1: Hoare quadruple {1281#true} {1283#(= ~ldv_usb_gadget~0 0)} #3317#return; {1283#(= ~ldv_usb_gadget~0 0)} is VALID [2022-02-20 21:37:25,008 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-02-20 21:37:25,015 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:37:25,022 INFO L290 TraceCheckUtils]: 0: Hoare triple {1290#(and (= |old(#length)| |#length|) (= |old(#valid)| |#valid|))} ~size#1 := #in~size#1;assume -2147483648 <= #t~nondet89#1 && #t~nondet89#1 <= 2147483647; {1281#true} is VALID [2022-02-20 21:37:25,023 INFO L290 TraceCheckUtils]: 1: Hoare triple {1281#true} assume !(0 != #t~nondet89#1);havoc #t~nondet89#1;#res#1.base, #res#1.offset := 0, 0; {1281#true} is VALID [2022-02-20 21:37:25,024 INFO L290 TraceCheckUtils]: 2: Hoare triple {1281#true} assume true; {1281#true} is VALID [2022-02-20 21:37:25,025 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1281#true} {1283#(= ~ldv_usb_gadget~0 0)} #3319#return; {1283#(= ~ldv_usb_gadget~0 0)} is VALID [2022-02-20 21:37:25,035 INFO L290 TraceCheckUtils]: 0: Hoare triple {1281#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(56, 2);call #Ultimate.allocInit(28, 3);call #Ultimate.allocInit(166, 4);call #Ultimate.allocInit(27, 5);call #Ultimate.allocInit(13, 6);call #Ultimate.allocInit(24, 7);call #Ultimate.allocInit(14, 8);call #Ultimate.allocInit(33, 9);call #Ultimate.allocInit(15, 10);call #Ultimate.allocInit(20, 11);call #Ultimate.allocInit(15, 12);call #Ultimate.allocInit(21, 13);call #Ultimate.allocInit(15, 14);call #Ultimate.allocInit(33, 15);call #Ultimate.allocInit(15, 16);call #Ultimate.allocInit(22, 17);call #Ultimate.allocInit(15, 18);call #Ultimate.allocInit(25, 19);call #Ultimate.allocInit(15, 20);call #Ultimate.allocInit(45, 21);call #Ultimate.allocInit(15, 22);call #Ultimate.allocInit(39, 23);call #Ultimate.allocInit(15, 24);call #Ultimate.allocInit(46, 25);call #Ultimate.allocInit(15, 26);call #Ultimate.allocInit(36, 27);call #Ultimate.allocInit(15, 28);call #Ultimate.allocInit(44, 29);call #Ultimate.allocInit(15, 30);call #Ultimate.allocInit(57, 31);call #Ultimate.allocInit(15, 32);call #Ultimate.allocInit(25, 33);call #Ultimate.allocInit(15, 34);call #Ultimate.allocInit(25, 35);call #Ultimate.allocInit(15, 36);call #Ultimate.allocInit(11, 37);call #Ultimate.allocInit(15, 38);call #Ultimate.allocInit(24, 39);call #Ultimate.allocInit(5, 40);call write~init~int(102, 40, 0, 1);call write~init~int(117, 40, 1, 1);call write~init~int(108, 40, 2, 1);call write~init~int(108, 40, 3, 1);call write~init~int(0, 40, 4, 1);call #Ultimate.allocInit(5, 41);call write~init~int(104, 41, 0, 1);call write~init~int(105, 41, 1, 1);call write~init~int(103, 41, 2, 1);call write~init~int(104, 41, 3, 1);call write~init~int(0, 41, 4, 1);call #Ultimate.allocInit(2, 42);call write~init~int(63, 42, 0, 1);call write~init~int(0, 42, 1, 1);call #Ultimate.allocInit(39, 43);call #Ultimate.allocInit(15, 44);call #Ultimate.allocInit(27, 45);call #Ultimate.allocInit(15, 46);call #Ultimate.allocInit(37, 47);call #Ultimate.allocInit(15, 48);call #Ultimate.allocInit(39, 49);call #Ultimate.allocInit(15, 50);call #Ultimate.allocInit(36, 51);call #Ultimate.allocInit(15, 52);call #Ultimate.allocInit(37, 53);call #Ultimate.allocInit(15, 54);call #Ultimate.allocInit(35, 55);call #Ultimate.allocInit(15, 56);call #Ultimate.allocInit(36, 57);call #Ultimate.allocInit(15, 58);call #Ultimate.allocInit(42, 59);call #Ultimate.allocInit(15, 60);call #Ultimate.allocInit(22, 61);call #Ultimate.allocInit(15, 62);call #Ultimate.allocInit(40, 63);call #Ultimate.allocInit(15, 64);call #Ultimate.allocInit(31, 65);call #Ultimate.allocInit(15, 66);call #Ultimate.allocInit(24, 67);call #Ultimate.allocInit(15, 68);call #Ultimate.allocInit(11, 69);call #Ultimate.allocInit(15, 70);call #Ultimate.allocInit(19, 71);call #Ultimate.allocInit(11, 72);call #Ultimate.allocInit(15, 73);call #Ultimate.allocInit(15, 74);call #Ultimate.allocInit(282, 75);call #Ultimate.allocInit(282, 76);call #Ultimate.allocInit(10, 77);call #Ultimate.allocInit(43, 78);call #Ultimate.allocInit(15, 79);call #Ultimate.allocInit(35, 80);call #Ultimate.allocInit(15, 81);call #Ultimate.allocInit(32, 82);call #Ultimate.allocInit(14, 83);call #Ultimate.allocInit(27, 84);call #Ultimate.allocInit(27, 85);call #Ultimate.allocInit(21, 86);call #Ultimate.allocInit(22, 87);call #Ultimate.allocInit(33, 88);call #Ultimate.allocInit(15, 89);call #Ultimate.allocInit(31, 90);call #Ultimate.allocInit(15, 91);call #Ultimate.allocInit(45, 92);call #Ultimate.allocInit(15, 93);call #Ultimate.allocInit(19, 94);call #Ultimate.allocInit(31, 95);call #Ultimate.allocInit(15, 96);call #Ultimate.allocInit(38, 97);call #Ultimate.allocInit(15, 98);call #Ultimate.allocInit(40, 99);call #Ultimate.allocInit(15, 100);~epnum~0 := 0;~#printer_mutex~0.base, ~#printer_mutex~0.offset := 101, 0;call #Ultimate.allocInit(136, 101);call write~init~int(1, ~#printer_mutex~0.base, ~#printer_mutex~0.offset, 4);call write~init~int(0, ~#printer_mutex~0.base, 4 + ~#printer_mutex~0.offset, 4);call write~init~int(3735899821, ~#printer_mutex~0.base, 8 + ~#printer_mutex~0.offset, 4);call write~init~int(4294967295, ~#printer_mutex~0.base, 12 + ~#printer_mutex~0.offset, 4);call write~init~$Pointer$(0, -1, ~#printer_mutex~0.base, 16 + ~#printer_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_mutex~0.base, 24 + ~#printer_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_mutex~0.base, 32 + ~#printer_mutex~0.offset, 8);call write~init~$Pointer$(7, 0, ~#printer_mutex~0.base, 40 + ~#printer_mutex~0.offset, 8);call write~init~int(0, ~#printer_mutex~0.base, 48 + ~#printer_mutex~0.offset, 4);call write~init~int(0, ~#printer_mutex~0.base, 52 + ~#printer_mutex~0.offset, 8);call write~init~$Pointer$(~#printer_mutex~0.base, 60 + ~#printer_mutex~0.offset, ~#printer_mutex~0.base, 60 + ~#printer_mutex~0.offset, 8);call write~init~$Pointer$(~#printer_mutex~0.base, 60 + ~#printer_mutex~0.offset, ~#printer_mutex~0.base, 68 + ~#printer_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_mutex~0.base, 76 + ~#printer_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_mutex~0.base, 84 + ~#printer_mutex~0.offset, 8);call write~init~$Pointer$(~#printer_mutex~0.base, ~#printer_mutex~0.offset, ~#printer_mutex~0.base, 92 + ~#printer_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_mutex~0.base, 100 + ~#printer_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_mutex~0.base, 108 + ~#printer_mutex~0.offset, 8);call write~init~$Pointer$(8, 0, ~#printer_mutex~0.base, 116 + ~#printer_mutex~0.offset, 8);call write~init~int(0, ~#printer_mutex~0.base, 124 + ~#printer_mutex~0.offset, 4);call write~init~int(0, ~#printer_mutex~0.base, 128 + ~#printer_mutex~0.offset, 8);~#shortname~0.base, ~#shortname~0.offset := 102, 0;call #Ultimate.allocInit(8, 102);call write~init~int(112, ~#shortname~0.base, ~#shortname~0.offset, 1);call write~init~int(114, ~#shortname~0.base, 1 + ~#shortname~0.offset, 1);call write~init~int(105, ~#shortname~0.base, 2 + ~#shortname~0.offset, 1);call write~init~int(110, ~#shortname~0.base, 3 + ~#shortname~0.offset, 1);call write~init~int(116, ~#shortname~0.base, 4 + ~#shortname~0.offset, 1);call write~init~int(101, ~#shortname~0.base, 5 + ~#shortname~0.offset, 1);call write~init~int(114, ~#shortname~0.base, 6 + ~#shortname~0.offset, 1);call write~init~int(0, ~#shortname~0.base, 7 + ~#shortname~0.offset, 1);~#driver_desc~0.base, ~#driver_desc~0.offset := 103, 0;call #Ultimate.allocInit(15, 103);call write~init~int(80, ~#driver_desc~0.base, ~#driver_desc~0.offset, 1);call write~init~int(114, ~#driver_desc~0.base, 1 + ~#driver_desc~0.offset, 1);call write~init~int(105, ~#driver_desc~0.base, 2 + ~#driver_desc~0.offset, 1);call write~init~int(110, ~#driver_desc~0.base, 3 + ~#driver_desc~0.offset, 1);call write~init~int(116, ~#driver_desc~0.base, 4 + ~#driver_desc~0.offset, 1);call write~init~int(101, ~#driver_desc~0.base, 5 + ~#driver_desc~0.offset, 1);call write~init~int(114, ~#driver_desc~0.base, 6 + ~#driver_desc~0.offset, 1);call write~init~int(32, ~#driver_desc~0.base, 7 + ~#driver_desc~0.offset, 1);call write~init~int(71, ~#driver_desc~0.base, 8 + ~#driver_desc~0.offset, 1);call write~init~int(97, ~#driver_desc~0.base, 9 + ~#driver_desc~0.offset, 1);call write~init~int(100, ~#driver_desc~0.base, 10 + ~#driver_desc~0.offset, 1);call write~init~int(103, ~#driver_desc~0.base, 11 + ~#driver_desc~0.offset, 1);call write~init~int(101, ~#driver_desc~0.base, 12 + ~#driver_desc~0.offset, 1);call write~init~int(116, ~#driver_desc~0.base, 13 + ~#driver_desc~0.offset, 1);call write~init~int(0, ~#driver_desc~0.base, 14 + ~#driver_desc~0.offset, 1);~#g_printer_devno~0.base, ~#g_printer_devno~0.offset := 104, 0;call #Ultimate.allocInit(4, 104);call write~init~int(0, ~#g_printer_devno~0.base, ~#g_printer_devno~0.offset, 4);~usb_gadget_class~0.base, ~usb_gadget_class~0.offset := 0, 0;~#usb_printer_gadget~0.base, ~#usb_printer_gadget~0.offset := 105, 0;call #Ultimate.allocInit(750, 105);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#usb_printer_gadget~0.base);#memory_$Pointer$.base, #memory_$Pointer$.offset := ~initToZeroAtPointerBaseAddress~$Pointer$.base(#memory_$Pointer$.base, #memory_$Pointer$.offset, ~#usb_printer_gadget~0.base), ~initToZeroAtPointerBaseAddress~$Pointer$.offset(#memory_$Pointer$.base, #memory_$Pointer$.offset, ~#usb_printer_gadget~0.base);~idVendor~0 := 0;~idProduct~0 := 0;~bcdDevice~0 := 0;~iManufacturer~0.base, ~iManufacturer~0.offset := 0, 0;~iProduct~0.base, ~iProduct~0.offset := 0, 0;~iSerialNum~0.base, ~iSerialNum~0.offset := 0, 0;~iPNPstring~0.base, ~iPNPstring~0.offset := 0, 0;~qlen~0 := 10;~#device_desc~0.base, ~#device_desc~0.offset := 106, 0;call #Ultimate.allocInit(18, 106);call write~init~int(18, ~#device_desc~0.base, ~#device_desc~0.offset, 1);call write~init~int(1, ~#device_desc~0.base, 1 + ~#device_desc~0.offset, 1);call write~init~int(512, ~#device_desc~0.base, 2 + ~#device_desc~0.offset, 2);call write~init~int(0, ~#device_desc~0.base, 4 + ~#device_desc~0.offset, 1);call write~init~int(0, ~#device_desc~0.base, 5 + ~#device_desc~0.offset, 1);call write~init~int(0, ~#device_desc~0.base, 6 + ~#device_desc~0.offset, 1);call write~init~int(0, ~#device_desc~0.base, 7 + ~#device_desc~0.offset, 1);call write~init~int(1317, ~#device_desc~0.base, 8 + ~#device_desc~0.offset, 2);call write~init~int(42152, ~#device_desc~0.base, 10 + ~#device_desc~0.offset, 2);call write~init~int(0, ~#device_desc~0.base, 12 + ~#device_desc~0.offset, 2);call write~init~int(1, ~#device_desc~0.base, 14 + ~#device_desc~0.offset, 1);call write~init~int(2, ~#device_desc~0.base, 15 + ~#device_desc~0.offset, 1);call write~init~int(3, ~#device_desc~0.base, 16 + ~#device_desc~0.offset, 1);call write~init~int(1, ~#device_desc~0.base, 17 + ~#device_desc~0.offset, 1);~#otg_desc~0.base, ~#otg_desc~0.offset := 107, 0;call #Ultimate.allocInit(3, 107);call write~init~int(3, ~#otg_desc~0.base, ~#otg_desc~0.offset, 1);call write~init~int(9, ~#otg_desc~0.base, 1 + ~#otg_desc~0.offset, 1);call write~init~int(1, ~#otg_desc~0.base, 2 + ~#otg_desc~0.offset, 1);~#config_desc~0.base, ~#config_desc~0.offset := 108, 0;call #Ultimate.allocInit(9, 108);call write~init~int(9, ~#config_desc~0.base, ~#config_desc~0.offset, 1);call write~init~int(2, ~#config_desc~0.base, 1 + ~#config_desc~0.offset, 1);call write~init~int(0, ~#config_desc~0.base, 2 + ~#config_desc~0.offset, 2);call write~init~int(1, ~#config_desc~0.base, 4 + ~#config_desc~0.offset, 1);call write~init~int(1, ~#config_desc~0.base, 5 + ~#config_desc~0.offset, 1);call write~init~int(0, ~#config_desc~0.base, 6 + ~#config_desc~0.offset, 1);call write~init~int(192, ~#config_desc~0.base, 7 + ~#config_desc~0.offset, 1);call write~init~int(1, ~#config_desc~0.base, 8 + ~#config_desc~0.offset, 1);~#intf_desc~0.base, ~#intf_desc~0.offset := 109, 0;call #Ultimate.allocInit(9, 109);call write~init~int(9, ~#intf_desc~0.base, ~#intf_desc~0.offset, 1);call write~init~int(4, ~#intf_desc~0.base, 1 + ~#intf_desc~0.offset, 1);call write~init~int(0, ~#intf_desc~0.base, 2 + ~#intf_desc~0.offset, 1);call write~init~int(0, ~#intf_desc~0.base, 3 + ~#intf_desc~0.offset, 1);call write~init~int(2, ~#intf_desc~0.base, 4 + ~#intf_desc~0.offset, 1);call write~init~int(7, ~#intf_desc~0.base, 5 + ~#intf_desc~0.offset, 1);call write~init~int(1, ~#intf_desc~0.base, 6 + ~#intf_desc~0.offset, 1);call write~init~int(2, ~#intf_desc~0.base, 7 + ~#intf_desc~0.offset, 1);call write~init~int(0, ~#intf_desc~0.base, 8 + ~#intf_desc~0.offset, 1);~#fs_ep_in_desc~0.base, ~#fs_ep_in_desc~0.offset := 110, 0;call #Ultimate.allocInit(9, 110);call write~init~int(7, ~#fs_ep_in_desc~0.base, ~#fs_ep_in_desc~0.offset, 1);call write~init~int(5, ~#fs_ep_in_desc~0.base, 1 + ~#fs_ep_in_desc~0.offset, 1);call write~init~int(128, ~#fs_ep_in_desc~0.base, 2 + ~#fs_ep_in_desc~0.offset, 1);call write~init~int(2, ~#fs_ep_in_desc~0.base, 3 + ~#fs_ep_in_desc~0.offset, 1);call write~init~int(0, ~#fs_ep_in_desc~0.base, 4 + ~#fs_ep_in_desc~0.offset, 2);call write~init~int(0, ~#fs_ep_in_desc~0.base, 6 + ~#fs_ep_in_desc~0.offset, 1);call write~init~int(0, ~#fs_ep_in_desc~0.base, 7 + ~#fs_ep_in_desc~0.offset, 1);call write~init~int(0, ~#fs_ep_in_desc~0.base, 8 + ~#fs_ep_in_desc~0.offset, 1);~#fs_ep_out_desc~0.base, ~#fs_ep_out_desc~0.offset := 111, 0;call #Ultimate.allocInit(9, 111);call write~init~int(7, ~#fs_ep_out_desc~0.base, ~#fs_ep_out_desc~0.offset, 1);call write~init~int(5, ~#fs_ep_out_desc~0.base, 1 + ~#fs_ep_out_desc~0.offset, 1);call write~init~int(0, ~#fs_ep_out_desc~0.base, 2 + ~#fs_ep_out_desc~0.offset, 1);call write~init~int(2, ~#fs_ep_out_desc~0.base, 3 + ~#fs_ep_out_desc~0.offset, 1);call write~init~int(0, ~#fs_ep_out_desc~0.base, 4 + ~#fs_ep_out_desc~0.offset, 2);call write~init~int(0, ~#fs_ep_out_desc~0.base, 6 + ~#fs_ep_out_desc~0.offset, 1);call write~init~int(0, ~#fs_ep_out_desc~0.base, 7 + ~#fs_ep_out_desc~0.offset, 1);call write~init~int(0, ~#fs_ep_out_desc~0.base, 8 + ~#fs_ep_out_desc~0.offset, 1);~#fs_printer_function~0.base, ~#fs_printer_function~0.offset := 112, 0;call #Ultimate.allocInit(88, 112);#memory_$Pointer$.base, #memory_$Pointer$.offset := ~initToZeroAtPointerBaseAddress~$Pointer$.base(#memory_$Pointer$.base, #memory_$Pointer$.offset, ~#fs_printer_function~0.base), ~initToZeroAtPointerBaseAddress~$Pointer$.offset(#memory_$Pointer$.base, #memory_$Pointer$.offset, ~#fs_printer_function~0.base);call write~unchecked~$Pointer$(~#otg_desc~0.base, ~#otg_desc~0.offset, ~#fs_printer_function~0.base, ~#fs_printer_function~0.offset, 8);call write~unchecked~$Pointer$(~#intf_desc~0.base, ~#intf_desc~0.offset, ~#fs_printer_function~0.base, 8 + ~#fs_printer_function~0.offset, 8);call write~unchecked~$Pointer$(~#fs_ep_in_desc~0.base, ~#fs_ep_in_desc~0.offset, ~#fs_printer_function~0.base, 16 + ~#fs_printer_function~0.offset, 8);call write~unchecked~$Pointer$(~#fs_ep_out_desc~0.base, ~#fs_ep_out_desc~0.offset, ~#fs_printer_function~0.base, 24 + ~#fs_printer_function~0.offset, 8);call write~unchecked~$Pointer$(0, 0, ~#fs_printer_function~0.base, 32 + ~#fs_printer_function~0.offset, 8);~#hs_ep_in_desc~0.base, ~#hs_ep_in_desc~0.offset := 113, 0;call #Ultimate.allocInit(9, 113);call write~init~int(7, ~#hs_ep_in_desc~0.base, ~#hs_ep_in_desc~0.offset, 1);call write~init~int(5, ~#hs_ep_in_desc~0.base, 1 + ~#hs_ep_in_desc~0.offset, 1);call write~init~int(0, ~#hs_ep_in_desc~0.base, 2 + ~#hs_ep_in_desc~0.offset, 1);call write~init~int(2, ~#hs_ep_in_desc~0.base, 3 + ~#hs_ep_in_desc~0.offset, 1);call write~init~int(512, ~#hs_ep_in_desc~0.base, 4 + ~#hs_ep_in_desc~0.offset, 2);call write~init~int(0, ~#hs_ep_in_desc~0.base, 6 + ~#hs_ep_in_desc~0.offset, 1);call write~init~int(0, ~#hs_ep_in_desc~0.base, 7 + ~#hs_ep_in_desc~0.offset, 1);call write~init~int(0, ~#hs_ep_in_desc~0.base, 8 + ~#hs_ep_in_desc~0.offset, 1);~#hs_ep_out_desc~0.base, ~#hs_ep_out_desc~0.offset := 114, 0;call #Ultimate.allocInit(9, 114);call write~init~int(7, ~#hs_ep_out_desc~0.base, ~#hs_ep_out_desc~0.offset, 1);call write~init~int(5, ~#hs_ep_out_desc~0.base, 1 + ~#hs_ep_out_desc~0.offset, 1);call write~init~int(0, ~#hs_ep_out_desc~0.base, 2 + ~#hs_ep_out_desc~0.offset, 1);call write~init~int(2, ~#hs_ep_out_desc~0.base, 3 + ~#hs_ep_out_desc~0.offset, 1);call write~init~int(512, ~#hs_ep_out_desc~0.base, 4 + ~#hs_ep_out_desc~0.offset, 2);call write~init~int(0, ~#hs_ep_out_desc~0.base, 6 + ~#hs_ep_out_desc~0.offset, 1);call write~init~int(0, ~#hs_ep_out_desc~0.base, 7 + ~#hs_ep_out_desc~0.offset, 1);call write~init~int(0, ~#hs_ep_out_desc~0.base, 8 + ~#hs_ep_out_desc~0.offset, 1);~#dev_qualifier~0.base, ~#dev_qualifier~0.offset := 115, 0;call #Ultimate.allocInit(10, 115);call write~init~int(10, ~#dev_qualifier~0.base, ~#dev_qualifier~0.offset, 1);call write~init~int(6, ~#dev_qualifier~0.base, 1 + ~#dev_qualifier~0.offset, 1);call write~init~int(512, ~#dev_qualifier~0.base, 2 + ~#dev_qualifier~0.offset, 2);call write~init~int(7, ~#dev_qualifier~0.base, 4 + ~#dev_qualifier~0.offset, 1);call write~init~int(0, ~#dev_qualifier~0.base, 5 + ~#dev_qualifier~0.offset, 1);call write~init~int(0, ~#dev_qualifier~0.base, 6 + ~#dev_qualifier~0.offset, 1);call write~init~int(0, ~#dev_qualifier~0.base, 7 + ~#dev_qualifier~0.offset, 1);call write~init~int(1, ~#dev_qualifier~0.base, 8 + ~#dev_qualifier~0.offset, 1);call write~init~int(0, ~#dev_qualifier~0.base, 9 + ~#dev_qualifier~0.offset, 1);~#hs_printer_function~0.base, ~#hs_printer_function~0.offset := 116, 0;call #Ultimate.allocInit(88, 116);#memory_$Pointer$.base, #memory_$Pointer$.offset := ~initToZeroAtPointerBaseAddress~$Pointer$.base(#memory_$Pointer$.base, #memory_$Pointer$.offset, ~#hs_printer_function~0.base), ~initToZeroAtPointerBaseAddress~$Pointer$.offset(#memory_$Pointer$.base, #memory_$Pointer$.offset, ~#hs_printer_function~0.base);call write~unchecked~$Pointer$(~#otg_desc~0.base, ~#otg_desc~0.offset, ~#hs_printer_function~0.base, ~#hs_printer_function~0.offset, 8);call write~unchecked~$Pointer$(~#intf_desc~0.base, ~#intf_desc~0.offset, ~#hs_printer_function~0.base, 8 + ~#hs_printer_function~0.offset, 8);call write~unchecked~$Pointer$(~#hs_ep_in_desc~0.base, ~#hs_ep_in_desc~0.offset, ~#hs_printer_function~0.base, 16 + ~#hs_printer_function~0.offset, 8);call write~unchecked~$Pointer$(~#hs_ep_out_desc~0.base, ~#hs_ep_out_desc~0.offset, ~#hs_printer_function~0.base, 24 + ~#hs_printer_function~0.offset, 8);call write~unchecked~$Pointer$(0, 0, ~#hs_printer_function~0.base, 32 + ~#hs_printer_function~0.offset, 8);~#manufacturer~0.base, ~#manufacturer~0.offset := 117, 0;call #Ultimate.allocInit(50, 117);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#manufacturer~0.base);~#product_desc~0.base, ~#product_desc~0.offset := 118, 0;call #Ultimate.allocInit(40, 118);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#product_desc~0.base);call write~unchecked~int(80, ~#product_desc~0.base, ~#product_desc~0.offset, 1);call write~unchecked~int(114, ~#product_desc~0.base, 1 + ~#product_desc~0.offset, 1);call write~unchecked~int(105, ~#product_desc~0.base, 2 + ~#product_desc~0.offset, 1);call write~unchecked~int(110, ~#product_desc~0.base, 3 + ~#product_desc~0.offset, 1);call write~unchecked~int(116, ~#product_desc~0.base, 4 + ~#product_desc~0.offset, 1);call write~unchecked~int(101, ~#product_desc~0.base, 5 + ~#product_desc~0.offset, 1);call write~unchecked~int(114, ~#product_desc~0.base, 6 + ~#product_desc~0.offset, 1);call write~unchecked~int(32, ~#product_desc~0.base, 7 + ~#product_desc~0.offset, 1);call write~unchecked~int(71, ~#product_desc~0.base, 8 + ~#product_desc~0.offset, 1);call write~unchecked~int(97, ~#product_desc~0.base, 9 + ~#product_desc~0.offset, 1);call write~unchecked~int(100, ~#product_desc~0.base, 10 + ~#product_desc~0.offset, 1);call write~unchecked~int(103, ~#product_desc~0.base, 11 + ~#product_desc~0.offset, 1);call write~unchecked~int(101, ~#product_desc~0.base, 12 + ~#product_desc~0.offset, 1);call write~unchecked~int(116, ~#product_desc~0.base, 13 + ~#product_desc~0.offset, 1);call write~unchecked~int(0, ~#product_desc~0.base, 14 + ~#product_desc~0.offset, 1);~#serial_num~0.base, ~#serial_num~0.offset := 119, 0;call #Ultimate.allocInit(40, 119);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#serial_num~0.base);call write~unchecked~int(49, ~#serial_num~0.base, ~#serial_num~0.offset, 1);call write~unchecked~int(0, ~#serial_num~0.base, 1 + ~#serial_num~0.offset, 1);~#pnp_string~0.base, ~#pnp_string~0.offset := 120, 0;call #Ultimate.allocInit(1024, 120);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#pnp_string~0.base);call write~unchecked~int(88, ~#pnp_string~0.base, ~#pnp_string~0.offset, 1);call write~unchecked~int(88, ~#pnp_string~0.base, 1 + ~#pnp_string~0.offset, 1);call write~unchecked~int(77, ~#pnp_string~0.base, 2 + ~#pnp_string~0.offset, 1);call write~unchecked~int(70, ~#pnp_string~0.base, 3 + ~#pnp_string~0.offset, 1);call write~unchecked~int(71, ~#pnp_string~0.base, 4 + ~#pnp_string~0.offset, 1);call write~unchecked~int(58, ~#pnp_string~0.base, 5 + ~#pnp_string~0.offset, 1);call write~unchecked~int(108, ~#pnp_string~0.base, 6 + ~#pnp_string~0.offset, 1);call write~unchecked~int(105, ~#pnp_string~0.base, 7 + ~#pnp_string~0.offset, 1);call write~unchecked~int(110, ~#pnp_string~0.base, 8 + ~#pnp_string~0.offset, 1);call write~unchecked~int(117, ~#pnp_string~0.base, 9 + ~#pnp_string~0.offset, 1);call write~unchecked~int(120, ~#pnp_string~0.base, 10 + ~#pnp_string~0.offset, 1);call write~unchecked~int(59, ~#pnp_string~0.base, 11 + ~#pnp_string~0.offset, 1);call write~unchecked~int(77, ~#pnp_string~0.base, 12 + ~#pnp_string~0.offset, 1);call write~unchecked~int(68, ~#pnp_string~0.base, 13 + ~#pnp_string~0.offset, 1);call write~unchecked~int(76, ~#pnp_string~0.base, 14 + ~#pnp_string~0.offset, 1);call write~unchecked~int(58, ~#pnp_string~0.base, 15 + ~#pnp_string~0.offset, 1);call write~unchecked~int(103, ~#pnp_string~0.base, 16 + ~#pnp_string~0.offset, 1);call write~unchecked~int(95, ~#pnp_string~0.base, 17 + ~#pnp_string~0.offset, 1);call write~unchecked~int(112, ~#pnp_string~0.base, 18 + ~#pnp_string~0.offset, 1);call write~unchecked~int(114, ~#pnp_string~0.base, 19 + ~#pnp_string~0.offset, 1);call write~unchecked~int(105, ~#pnp_string~0.base, 20 + ~#pnp_string~0.offset, 1);call write~unchecked~int(110, ~#pnp_string~0.base, 21 + ~#pnp_string~0.offset, 1);call write~unchecked~int(116, ~#pnp_string~0.base, 22 + ~#pnp_string~0.offset, 1);call write~unchecked~int(101, ~#pnp_string~0.base, 23 + ~#pnp_string~0.offset, 1);call write~unchecked~int(114, ~#pnp_string~0.base, 24 + ~#pnp_string~0.offset, 1);call write~unchecked~int(59, ~#pnp_string~0.base, 25 + ~#pnp_string~0.offset, 1);call write~unchecked~int(67, ~#pnp_string~0.base, 26 + ~#pnp_string~0.offset, 1);call write~unchecked~int(76, ~#pnp_string~0.base, 27 + ~#pnp_string~0.offset, 1);call write~unchecked~int(83, ~#pnp_string~0.base, 28 + ~#pnp_string~0.offset, 1);call write~unchecked~int(58, ~#pnp_string~0.base, 29 + ~#pnp_string~0.offset, 1);call write~unchecked~int(80, ~#pnp_string~0.base, 30 + ~#pnp_string~0.offset, 1);call write~unchecked~int(82, ~#pnp_string~0.base, 31 + ~#pnp_string~0.offset, 1);call write~unchecked~int(73, ~#pnp_string~0.base, 32 + ~#pnp_string~0.offset, 1);call write~unchecked~int(78, ~#pnp_string~0.base, 33 + ~#pnp_string~0.offset, 1);call write~unchecked~int(84, ~#pnp_string~0.base, 34 + ~#pnp_string~0.offset, 1);call write~unchecked~int(69, ~#pnp_string~0.base, 35 + ~#pnp_string~0.offset, 1);call write~unchecked~int(82, ~#pnp_string~0.base, 36 + ~#pnp_string~0.offset, 1);call write~unchecked~int(59, ~#pnp_string~0.base, 37 + ~#pnp_string~0.offset, 1);call write~unchecked~int(83, ~#pnp_string~0.base, 38 + ~#pnp_string~0.offset, 1);call write~unchecked~int(78, ~#pnp_string~0.base, 39 + ~#pnp_string~0.offset, 1);call write~unchecked~int(58, ~#pnp_string~0.base, 40 + ~#pnp_string~0.offset, 1);call write~unchecked~int(49, ~#pnp_string~0.base, 41 + ~#pnp_string~0.offset, 1);call write~unchecked~int(59, ~#pnp_string~0.base, 42 + ~#pnp_string~0.offset, 1);call write~unchecked~int(0, ~#pnp_string~0.base, 43 + ~#pnp_string~0.offset, 1);~#strings~0.base, ~#strings~0.offset := 121, 0;call #Ultimate.allocInit(36, 121);call write~init~int(1, ~#strings~0.base, ~#strings~0.offset, 1);call write~init~$Pointer$(~#manufacturer~0.base, ~#manufacturer~0.offset, ~#strings~0.base, 1 + ~#strings~0.offset, 8);call write~init~int(2, ~#strings~0.base, 9 + ~#strings~0.offset, 1);call write~init~$Pointer$(~#product_desc~0.base, ~#product_desc~0.offset, ~#strings~0.base, 10 + ~#strings~0.offset, 8);call write~init~int(3, ~#strings~0.base, 18 + ~#strings~0.offset, 1);call write~init~$Pointer$(~#serial_num~0.base, ~#serial_num~0.offset, ~#strings~0.base, 19 + ~#strings~0.offset, 8);call write~init~int(0, ~#strings~0.base, 27 + ~#strings~0.offset, 1);call write~init~$Pointer$(0, 0, ~#strings~0.base, 28 + ~#strings~0.offset, 8);~#stringtab~0.base, ~#stringtab~0.offset := 122, 0;call #Ultimate.allocInit(10, 122);call write~init~int(1033, ~#stringtab~0.base, ~#stringtab~0.offset, 2);call write~init~$Pointer$(~#strings~0.base, ~#strings~0.offset, ~#stringtab~0.base, 2 + ~#stringtab~0.offset, 8);~#printer_io_operations~0.base, ~#printer_io_operations~0.offset := 123, 0;call #Ultimate.allocInit(200, 123);call write~init~$Pointer$(~#__this_module~0.base, ~#__this_module~0.offset, ~#printer_io_operations~0.base, ~#printer_io_operations~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_io_operations~0.base, 8 + ~#printer_io_operations~0.offset, 8);call write~init~$Pointer$(#funAddr~printer_read.base, #funAddr~printer_read.offset, ~#printer_io_operations~0.base, 16 + ~#printer_io_operations~0.offset, 8);call write~init~$Pointer$(#funAddr~printer_write.base, #funAddr~printer_write.offset, ~#printer_io_operations~0.base, 24 + ~#printer_io_operations~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_io_operations~0.base, 32 + ~#printer_io_operations~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_io_operations~0.base, 40 + ~#printer_io_operations~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_io_operations~0.base, 48 + ~#printer_io_operations~0.offset, 8);call write~init~$Pointer$(#funAddr~printer_poll.base, #funAddr~printer_poll.offset, ~#printer_io_operations~0.base, 56 + ~#printer_io_operations~0.offset, 8);call write~init~$Pointer$(#funAddr~printer_ioctl.base, #funAddr~printer_ioctl.offset, ~#printer_io_operations~0.base, 64 + ~#printer_io_operations~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_io_operations~0.base, 72 + ~#printer_io_operations~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_io_operations~0.base, 80 + ~#printer_io_operations~0.offset, 8);call write~init~$Pointer$(#funAddr~printer_open.base, #funAddr~printer_open.offset, ~#printer_io_operations~0.base, 88 + ~#printer_io_operations~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_io_operations~0.base, 96 + ~#printer_io_operations~0.offset, 8);call write~init~$Pointer$(#funAddr~printer_close.base, #funAddr~printer_close.offset, ~#printer_io_operations~0.base, 104 + ~#printer_io_operations~0.offset, 8);call write~init~$Pointer$(#funAddr~printer_fsync.base, #funAddr~printer_fsync.offset, ~#printer_io_operations~0.base, 112 + ~#printer_io_operations~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_io_operations~0.base, 120 + ~#printer_io_operations~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_io_operations~0.base, 128 + ~#printer_io_operations~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_io_operations~0.base, 136 + ~#printer_io_operations~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_io_operations~0.base, 144 + ~#printer_io_operations~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_io_operations~0.base, 152 + ~#printer_io_operations~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_io_operations~0.base, 160 + ~#printer_io_operations~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_io_operations~0.base, 168 + ~#printer_io_operations~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_io_operations~0.base, 176 + ~#printer_io_operations~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_io_operations~0.base, 184 + ~#printer_io_operations~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_io_operations~0.base, 192 + ~#printer_io_operations~0.offset, 8);~#printer_driver~0.base, ~#printer_driver~0.offset := 124, 0;call #Ultimate.allocInit(157, 124);call write~init~$Pointer$(~#driver_desc~0.base, ~#driver_desc~0.offset, ~#printer_driver~0.base, ~#printer_driver~0.offset, 8);call write~init~int(3, ~#printer_driver~0.base, 8 + ~#printer_driver~0.offset, 4);call write~init~$Pointer$(#funAddr~printer_bind.base, #funAddr~printer_bind.offset, ~#printer_driver~0.base, 12 + ~#printer_driver~0.offset, 8);call write~init~$Pointer$(#funAddr~printer_unbind.base, #funAddr~printer_unbind.offset, ~#printer_driver~0.base, 20 + ~#printer_driver~0.offset, 8);call write~init~$Pointer$(#funAddr~printer_setup.base, #funAddr~printer_setup.offset, ~#printer_driver~0.base, 28 + ~#printer_driver~0.offset, 8);call write~init~$Pointer$(#funAddr~printer_disconnect.base, #funAddr~printer_disconnect.offset, ~#printer_driver~0.base, 36 + ~#printer_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_driver~0.base, 44 + ~#printer_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_driver~0.base, 52 + ~#printer_driver~0.offset, 8);call write~init~$Pointer$(~#shortname~0.base, ~#shortname~0.offset, ~#printer_driver~0.base, 60 + ~#printer_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_driver~0.base, 68 + ~#printer_driver~0.offset, 8);call write~init~$Pointer$(~#__this_module~0.base, ~#__this_module~0.offset, ~#printer_driver~0.base, 76 + ~#printer_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_driver~0.base, 84 + ~#printer_driver~0.offset, 8);call write~init~int(0, ~#printer_driver~0.base, 92 + ~#printer_driver~0.offset, 1);call write~init~$Pointer$(0, 0, ~#printer_driver~0.base, 93 + ~#printer_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_driver~0.base, 101 + ~#printer_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_driver~0.base, 109 + ~#printer_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_driver~0.base, 117 + ~#printer_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_driver~0.base, 125 + ~#printer_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_driver~0.base, 133 + ~#printer_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_driver~0.base, 141 + ~#printer_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_driver~0.base, 149 + ~#printer_driver~0.offset, 8);~LDV_IN_INTERRUPT~0 := 0;~ldv_usb_gadget_class~0 := 0;~ldv_usb_gadget_chrdev~0 := 0;~ldv_usb_gadget~0 := 0; {1283#(= ~ldv_usb_gadget~0 0)} is VALID [2022-02-20 21:37:25,036 INFO L290 TraceCheckUtils]: 1: Hoare triple {1283#(= ~ldv_usb_gadget~0 0)} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret691#1, main_#t~nondet692#1, main_#t~switch693#1, main_#t~ret694#1, main_#t~ret695#1, main_#t~ret696#1, main_#t~ret697#1, main_#t~ret698#1, main_#t~ret699#1, main_#t~ret700#1, main_#t~ret701#1, main_#t~ret702#1, main_#t~nondet703#1, main_~var_group1~0#1.base, main_~var_group1~0#1.offset, main_~var_group2~0#1.base, main_~var_group2~0#1.offset, main_~res_printer_open_4~0#1, main_~var_printer_read_7_p1~0#1.base, main_~var_printer_read_7_p1~0#1.offset, main_~var_printer_read_7_p2~0#1, main_~var_printer_read_7_p3~0#1.base, main_~var_printer_read_7_p3~0#1.offset, main_~res_printer_read_7~0#1, main_~var_printer_write_8_p1~0#1.base, main_~var_printer_write_8_p1~0#1.offset, main_~var_printer_write_8_p2~0#1, main_~var_printer_write_8_p3~0#1.base, main_~var_printer_write_8_p3~0#1.offset, main_~res_printer_write_8~0#1, main_~var_printer_fsync_9_p1~0#1, main_~var_printer_poll_10_p1~0#1.base, main_~var_printer_poll_10_p1~0#1.offset, main_~var_printer_ioctl_11_p1~0#1, main_~var_printer_ioctl_11_p2~0#1, main_~var_group3~0#1.base, main_~var_group3~0#1.offset, main_~var_printer_setup_19_p1~0#1.base, main_~var_printer_setup_19_p1~0#1.offset, main_~ldv_s_printer_io_operations_file_operations~0#1, main_~ldv_s_printer_driver_usb_gadget_driver~0#1, main_~tmp~37#1, main_~tmp___0~18#1, main_~tmp___1~13#1;havoc main_~var_group1~0#1.base, main_~var_group1~0#1.offset;havoc main_~var_group2~0#1.base, main_~var_group2~0#1.offset;havoc main_~res_printer_open_4~0#1;havoc main_~var_printer_read_7_p1~0#1.base, main_~var_printer_read_7_p1~0#1.offset;havoc main_~var_printer_read_7_p2~0#1;havoc main_~var_printer_read_7_p3~0#1.base, main_~var_printer_read_7_p3~0#1.offset;havoc main_~res_printer_read_7~0#1;havoc main_~var_printer_write_8_p1~0#1.base, main_~var_printer_write_8_p1~0#1.offset;havoc main_~var_printer_write_8_p2~0#1;havoc main_~var_printer_write_8_p3~0#1.base, main_~var_printer_write_8_p3~0#1.offset;havoc main_~res_printer_write_8~0#1;havoc main_~var_printer_fsync_9_p1~0#1;havoc main_~var_printer_poll_10_p1~0#1.base, main_~var_printer_poll_10_p1~0#1.offset;havoc main_~var_printer_ioctl_11_p1~0#1;havoc main_~var_printer_ioctl_11_p2~0#1;havoc main_~var_group3~0#1.base, main_~var_group3~0#1.offset;havoc main_~var_printer_setup_19_p1~0#1.base, main_~var_printer_setup_19_p1~0#1.offset;havoc main_~ldv_s_printer_io_operations_file_operations~0#1;havoc main_~ldv_s_printer_driver_usb_gadget_driver~0#1;havoc main_~tmp~37#1;havoc main_~tmp___0~18#1;havoc main_~tmp___1~13#1;main_~ldv_s_printer_io_operations_file_operations~0#1 := 0;main_~ldv_s_printer_driver_usb_gadget_driver~0#1 := 0;~LDV_IN_INTERRUPT~0 := 1;assume { :begin_inline_ldv_initialize } true; {1283#(= ~ldv_usb_gadget~0 0)} is VALID [2022-02-20 21:37:25,036 INFO L290 TraceCheckUtils]: 2: Hoare triple {1283#(= ~ldv_usb_gadget~0 0)} assume { :end_inline_ldv_initialize } true; {1283#(= ~ldv_usb_gadget~0 0)} is VALID [2022-02-20 21:37:25,037 INFO L272 TraceCheckUtils]: 3: Hoare triple {1283#(= ~ldv_usb_gadget~0 0)} call ldv_handler_precall(); {1281#true} is VALID [2022-02-20 21:37:25,037 INFO L290 TraceCheckUtils]: 4: Hoare triple {1281#true} assume true; {1281#true} is VALID [2022-02-20 21:37:25,037 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {1281#true} {1283#(= ~ldv_usb_gadget~0 0)} #3317#return; {1283#(= ~ldv_usb_gadget~0 0)} is VALID [2022-02-20 21:37:25,038 INFO L290 TraceCheckUtils]: 6: Hoare triple {1283#(= ~ldv_usb_gadget~0 0)} assume { :begin_inline_init } true;havoc init_#res#1;havoc init_#t~ret678#1.base, init_#t~ret678#1.offset, init_#t~ret679#1, init_#t~ret680#1, init_#t~nondet681#1, init_#t~ret682#1, init_#t~nondet683#1, init_#t~ret684#1, init_#t~mem685#1, init_#t~nondet686#1, init_~status~4#1, init_~tmp~36#1.base, init_~tmp~36#1.offset, init_~tmp___0~17#1, init_~tmp___1~12#1;havoc init_~status~4#1;havoc init_~tmp~36#1.base, init_~tmp~36#1.offset;havoc init_~tmp___0~17#1;havoc init_~tmp___1~12#1;assume { :begin_inline_ldv_create_class } true;havoc ldv_create_class_#res#1.base, ldv_create_class_#res#1.offset;havoc ldv_create_class_#t~ret713#1.base, ldv_create_class_#t~ret713#1.offset, ldv_create_class_~is_got~0#1.base, ldv_create_class_~is_got~0#1.offset;havoc ldv_create_class_~is_got~0#1.base, ldv_create_class_~is_got~0#1.offset; {1283#(= ~ldv_usb_gadget~0 0)} is VALID [2022-02-20 21:37:25,038 INFO L272 TraceCheckUtils]: 7: Hoare triple {1283#(= ~ldv_usb_gadget~0 0)} call ldv_create_class_#t~ret713#1.base, ldv_create_class_#t~ret713#1.offset := ldv_malloc(120); {1290#(and (= |old(#length)| |#length|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 21:37:25,039 INFO L290 TraceCheckUtils]: 8: Hoare triple {1290#(and (= |old(#length)| |#length|) (= |old(#valid)| |#valid|))} ~size#1 := #in~size#1;assume -2147483648 <= #t~nondet89#1 && #t~nondet89#1 <= 2147483647; {1281#true} is VALID [2022-02-20 21:37:25,039 INFO L290 TraceCheckUtils]: 9: Hoare triple {1281#true} assume !(0 != #t~nondet89#1);havoc #t~nondet89#1;#res#1.base, #res#1.offset := 0, 0; {1281#true} is VALID [2022-02-20 21:37:25,039 INFO L290 TraceCheckUtils]: 10: Hoare triple {1281#true} assume true; {1281#true} is VALID [2022-02-20 21:37:25,040 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {1281#true} {1283#(= ~ldv_usb_gadget~0 0)} #3319#return; {1283#(= ~ldv_usb_gadget~0 0)} is VALID [2022-02-20 21:37:25,040 INFO L290 TraceCheckUtils]: 12: Hoare triple {1283#(= ~ldv_usb_gadget~0 0)} ldv_create_class_~is_got~0#1.base, ldv_create_class_~is_got~0#1.offset := ldv_create_class_#t~ret713#1.base, ldv_create_class_#t~ret713#1.offset;havoc ldv_create_class_#t~ret713#1.base, ldv_create_class_#t~ret713#1.offset; {1283#(= ~ldv_usb_gadget~0 0)} is VALID [2022-02-20 21:37:25,041 INFO L290 TraceCheckUtils]: 13: Hoare triple {1283#(= ~ldv_usb_gadget~0 0)} assume (ldv_create_class_~is_got~0#1.base + ldv_create_class_~is_got~0#1.offset) % 18446744073709551616 <= 2012; {1283#(= ~ldv_usb_gadget~0 0)} is VALID [2022-02-20 21:37:25,041 INFO L290 TraceCheckUtils]: 14: Hoare triple {1283#(= ~ldv_usb_gadget~0 0)} assume !(0 == ~ldv_usb_gadget~0); {1282#false} is VALID [2022-02-20 21:37:25,041 INFO L272 TraceCheckUtils]: 15: Hoare triple {1282#false} call ldv_error(); {1282#false} is VALID [2022-02-20 21:37:25,041 INFO L290 TraceCheckUtils]: 16: Hoare triple {1282#false} assume !false; {1282#false} is VALID [2022-02-20 21:37:25,042 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:37:25,042 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 21:37:25,042 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [105733167] [2022-02-20 21:37:25,043 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [105733167] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 21:37:25,043 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 21:37:25,043 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-02-20 21:37:25,044 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [528904614] [2022-02-20 21:37:25,045 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 21:37:25,048 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) Word has length 17 [2022-02-20 21:37:25,049 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 21:37:25,051 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 21:37:25,102 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 17 edges. 17 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 21:37:25,103 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-02-20 21:37:25,103 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 21:37:25,121 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-02-20 21:37:25,121 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-02-20 21:37:25,130 INFO L87 Difference]: Start difference. First operand has 1278 states, 894 states have (on average 1.407158836689038) internal successors, (1258), 934 states have internal predecessors, (1258), 317 states have call successors, (317), 65 states have call predecessors, (317), 65 states have return successors, (317), 314 states have call predecessors, (317), 317 states have call successors, (317) Second operand has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 21:37:29,230 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.03s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [] [2022-02-20 21:37:51,133 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 21:37:51,133 INFO L93 Difference]: Finished difference Result 4165 states and 6365 transitions. [2022-02-20 21:37:51,134 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 21:37:51,134 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) Word has length 17 [2022-02-20 21:37:51,134 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 21:37:51,136 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 21:37:51,386 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 6365 transitions. [2022-02-20 21:37:51,386 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 21:37:51,573 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 6365 transitions. [2022-02-20 21:37:51,574 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 6365 transitions. [2022-02-20 21:37:56,398 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 6365 edges. 6365 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 21:37:56,867 INFO L225 Difference]: With dead ends: 4165 [2022-02-20 21:37:56,868 INFO L226 Difference]: Without dead ends: 2887 [2022-02-20 21:37:56,878 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 8 GetRequests, 5 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=9, Invalid=11, Unknown=0, NotChecked=0, Total=20 [2022-02-20 21:37:56,883 INFO L933 BasicCegarLoop]: 2055 mSDtfsCounter, 3067 mSDsluCounter, 2189 mSDsCounter, 0 mSdLazyCounter, 1392 mSolverCounterSat, 923 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 6.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 3362 SdHoareTripleChecker+Valid, 4244 SdHoareTripleChecker+Invalid, 2316 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.1s SdHoareTripleChecker+Time, 923 IncrementalHoareTripleChecker+Valid, 1392 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 6.5s IncrementalHoareTripleChecker+Time [2022-02-20 21:37:56,886 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [3362 Valid, 4244 Invalid, 2316 Unknown, 0 Unchecked, 0.1s Time], IncrementalHoareTripleChecker [923 Valid, 1392 Invalid, 1 Unknown, 0 Unchecked, 6.5s Time] [2022-02-20 21:37:56,901 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 2887 states. [2022-02-20 21:37:57,024 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 2887 to 2330. [2022-02-20 21:37:57,025 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 21:37:57,038 INFO L82 GeneralOperation]: Start isEquivalent. First operand 2887 states. Second operand has 2330 states, 1616 states have (on average 1.3545792079207921) internal successors, (2189), 1674 states have internal predecessors, (2189), 593 states have call successors, (593), 122 states have call predecessors, (593), 120 states have return successors, (584), 577 states have call predecessors, (584), 584 states have call successors, (584) [2022-02-20 21:37:57,047 INFO L74 IsIncluded]: Start isIncluded. First operand 2887 states. Second operand has 2330 states, 1616 states have (on average 1.3545792079207921) internal successors, (2189), 1674 states have internal predecessors, (2189), 593 states have call successors, (593), 122 states have call predecessors, (593), 120 states have return successors, (584), 577 states have call predecessors, (584), 584 states have call successors, (584) [2022-02-20 21:37:57,052 INFO L87 Difference]: Start difference. First operand 2887 states. Second operand has 2330 states, 1616 states have (on average 1.3545792079207921) internal successors, (2189), 1674 states have internal predecessors, (2189), 593 states have call successors, (593), 122 states have call predecessors, (593), 120 states have return successors, (584), 577 states have call predecessors, (584), 584 states have call successors, (584) [2022-02-20 21:37:57,310 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 21:37:57,311 INFO L93 Difference]: Finished difference Result 2887 states and 4275 transitions. [2022-02-20 21:37:57,311 INFO L276 IsEmpty]: Start isEmpty. Operand 2887 states and 4275 transitions. [2022-02-20 21:37:57,329 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 21:37:57,329 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 21:37:57,335 INFO L74 IsIncluded]: Start isIncluded. First operand has 2330 states, 1616 states have (on average 1.3545792079207921) internal successors, (2189), 1674 states have internal predecessors, (2189), 593 states have call successors, (593), 122 states have call predecessors, (593), 120 states have return successors, (584), 577 states have call predecessors, (584), 584 states have call successors, (584) Second operand 2887 states. [2022-02-20 21:37:57,339 INFO L87 Difference]: Start difference. First operand has 2330 states, 1616 states have (on average 1.3545792079207921) internal successors, (2189), 1674 states have internal predecessors, (2189), 593 states have call successors, (593), 122 states have call predecessors, (593), 120 states have return successors, (584), 577 states have call predecessors, (584), 584 states have call successors, (584) Second operand 2887 states. [2022-02-20 21:37:57,595 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 21:37:57,595 INFO L93 Difference]: Finished difference Result 2887 states and 4275 transitions. [2022-02-20 21:37:57,596 INFO L276 IsEmpty]: Start isEmpty. Operand 2887 states and 4275 transitions. [2022-02-20 21:37:57,604 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 21:37:57,604 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 21:37:57,604 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 21:37:57,605 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 21:37:57,610 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 2330 states, 1616 states have (on average 1.3545792079207921) internal successors, (2189), 1674 states have internal predecessors, (2189), 593 states have call successors, (593), 122 states have call predecessors, (593), 120 states have return successors, (584), 577 states have call predecessors, (584), 584 states have call successors, (584) [2022-02-20 21:37:57,862 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2330 states to 2330 states and 3366 transitions. [2022-02-20 21:37:57,864 INFO L78 Accepts]: Start accepts. Automaton has 2330 states and 3366 transitions. Word has length 17 [2022-02-20 21:37:57,864 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 21:37:57,865 INFO L470 AbstractCegarLoop]: Abstraction has 2330 states and 3366 transitions. [2022-02-20 21:37:57,865 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 21:37:57,865 INFO L276 IsEmpty]: Start isEmpty. Operand 2330 states and 3366 transitions. [2022-02-20 21:37:57,866 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 19 [2022-02-20 21:37:57,866 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 21:37:57,866 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:37:57,866 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-02-20 21:37:57,866 INFO L402 AbstractCegarLoop]: === Iteration 2 === Targeting ldv_errorErr0ASSERT_VIOLATIONERROR_FUNCTION === [ldv_errorErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 21:37:57,867 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 21:37:57,867 INFO L85 PathProgramCache]: Analyzing trace with hash 636307650, now seen corresponding path program 1 times [2022-02-20 21:37:57,867 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 21:37:57,867 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1657103107] [2022-02-20 21:37:57,868 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 21:37:57,868 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 21:37:57,976 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:37:58,069 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 3 [2022-02-20 21:37:58,076 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:37:58,089 INFO L290 TraceCheckUtils]: 0: Hoare triple {16050#true} assume true; {16050#true} is VALID [2022-02-20 21:37:58,089 INFO L284 TraceCheckUtils]: 1: Hoare quadruple {16050#true} {16052#(= ~ldv_usb_gadget_class~0 0)} #3317#return; {16052#(= ~ldv_usb_gadget_class~0 0)} is VALID [2022-02-20 21:37:58,103 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-02-20 21:37:58,107 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:37:58,112 INFO L290 TraceCheckUtils]: 0: Hoare triple {16059#(and (= |old(#length)| |#length|) (= |old(#valid)| |#valid|))} ~size#1 := #in~size#1;assume -2147483648 <= #t~nondet89#1 && #t~nondet89#1 <= 2147483647; {16050#true} is VALID [2022-02-20 21:37:58,112 INFO L290 TraceCheckUtils]: 1: Hoare triple {16050#true} assume !(0 != #t~nondet89#1);havoc #t~nondet89#1;#res#1.base, #res#1.offset := 0, 0; {16050#true} is VALID [2022-02-20 21:37:58,112 INFO L290 TraceCheckUtils]: 2: Hoare triple {16050#true} assume true; {16050#true} is VALID [2022-02-20 21:37:58,113 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {16050#true} {16052#(= ~ldv_usb_gadget_class~0 0)} #3319#return; {16052#(= ~ldv_usb_gadget_class~0 0)} is VALID [2022-02-20 21:37:58,114 INFO L290 TraceCheckUtils]: 0: Hoare triple {16050#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(56, 2);call #Ultimate.allocInit(28, 3);call #Ultimate.allocInit(166, 4);call #Ultimate.allocInit(27, 5);call #Ultimate.allocInit(13, 6);call #Ultimate.allocInit(24, 7);call #Ultimate.allocInit(14, 8);call #Ultimate.allocInit(33, 9);call #Ultimate.allocInit(15, 10);call #Ultimate.allocInit(20, 11);call #Ultimate.allocInit(15, 12);call #Ultimate.allocInit(21, 13);call #Ultimate.allocInit(15, 14);call #Ultimate.allocInit(33, 15);call #Ultimate.allocInit(15, 16);call #Ultimate.allocInit(22, 17);call #Ultimate.allocInit(15, 18);call #Ultimate.allocInit(25, 19);call #Ultimate.allocInit(15, 20);call #Ultimate.allocInit(45, 21);call #Ultimate.allocInit(15, 22);call #Ultimate.allocInit(39, 23);call #Ultimate.allocInit(15, 24);call #Ultimate.allocInit(46, 25);call #Ultimate.allocInit(15, 26);call #Ultimate.allocInit(36, 27);call #Ultimate.allocInit(15, 28);call #Ultimate.allocInit(44, 29);call #Ultimate.allocInit(15, 30);call #Ultimate.allocInit(57, 31);call #Ultimate.allocInit(15, 32);call #Ultimate.allocInit(25, 33);call #Ultimate.allocInit(15, 34);call #Ultimate.allocInit(25, 35);call #Ultimate.allocInit(15, 36);call #Ultimate.allocInit(11, 37);call #Ultimate.allocInit(15, 38);call #Ultimate.allocInit(24, 39);call #Ultimate.allocInit(5, 40);call write~init~int(102, 40, 0, 1);call write~init~int(117, 40, 1, 1);call write~init~int(108, 40, 2, 1);call write~init~int(108, 40, 3, 1);call write~init~int(0, 40, 4, 1);call #Ultimate.allocInit(5, 41);call write~init~int(104, 41, 0, 1);call write~init~int(105, 41, 1, 1);call write~init~int(103, 41, 2, 1);call write~init~int(104, 41, 3, 1);call write~init~int(0, 41, 4, 1);call #Ultimate.allocInit(2, 42);call write~init~int(63, 42, 0, 1);call write~init~int(0, 42, 1, 1);call #Ultimate.allocInit(39, 43);call #Ultimate.allocInit(15, 44);call #Ultimate.allocInit(27, 45);call #Ultimate.allocInit(15, 46);call #Ultimate.allocInit(37, 47);call #Ultimate.allocInit(15, 48);call #Ultimate.allocInit(39, 49);call #Ultimate.allocInit(15, 50);call #Ultimate.allocInit(36, 51);call #Ultimate.allocInit(15, 52);call #Ultimate.allocInit(37, 53);call #Ultimate.allocInit(15, 54);call #Ultimate.allocInit(35, 55);call #Ultimate.allocInit(15, 56);call #Ultimate.allocInit(36, 57);call #Ultimate.allocInit(15, 58);call #Ultimate.allocInit(42, 59);call #Ultimate.allocInit(15, 60);call #Ultimate.allocInit(22, 61);call #Ultimate.allocInit(15, 62);call #Ultimate.allocInit(40, 63);call #Ultimate.allocInit(15, 64);call #Ultimate.allocInit(31, 65);call #Ultimate.allocInit(15, 66);call #Ultimate.allocInit(24, 67);call #Ultimate.allocInit(15, 68);call #Ultimate.allocInit(11, 69);call #Ultimate.allocInit(15, 70);call #Ultimate.allocInit(19, 71);call #Ultimate.allocInit(11, 72);call #Ultimate.allocInit(15, 73);call #Ultimate.allocInit(15, 74);call #Ultimate.allocInit(282, 75);call #Ultimate.allocInit(282, 76);call #Ultimate.allocInit(10, 77);call #Ultimate.allocInit(43, 78);call #Ultimate.allocInit(15, 79);call #Ultimate.allocInit(35, 80);call #Ultimate.allocInit(15, 81);call #Ultimate.allocInit(32, 82);call #Ultimate.allocInit(14, 83);call #Ultimate.allocInit(27, 84);call #Ultimate.allocInit(27, 85);call #Ultimate.allocInit(21, 86);call #Ultimate.allocInit(22, 87);call #Ultimate.allocInit(33, 88);call #Ultimate.allocInit(15, 89);call #Ultimate.allocInit(31, 90);call #Ultimate.allocInit(15, 91);call #Ultimate.allocInit(45, 92);call #Ultimate.allocInit(15, 93);call #Ultimate.allocInit(19, 94);call #Ultimate.allocInit(31, 95);call #Ultimate.allocInit(15, 96);call #Ultimate.allocInit(38, 97);call #Ultimate.allocInit(15, 98);call #Ultimate.allocInit(40, 99);call #Ultimate.allocInit(15, 100);~epnum~0 := 0;~#printer_mutex~0.base, ~#printer_mutex~0.offset := 101, 0;call #Ultimate.allocInit(136, 101);call write~init~int(1, ~#printer_mutex~0.base, ~#printer_mutex~0.offset, 4);call write~init~int(0, ~#printer_mutex~0.base, 4 + ~#printer_mutex~0.offset, 4);call write~init~int(3735899821, ~#printer_mutex~0.base, 8 + ~#printer_mutex~0.offset, 4);call write~init~int(4294967295, ~#printer_mutex~0.base, 12 + ~#printer_mutex~0.offset, 4);call write~init~$Pointer$(0, -1, ~#printer_mutex~0.base, 16 + ~#printer_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_mutex~0.base, 24 + ~#printer_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_mutex~0.base, 32 + ~#printer_mutex~0.offset, 8);call write~init~$Pointer$(7, 0, ~#printer_mutex~0.base, 40 + ~#printer_mutex~0.offset, 8);call write~init~int(0, ~#printer_mutex~0.base, 48 + ~#printer_mutex~0.offset, 4);call write~init~int(0, ~#printer_mutex~0.base, 52 + ~#printer_mutex~0.offset, 8);call write~init~$Pointer$(~#printer_mutex~0.base, 60 + ~#printer_mutex~0.offset, ~#printer_mutex~0.base, 60 + ~#printer_mutex~0.offset, 8);call write~init~$Pointer$(~#printer_mutex~0.base, 60 + ~#printer_mutex~0.offset, ~#printer_mutex~0.base, 68 + ~#printer_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_mutex~0.base, 76 + ~#printer_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_mutex~0.base, 84 + ~#printer_mutex~0.offset, 8);call write~init~$Pointer$(~#printer_mutex~0.base, ~#printer_mutex~0.offset, ~#printer_mutex~0.base, 92 + ~#printer_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_mutex~0.base, 100 + ~#printer_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_mutex~0.base, 108 + ~#printer_mutex~0.offset, 8);call write~init~$Pointer$(8, 0, ~#printer_mutex~0.base, 116 + ~#printer_mutex~0.offset, 8);call write~init~int(0, ~#printer_mutex~0.base, 124 + ~#printer_mutex~0.offset, 4);call write~init~int(0, ~#printer_mutex~0.base, 128 + ~#printer_mutex~0.offset, 8);~#shortname~0.base, ~#shortname~0.offset := 102, 0;call #Ultimate.allocInit(8, 102);call write~init~int(112, ~#shortname~0.base, ~#shortname~0.offset, 1);call write~init~int(114, ~#shortname~0.base, 1 + ~#shortname~0.offset, 1);call write~init~int(105, ~#shortname~0.base, 2 + ~#shortname~0.offset, 1);call write~init~int(110, ~#shortname~0.base, 3 + ~#shortname~0.offset, 1);call write~init~int(116, ~#shortname~0.base, 4 + ~#shortname~0.offset, 1);call write~init~int(101, ~#shortname~0.base, 5 + ~#shortname~0.offset, 1);call write~init~int(114, ~#shortname~0.base, 6 + ~#shortname~0.offset, 1);call write~init~int(0, ~#shortname~0.base, 7 + ~#shortname~0.offset, 1);~#driver_desc~0.base, ~#driver_desc~0.offset := 103, 0;call #Ultimate.allocInit(15, 103);call write~init~int(80, ~#driver_desc~0.base, ~#driver_desc~0.offset, 1);call write~init~int(114, ~#driver_desc~0.base, 1 + ~#driver_desc~0.offset, 1);call write~init~int(105, ~#driver_desc~0.base, 2 + ~#driver_desc~0.offset, 1);call write~init~int(110, ~#driver_desc~0.base, 3 + ~#driver_desc~0.offset, 1);call write~init~int(116, ~#driver_desc~0.base, 4 + ~#driver_desc~0.offset, 1);call write~init~int(101, ~#driver_desc~0.base, 5 + ~#driver_desc~0.offset, 1);call write~init~int(114, ~#driver_desc~0.base, 6 + ~#driver_desc~0.offset, 1);call write~init~int(32, ~#driver_desc~0.base, 7 + ~#driver_desc~0.offset, 1);call write~init~int(71, ~#driver_desc~0.base, 8 + ~#driver_desc~0.offset, 1);call write~init~int(97, ~#driver_desc~0.base, 9 + ~#driver_desc~0.offset, 1);call write~init~int(100, ~#driver_desc~0.base, 10 + ~#driver_desc~0.offset, 1);call write~init~int(103, ~#driver_desc~0.base, 11 + ~#driver_desc~0.offset, 1);call write~init~int(101, ~#driver_desc~0.base, 12 + ~#driver_desc~0.offset, 1);call write~init~int(116, ~#driver_desc~0.base, 13 + ~#driver_desc~0.offset, 1);call write~init~int(0, ~#driver_desc~0.base, 14 + ~#driver_desc~0.offset, 1);~#g_printer_devno~0.base, ~#g_printer_devno~0.offset := 104, 0;call #Ultimate.allocInit(4, 104);call write~init~int(0, ~#g_printer_devno~0.base, ~#g_printer_devno~0.offset, 4);~usb_gadget_class~0.base, ~usb_gadget_class~0.offset := 0, 0;~#usb_printer_gadget~0.base, ~#usb_printer_gadget~0.offset := 105, 0;call #Ultimate.allocInit(750, 105);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#usb_printer_gadget~0.base);#memory_$Pointer$.base, #memory_$Pointer$.offset := ~initToZeroAtPointerBaseAddress~$Pointer$.base(#memory_$Pointer$.base, #memory_$Pointer$.offset, ~#usb_printer_gadget~0.base), ~initToZeroAtPointerBaseAddress~$Pointer$.offset(#memory_$Pointer$.base, #memory_$Pointer$.offset, ~#usb_printer_gadget~0.base);~idVendor~0 := 0;~idProduct~0 := 0;~bcdDevice~0 := 0;~iManufacturer~0.base, ~iManufacturer~0.offset := 0, 0;~iProduct~0.base, ~iProduct~0.offset := 0, 0;~iSerialNum~0.base, ~iSerialNum~0.offset := 0, 0;~iPNPstring~0.base, ~iPNPstring~0.offset := 0, 0;~qlen~0 := 10;~#device_desc~0.base, ~#device_desc~0.offset := 106, 0;call #Ultimate.allocInit(18, 106);call write~init~int(18, ~#device_desc~0.base, ~#device_desc~0.offset, 1);call write~init~int(1, ~#device_desc~0.base, 1 + ~#device_desc~0.offset, 1);call write~init~int(512, ~#device_desc~0.base, 2 + ~#device_desc~0.offset, 2);call write~init~int(0, ~#device_desc~0.base, 4 + ~#device_desc~0.offset, 1);call write~init~int(0, ~#device_desc~0.base, 5 + ~#device_desc~0.offset, 1);call write~init~int(0, ~#device_desc~0.base, 6 + ~#device_desc~0.offset, 1);call write~init~int(0, ~#device_desc~0.base, 7 + ~#device_desc~0.offset, 1);call write~init~int(1317, ~#device_desc~0.base, 8 + ~#device_desc~0.offset, 2);call write~init~int(42152, ~#device_desc~0.base, 10 + ~#device_desc~0.offset, 2);call write~init~int(0, ~#device_desc~0.base, 12 + ~#device_desc~0.offset, 2);call write~init~int(1, ~#device_desc~0.base, 14 + ~#device_desc~0.offset, 1);call write~init~int(2, ~#device_desc~0.base, 15 + ~#device_desc~0.offset, 1);call write~init~int(3, ~#device_desc~0.base, 16 + ~#device_desc~0.offset, 1);call write~init~int(1, ~#device_desc~0.base, 17 + ~#device_desc~0.offset, 1);~#otg_desc~0.base, ~#otg_desc~0.offset := 107, 0;call #Ultimate.allocInit(3, 107);call write~init~int(3, ~#otg_desc~0.base, ~#otg_desc~0.offset, 1);call write~init~int(9, ~#otg_desc~0.base, 1 + ~#otg_desc~0.offset, 1);call write~init~int(1, ~#otg_desc~0.base, 2 + ~#otg_desc~0.offset, 1);~#config_desc~0.base, ~#config_desc~0.offset := 108, 0;call #Ultimate.allocInit(9, 108);call write~init~int(9, ~#config_desc~0.base, ~#config_desc~0.offset, 1);call write~init~int(2, ~#config_desc~0.base, 1 + ~#config_desc~0.offset, 1);call write~init~int(0, ~#config_desc~0.base, 2 + ~#config_desc~0.offset, 2);call write~init~int(1, ~#config_desc~0.base, 4 + ~#config_desc~0.offset, 1);call write~init~int(1, ~#config_desc~0.base, 5 + ~#config_desc~0.offset, 1);call write~init~int(0, ~#config_desc~0.base, 6 + ~#config_desc~0.offset, 1);call write~init~int(192, ~#config_desc~0.base, 7 + ~#config_desc~0.offset, 1);call write~init~int(1, ~#config_desc~0.base, 8 + ~#config_desc~0.offset, 1);~#intf_desc~0.base, ~#intf_desc~0.offset := 109, 0;call #Ultimate.allocInit(9, 109);call write~init~int(9, ~#intf_desc~0.base, ~#intf_desc~0.offset, 1);call write~init~int(4, ~#intf_desc~0.base, 1 + ~#intf_desc~0.offset, 1);call write~init~int(0, ~#intf_desc~0.base, 2 + ~#intf_desc~0.offset, 1);call write~init~int(0, ~#intf_desc~0.base, 3 + ~#intf_desc~0.offset, 1);call write~init~int(2, ~#intf_desc~0.base, 4 + ~#intf_desc~0.offset, 1);call write~init~int(7, ~#intf_desc~0.base, 5 + ~#intf_desc~0.offset, 1);call write~init~int(1, ~#intf_desc~0.base, 6 + ~#intf_desc~0.offset, 1);call write~init~int(2, ~#intf_desc~0.base, 7 + ~#intf_desc~0.offset, 1);call write~init~int(0, ~#intf_desc~0.base, 8 + ~#intf_desc~0.offset, 1);~#fs_ep_in_desc~0.base, ~#fs_ep_in_desc~0.offset := 110, 0;call #Ultimate.allocInit(9, 110);call write~init~int(7, ~#fs_ep_in_desc~0.base, ~#fs_ep_in_desc~0.offset, 1);call write~init~int(5, ~#fs_ep_in_desc~0.base, 1 + ~#fs_ep_in_desc~0.offset, 1);call write~init~int(128, ~#fs_ep_in_desc~0.base, 2 + ~#fs_ep_in_desc~0.offset, 1);call write~init~int(2, ~#fs_ep_in_desc~0.base, 3 + ~#fs_ep_in_desc~0.offset, 1);call write~init~int(0, ~#fs_ep_in_desc~0.base, 4 + ~#fs_ep_in_desc~0.offset, 2);call write~init~int(0, ~#fs_ep_in_desc~0.base, 6 + ~#fs_ep_in_desc~0.offset, 1);call write~init~int(0, ~#fs_ep_in_desc~0.base, 7 + ~#fs_ep_in_desc~0.offset, 1);call write~init~int(0, ~#fs_ep_in_desc~0.base, 8 + ~#fs_ep_in_desc~0.offset, 1);~#fs_ep_out_desc~0.base, ~#fs_ep_out_desc~0.offset := 111, 0;call #Ultimate.allocInit(9, 111);call write~init~int(7, ~#fs_ep_out_desc~0.base, ~#fs_ep_out_desc~0.offset, 1);call write~init~int(5, ~#fs_ep_out_desc~0.base, 1 + ~#fs_ep_out_desc~0.offset, 1);call write~init~int(0, ~#fs_ep_out_desc~0.base, 2 + ~#fs_ep_out_desc~0.offset, 1);call write~init~int(2, ~#fs_ep_out_desc~0.base, 3 + ~#fs_ep_out_desc~0.offset, 1);call write~init~int(0, ~#fs_ep_out_desc~0.base, 4 + ~#fs_ep_out_desc~0.offset, 2);call write~init~int(0, ~#fs_ep_out_desc~0.base, 6 + ~#fs_ep_out_desc~0.offset, 1);call write~init~int(0, ~#fs_ep_out_desc~0.base, 7 + ~#fs_ep_out_desc~0.offset, 1);call write~init~int(0, ~#fs_ep_out_desc~0.base, 8 + ~#fs_ep_out_desc~0.offset, 1);~#fs_printer_function~0.base, ~#fs_printer_function~0.offset := 112, 0;call #Ultimate.allocInit(88, 112);#memory_$Pointer$.base, #memory_$Pointer$.offset := ~initToZeroAtPointerBaseAddress~$Pointer$.base(#memory_$Pointer$.base, #memory_$Pointer$.offset, ~#fs_printer_function~0.base), ~initToZeroAtPointerBaseAddress~$Pointer$.offset(#memory_$Pointer$.base, #memory_$Pointer$.offset, ~#fs_printer_function~0.base);call write~unchecked~$Pointer$(~#otg_desc~0.base, ~#otg_desc~0.offset, ~#fs_printer_function~0.base, ~#fs_printer_function~0.offset, 8);call write~unchecked~$Pointer$(~#intf_desc~0.base, ~#intf_desc~0.offset, ~#fs_printer_function~0.base, 8 + ~#fs_printer_function~0.offset, 8);call write~unchecked~$Pointer$(~#fs_ep_in_desc~0.base, ~#fs_ep_in_desc~0.offset, ~#fs_printer_function~0.base, 16 + ~#fs_printer_function~0.offset, 8);call write~unchecked~$Pointer$(~#fs_ep_out_desc~0.base, ~#fs_ep_out_desc~0.offset, ~#fs_printer_function~0.base, 24 + ~#fs_printer_function~0.offset, 8);call write~unchecked~$Pointer$(0, 0, ~#fs_printer_function~0.base, 32 + ~#fs_printer_function~0.offset, 8);~#hs_ep_in_desc~0.base, ~#hs_ep_in_desc~0.offset := 113, 0;call #Ultimate.allocInit(9, 113);call write~init~int(7, ~#hs_ep_in_desc~0.base, ~#hs_ep_in_desc~0.offset, 1);call write~init~int(5, ~#hs_ep_in_desc~0.base, 1 + ~#hs_ep_in_desc~0.offset, 1);call write~init~int(0, ~#hs_ep_in_desc~0.base, 2 + ~#hs_ep_in_desc~0.offset, 1);call write~init~int(2, ~#hs_ep_in_desc~0.base, 3 + ~#hs_ep_in_desc~0.offset, 1);call write~init~int(512, ~#hs_ep_in_desc~0.base, 4 + ~#hs_ep_in_desc~0.offset, 2);call write~init~int(0, ~#hs_ep_in_desc~0.base, 6 + ~#hs_ep_in_desc~0.offset, 1);call write~init~int(0, ~#hs_ep_in_desc~0.base, 7 + ~#hs_ep_in_desc~0.offset, 1);call write~init~int(0, ~#hs_ep_in_desc~0.base, 8 + ~#hs_ep_in_desc~0.offset, 1);~#hs_ep_out_desc~0.base, ~#hs_ep_out_desc~0.offset := 114, 0;call #Ultimate.allocInit(9, 114);call write~init~int(7, ~#hs_ep_out_desc~0.base, ~#hs_ep_out_desc~0.offset, 1);call write~init~int(5, ~#hs_ep_out_desc~0.base, 1 + ~#hs_ep_out_desc~0.offset, 1);call write~init~int(0, ~#hs_ep_out_desc~0.base, 2 + ~#hs_ep_out_desc~0.offset, 1);call write~init~int(2, ~#hs_ep_out_desc~0.base, 3 + ~#hs_ep_out_desc~0.offset, 1);call write~init~int(512, ~#hs_ep_out_desc~0.base, 4 + ~#hs_ep_out_desc~0.offset, 2);call write~init~int(0, ~#hs_ep_out_desc~0.base, 6 + ~#hs_ep_out_desc~0.offset, 1);call write~init~int(0, ~#hs_ep_out_desc~0.base, 7 + ~#hs_ep_out_desc~0.offset, 1);call write~init~int(0, ~#hs_ep_out_desc~0.base, 8 + ~#hs_ep_out_desc~0.offset, 1);~#dev_qualifier~0.base, ~#dev_qualifier~0.offset := 115, 0;call #Ultimate.allocInit(10, 115);call write~init~int(10, ~#dev_qualifier~0.base, ~#dev_qualifier~0.offset, 1);call write~init~int(6, ~#dev_qualifier~0.base, 1 + ~#dev_qualifier~0.offset, 1);call write~init~int(512, ~#dev_qualifier~0.base, 2 + ~#dev_qualifier~0.offset, 2);call write~init~int(7, ~#dev_qualifier~0.base, 4 + ~#dev_qualifier~0.offset, 1);call write~init~int(0, ~#dev_qualifier~0.base, 5 + ~#dev_qualifier~0.offset, 1);call write~init~int(0, ~#dev_qualifier~0.base, 6 + ~#dev_qualifier~0.offset, 1);call write~init~int(0, ~#dev_qualifier~0.base, 7 + ~#dev_qualifier~0.offset, 1);call write~init~int(1, ~#dev_qualifier~0.base, 8 + ~#dev_qualifier~0.offset, 1);call write~init~int(0, ~#dev_qualifier~0.base, 9 + ~#dev_qualifier~0.offset, 1);~#hs_printer_function~0.base, ~#hs_printer_function~0.offset := 116, 0;call #Ultimate.allocInit(88, 116);#memory_$Pointer$.base, #memory_$Pointer$.offset := ~initToZeroAtPointerBaseAddress~$Pointer$.base(#memory_$Pointer$.base, #memory_$Pointer$.offset, ~#hs_printer_function~0.base), ~initToZeroAtPointerBaseAddress~$Pointer$.offset(#memory_$Pointer$.base, #memory_$Pointer$.offset, ~#hs_printer_function~0.base);call write~unchecked~$Pointer$(~#otg_desc~0.base, ~#otg_desc~0.offset, ~#hs_printer_function~0.base, ~#hs_printer_function~0.offset, 8);call write~unchecked~$Pointer$(~#intf_desc~0.base, ~#intf_desc~0.offset, ~#hs_printer_function~0.base, 8 + ~#hs_printer_function~0.offset, 8);call write~unchecked~$Pointer$(~#hs_ep_in_desc~0.base, ~#hs_ep_in_desc~0.offset, ~#hs_printer_function~0.base, 16 + ~#hs_printer_function~0.offset, 8);call write~unchecked~$Pointer$(~#hs_ep_out_desc~0.base, ~#hs_ep_out_desc~0.offset, ~#hs_printer_function~0.base, 24 + ~#hs_printer_function~0.offset, 8);call write~unchecked~$Pointer$(0, 0, ~#hs_printer_function~0.base, 32 + ~#hs_printer_function~0.offset, 8);~#manufacturer~0.base, ~#manufacturer~0.offset := 117, 0;call #Ultimate.allocInit(50, 117);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#manufacturer~0.base);~#product_desc~0.base, ~#product_desc~0.offset := 118, 0;call #Ultimate.allocInit(40, 118);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#product_desc~0.base);call write~unchecked~int(80, ~#product_desc~0.base, ~#product_desc~0.offset, 1);call write~unchecked~int(114, ~#product_desc~0.base, 1 + ~#product_desc~0.offset, 1);call write~unchecked~int(105, ~#product_desc~0.base, 2 + ~#product_desc~0.offset, 1);call write~unchecked~int(110, ~#product_desc~0.base, 3 + ~#product_desc~0.offset, 1);call write~unchecked~int(116, ~#product_desc~0.base, 4 + ~#product_desc~0.offset, 1);call write~unchecked~int(101, ~#product_desc~0.base, 5 + ~#product_desc~0.offset, 1);call write~unchecked~int(114, ~#product_desc~0.base, 6 + ~#product_desc~0.offset, 1);call write~unchecked~int(32, ~#product_desc~0.base, 7 + ~#product_desc~0.offset, 1);call write~unchecked~int(71, ~#product_desc~0.base, 8 + ~#product_desc~0.offset, 1);call write~unchecked~int(97, ~#product_desc~0.base, 9 + ~#product_desc~0.offset, 1);call write~unchecked~int(100, ~#product_desc~0.base, 10 + ~#product_desc~0.offset, 1);call write~unchecked~int(103, ~#product_desc~0.base, 11 + ~#product_desc~0.offset, 1);call write~unchecked~int(101, ~#product_desc~0.base, 12 + ~#product_desc~0.offset, 1);call write~unchecked~int(116, ~#product_desc~0.base, 13 + ~#product_desc~0.offset, 1);call write~unchecked~int(0, ~#product_desc~0.base, 14 + ~#product_desc~0.offset, 1);~#serial_num~0.base, ~#serial_num~0.offset := 119, 0;call #Ultimate.allocInit(40, 119);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#serial_num~0.base);call write~unchecked~int(49, ~#serial_num~0.base, ~#serial_num~0.offset, 1);call write~unchecked~int(0, ~#serial_num~0.base, 1 + ~#serial_num~0.offset, 1);~#pnp_string~0.base, ~#pnp_string~0.offset := 120, 0;call #Ultimate.allocInit(1024, 120);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#pnp_string~0.base);call write~unchecked~int(88, ~#pnp_string~0.base, ~#pnp_string~0.offset, 1);call write~unchecked~int(88, ~#pnp_string~0.base, 1 + ~#pnp_string~0.offset, 1);call write~unchecked~int(77, ~#pnp_string~0.base, 2 + ~#pnp_string~0.offset, 1);call write~unchecked~int(70, ~#pnp_string~0.base, 3 + ~#pnp_string~0.offset, 1);call write~unchecked~int(71, ~#pnp_string~0.base, 4 + ~#pnp_string~0.offset, 1);call write~unchecked~int(58, ~#pnp_string~0.base, 5 + ~#pnp_string~0.offset, 1);call write~unchecked~int(108, ~#pnp_string~0.base, 6 + ~#pnp_string~0.offset, 1);call write~unchecked~int(105, ~#pnp_string~0.base, 7 + ~#pnp_string~0.offset, 1);call write~unchecked~int(110, ~#pnp_string~0.base, 8 + ~#pnp_string~0.offset, 1);call write~unchecked~int(117, ~#pnp_string~0.base, 9 + ~#pnp_string~0.offset, 1);call write~unchecked~int(120, ~#pnp_string~0.base, 10 + ~#pnp_string~0.offset, 1);call write~unchecked~int(59, ~#pnp_string~0.base, 11 + ~#pnp_string~0.offset, 1);call write~unchecked~int(77, ~#pnp_string~0.base, 12 + ~#pnp_string~0.offset, 1);call write~unchecked~int(68, ~#pnp_string~0.base, 13 + ~#pnp_string~0.offset, 1);call write~unchecked~int(76, ~#pnp_string~0.base, 14 + ~#pnp_string~0.offset, 1);call write~unchecked~int(58, ~#pnp_string~0.base, 15 + ~#pnp_string~0.offset, 1);call write~unchecked~int(103, ~#pnp_string~0.base, 16 + ~#pnp_string~0.offset, 1);call write~unchecked~int(95, ~#pnp_string~0.base, 17 + ~#pnp_string~0.offset, 1);call write~unchecked~int(112, ~#pnp_string~0.base, 18 + ~#pnp_string~0.offset, 1);call write~unchecked~int(114, ~#pnp_string~0.base, 19 + ~#pnp_string~0.offset, 1);call write~unchecked~int(105, ~#pnp_string~0.base, 20 + ~#pnp_string~0.offset, 1);call write~unchecked~int(110, ~#pnp_string~0.base, 21 + ~#pnp_string~0.offset, 1);call write~unchecked~int(116, ~#pnp_string~0.base, 22 + ~#pnp_string~0.offset, 1);call write~unchecked~int(101, ~#pnp_string~0.base, 23 + ~#pnp_string~0.offset, 1);call write~unchecked~int(114, ~#pnp_string~0.base, 24 + ~#pnp_string~0.offset, 1);call write~unchecked~int(59, ~#pnp_string~0.base, 25 + ~#pnp_string~0.offset, 1);call write~unchecked~int(67, ~#pnp_string~0.base, 26 + ~#pnp_string~0.offset, 1);call write~unchecked~int(76, ~#pnp_string~0.base, 27 + ~#pnp_string~0.offset, 1);call write~unchecked~int(83, ~#pnp_string~0.base, 28 + ~#pnp_string~0.offset, 1);call write~unchecked~int(58, ~#pnp_string~0.base, 29 + ~#pnp_string~0.offset, 1);call write~unchecked~int(80, ~#pnp_string~0.base, 30 + ~#pnp_string~0.offset, 1);call write~unchecked~int(82, ~#pnp_string~0.base, 31 + ~#pnp_string~0.offset, 1);call write~unchecked~int(73, ~#pnp_string~0.base, 32 + ~#pnp_string~0.offset, 1);call write~unchecked~int(78, ~#pnp_string~0.base, 33 + ~#pnp_string~0.offset, 1);call write~unchecked~int(84, ~#pnp_string~0.base, 34 + ~#pnp_string~0.offset, 1);call write~unchecked~int(69, ~#pnp_string~0.base, 35 + ~#pnp_string~0.offset, 1);call write~unchecked~int(82, ~#pnp_string~0.base, 36 + ~#pnp_string~0.offset, 1);call write~unchecked~int(59, ~#pnp_string~0.base, 37 + ~#pnp_string~0.offset, 1);call write~unchecked~int(83, ~#pnp_string~0.base, 38 + ~#pnp_string~0.offset, 1);call write~unchecked~int(78, ~#pnp_string~0.base, 39 + ~#pnp_string~0.offset, 1);call write~unchecked~int(58, ~#pnp_string~0.base, 40 + ~#pnp_string~0.offset, 1);call write~unchecked~int(49, ~#pnp_string~0.base, 41 + ~#pnp_string~0.offset, 1);call write~unchecked~int(59, ~#pnp_string~0.base, 42 + ~#pnp_string~0.offset, 1);call write~unchecked~int(0, ~#pnp_string~0.base, 43 + ~#pnp_string~0.offset, 1);~#strings~0.base, ~#strings~0.offset := 121, 0;call #Ultimate.allocInit(36, 121);call write~init~int(1, ~#strings~0.base, ~#strings~0.offset, 1);call write~init~$Pointer$(~#manufacturer~0.base, ~#manufacturer~0.offset, ~#strings~0.base, 1 + ~#strings~0.offset, 8);call write~init~int(2, ~#strings~0.base, 9 + ~#strings~0.offset, 1);call write~init~$Pointer$(~#product_desc~0.base, ~#product_desc~0.offset, ~#strings~0.base, 10 + ~#strings~0.offset, 8);call write~init~int(3, ~#strings~0.base, 18 + ~#strings~0.offset, 1);call write~init~$Pointer$(~#serial_num~0.base, ~#serial_num~0.offset, ~#strings~0.base, 19 + ~#strings~0.offset, 8);call write~init~int(0, ~#strings~0.base, 27 + ~#strings~0.offset, 1);call write~init~$Pointer$(0, 0, ~#strings~0.base, 28 + ~#strings~0.offset, 8);~#stringtab~0.base, ~#stringtab~0.offset := 122, 0;call #Ultimate.allocInit(10, 122);call write~init~int(1033, ~#stringtab~0.base, ~#stringtab~0.offset, 2);call write~init~$Pointer$(~#strings~0.base, ~#strings~0.offset, ~#stringtab~0.base, 2 + ~#stringtab~0.offset, 8);~#printer_io_operations~0.base, ~#printer_io_operations~0.offset := 123, 0;call #Ultimate.allocInit(200, 123);call write~init~$Pointer$(~#__this_module~0.base, ~#__this_module~0.offset, ~#printer_io_operations~0.base, ~#printer_io_operations~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_io_operations~0.base, 8 + ~#printer_io_operations~0.offset, 8);call write~init~$Pointer$(#funAddr~printer_read.base, #funAddr~printer_read.offset, ~#printer_io_operations~0.base, 16 + ~#printer_io_operations~0.offset, 8);call write~init~$Pointer$(#funAddr~printer_write.base, #funAddr~printer_write.offset, ~#printer_io_operations~0.base, 24 + ~#printer_io_operations~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_io_operations~0.base, 32 + ~#printer_io_operations~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_io_operations~0.base, 40 + ~#printer_io_operations~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_io_operations~0.base, 48 + ~#printer_io_operations~0.offset, 8);call write~init~$Pointer$(#funAddr~printer_poll.base, #funAddr~printer_poll.offset, ~#printer_io_operations~0.base, 56 + ~#printer_io_operations~0.offset, 8);call write~init~$Pointer$(#funAddr~printer_ioctl.base, #funAddr~printer_ioctl.offset, ~#printer_io_operations~0.base, 64 + ~#printer_io_operations~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_io_operations~0.base, 72 + ~#printer_io_operations~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_io_operations~0.base, 80 + ~#printer_io_operations~0.offset, 8);call write~init~$Pointer$(#funAddr~printer_open.base, #funAddr~printer_open.offset, ~#printer_io_operations~0.base, 88 + ~#printer_io_operations~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_io_operations~0.base, 96 + ~#printer_io_operations~0.offset, 8);call write~init~$Pointer$(#funAddr~printer_close.base, #funAddr~printer_close.offset, ~#printer_io_operations~0.base, 104 + ~#printer_io_operations~0.offset, 8);call write~init~$Pointer$(#funAddr~printer_fsync.base, #funAddr~printer_fsync.offset, ~#printer_io_operations~0.base, 112 + ~#printer_io_operations~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_io_operations~0.base, 120 + ~#printer_io_operations~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_io_operations~0.base, 128 + ~#printer_io_operations~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_io_operations~0.base, 136 + ~#printer_io_operations~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_io_operations~0.base, 144 + ~#printer_io_operations~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_io_operations~0.base, 152 + ~#printer_io_operations~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_io_operations~0.base, 160 + ~#printer_io_operations~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_io_operations~0.base, 168 + ~#printer_io_operations~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_io_operations~0.base, 176 + ~#printer_io_operations~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_io_operations~0.base, 184 + ~#printer_io_operations~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_io_operations~0.base, 192 + ~#printer_io_operations~0.offset, 8);~#printer_driver~0.base, ~#printer_driver~0.offset := 124, 0;call #Ultimate.allocInit(157, 124);call write~init~$Pointer$(~#driver_desc~0.base, ~#driver_desc~0.offset, ~#printer_driver~0.base, ~#printer_driver~0.offset, 8);call write~init~int(3, ~#printer_driver~0.base, 8 + ~#printer_driver~0.offset, 4);call write~init~$Pointer$(#funAddr~printer_bind.base, #funAddr~printer_bind.offset, ~#printer_driver~0.base, 12 + ~#printer_driver~0.offset, 8);call write~init~$Pointer$(#funAddr~printer_unbind.base, #funAddr~printer_unbind.offset, ~#printer_driver~0.base, 20 + ~#printer_driver~0.offset, 8);call write~init~$Pointer$(#funAddr~printer_setup.base, #funAddr~printer_setup.offset, ~#printer_driver~0.base, 28 + ~#printer_driver~0.offset, 8);call write~init~$Pointer$(#funAddr~printer_disconnect.base, #funAddr~printer_disconnect.offset, ~#printer_driver~0.base, 36 + ~#printer_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_driver~0.base, 44 + ~#printer_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_driver~0.base, 52 + ~#printer_driver~0.offset, 8);call write~init~$Pointer$(~#shortname~0.base, ~#shortname~0.offset, ~#printer_driver~0.base, 60 + ~#printer_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_driver~0.base, 68 + ~#printer_driver~0.offset, 8);call write~init~$Pointer$(~#__this_module~0.base, ~#__this_module~0.offset, ~#printer_driver~0.base, 76 + ~#printer_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_driver~0.base, 84 + ~#printer_driver~0.offset, 8);call write~init~int(0, ~#printer_driver~0.base, 92 + ~#printer_driver~0.offset, 1);call write~init~$Pointer$(0, 0, ~#printer_driver~0.base, 93 + ~#printer_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_driver~0.base, 101 + ~#printer_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_driver~0.base, 109 + ~#printer_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_driver~0.base, 117 + ~#printer_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_driver~0.base, 125 + ~#printer_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_driver~0.base, 133 + ~#printer_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_driver~0.base, 141 + ~#printer_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_driver~0.base, 149 + ~#printer_driver~0.offset, 8);~LDV_IN_INTERRUPT~0 := 0;~ldv_usb_gadget_class~0 := 0;~ldv_usb_gadget_chrdev~0 := 0;~ldv_usb_gadget~0 := 0; {16052#(= ~ldv_usb_gadget_class~0 0)} is VALID [2022-02-20 21:37:58,115 INFO L290 TraceCheckUtils]: 1: Hoare triple {16052#(= ~ldv_usb_gadget_class~0 0)} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret691#1, main_#t~nondet692#1, main_#t~switch693#1, main_#t~ret694#1, main_#t~ret695#1, main_#t~ret696#1, main_#t~ret697#1, main_#t~ret698#1, main_#t~ret699#1, main_#t~ret700#1, main_#t~ret701#1, main_#t~ret702#1, main_#t~nondet703#1, main_~var_group1~0#1.base, main_~var_group1~0#1.offset, main_~var_group2~0#1.base, main_~var_group2~0#1.offset, main_~res_printer_open_4~0#1, main_~var_printer_read_7_p1~0#1.base, main_~var_printer_read_7_p1~0#1.offset, main_~var_printer_read_7_p2~0#1, main_~var_printer_read_7_p3~0#1.base, main_~var_printer_read_7_p3~0#1.offset, main_~res_printer_read_7~0#1, main_~var_printer_write_8_p1~0#1.base, main_~var_printer_write_8_p1~0#1.offset, main_~var_printer_write_8_p2~0#1, main_~var_printer_write_8_p3~0#1.base, main_~var_printer_write_8_p3~0#1.offset, main_~res_printer_write_8~0#1, main_~var_printer_fsync_9_p1~0#1, main_~var_printer_poll_10_p1~0#1.base, main_~var_printer_poll_10_p1~0#1.offset, main_~var_printer_ioctl_11_p1~0#1, main_~var_printer_ioctl_11_p2~0#1, main_~var_group3~0#1.base, main_~var_group3~0#1.offset, main_~var_printer_setup_19_p1~0#1.base, main_~var_printer_setup_19_p1~0#1.offset, main_~ldv_s_printer_io_operations_file_operations~0#1, main_~ldv_s_printer_driver_usb_gadget_driver~0#1, main_~tmp~37#1, main_~tmp___0~18#1, main_~tmp___1~13#1;havoc main_~var_group1~0#1.base, main_~var_group1~0#1.offset;havoc main_~var_group2~0#1.base, main_~var_group2~0#1.offset;havoc main_~res_printer_open_4~0#1;havoc main_~var_printer_read_7_p1~0#1.base, main_~var_printer_read_7_p1~0#1.offset;havoc main_~var_printer_read_7_p2~0#1;havoc main_~var_printer_read_7_p3~0#1.base, main_~var_printer_read_7_p3~0#1.offset;havoc main_~res_printer_read_7~0#1;havoc main_~var_printer_write_8_p1~0#1.base, main_~var_printer_write_8_p1~0#1.offset;havoc main_~var_printer_write_8_p2~0#1;havoc main_~var_printer_write_8_p3~0#1.base, main_~var_printer_write_8_p3~0#1.offset;havoc main_~res_printer_write_8~0#1;havoc main_~var_printer_fsync_9_p1~0#1;havoc main_~var_printer_poll_10_p1~0#1.base, main_~var_printer_poll_10_p1~0#1.offset;havoc main_~var_printer_ioctl_11_p1~0#1;havoc main_~var_printer_ioctl_11_p2~0#1;havoc main_~var_group3~0#1.base, main_~var_group3~0#1.offset;havoc main_~var_printer_setup_19_p1~0#1.base, main_~var_printer_setup_19_p1~0#1.offset;havoc main_~ldv_s_printer_io_operations_file_operations~0#1;havoc main_~ldv_s_printer_driver_usb_gadget_driver~0#1;havoc main_~tmp~37#1;havoc main_~tmp___0~18#1;havoc main_~tmp___1~13#1;main_~ldv_s_printer_io_operations_file_operations~0#1 := 0;main_~ldv_s_printer_driver_usb_gadget_driver~0#1 := 0;~LDV_IN_INTERRUPT~0 := 1;assume { :begin_inline_ldv_initialize } true; {16052#(= ~ldv_usb_gadget_class~0 0)} is VALID [2022-02-20 21:37:58,115 INFO L290 TraceCheckUtils]: 2: Hoare triple {16052#(= ~ldv_usb_gadget_class~0 0)} assume { :end_inline_ldv_initialize } true; {16052#(= ~ldv_usb_gadget_class~0 0)} is VALID [2022-02-20 21:37:58,115 INFO L272 TraceCheckUtils]: 3: Hoare triple {16052#(= ~ldv_usb_gadget_class~0 0)} call ldv_handler_precall(); {16050#true} is VALID [2022-02-20 21:37:58,116 INFO L290 TraceCheckUtils]: 4: Hoare triple {16050#true} assume true; {16050#true} is VALID [2022-02-20 21:37:58,116 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {16050#true} {16052#(= ~ldv_usb_gadget_class~0 0)} #3317#return; {16052#(= ~ldv_usb_gadget_class~0 0)} is VALID [2022-02-20 21:37:58,116 INFO L290 TraceCheckUtils]: 6: Hoare triple {16052#(= ~ldv_usb_gadget_class~0 0)} assume { :begin_inline_init } true;havoc init_#res#1;havoc init_#t~ret678#1.base, init_#t~ret678#1.offset, init_#t~ret679#1, init_#t~ret680#1, init_#t~nondet681#1, init_#t~ret682#1, init_#t~nondet683#1, init_#t~ret684#1, init_#t~mem685#1, init_#t~nondet686#1, init_~status~4#1, init_~tmp~36#1.base, init_~tmp~36#1.offset, init_~tmp___0~17#1, init_~tmp___1~12#1;havoc init_~status~4#1;havoc init_~tmp~36#1.base, init_~tmp~36#1.offset;havoc init_~tmp___0~17#1;havoc init_~tmp___1~12#1;assume { :begin_inline_ldv_create_class } true;havoc ldv_create_class_#res#1.base, ldv_create_class_#res#1.offset;havoc ldv_create_class_#t~ret713#1.base, ldv_create_class_#t~ret713#1.offset, ldv_create_class_~is_got~0#1.base, ldv_create_class_~is_got~0#1.offset;havoc ldv_create_class_~is_got~0#1.base, ldv_create_class_~is_got~0#1.offset; {16052#(= ~ldv_usb_gadget_class~0 0)} is VALID [2022-02-20 21:37:58,117 INFO L272 TraceCheckUtils]: 7: Hoare triple {16052#(= ~ldv_usb_gadget_class~0 0)} call ldv_create_class_#t~ret713#1.base, ldv_create_class_#t~ret713#1.offset := ldv_malloc(120); {16059#(and (= |old(#length)| |#length|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 21:37:58,117 INFO L290 TraceCheckUtils]: 8: Hoare triple {16059#(and (= |old(#length)| |#length|) (= |old(#valid)| |#valid|))} ~size#1 := #in~size#1;assume -2147483648 <= #t~nondet89#1 && #t~nondet89#1 <= 2147483647; {16050#true} is VALID [2022-02-20 21:37:58,117 INFO L290 TraceCheckUtils]: 9: Hoare triple {16050#true} assume !(0 != #t~nondet89#1);havoc #t~nondet89#1;#res#1.base, #res#1.offset := 0, 0; {16050#true} is VALID [2022-02-20 21:37:58,117 INFO L290 TraceCheckUtils]: 10: Hoare triple {16050#true} assume true; {16050#true} is VALID [2022-02-20 21:37:58,118 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {16050#true} {16052#(= ~ldv_usb_gadget_class~0 0)} #3319#return; {16052#(= ~ldv_usb_gadget_class~0 0)} is VALID [2022-02-20 21:37:58,118 INFO L290 TraceCheckUtils]: 12: Hoare triple {16052#(= ~ldv_usb_gadget_class~0 0)} ldv_create_class_~is_got~0#1.base, ldv_create_class_~is_got~0#1.offset := ldv_create_class_#t~ret713#1.base, ldv_create_class_#t~ret713#1.offset;havoc ldv_create_class_#t~ret713#1.base, ldv_create_class_#t~ret713#1.offset; {16052#(= ~ldv_usb_gadget_class~0 0)} is VALID [2022-02-20 21:37:58,118 INFO L290 TraceCheckUtils]: 13: Hoare triple {16052#(= ~ldv_usb_gadget_class~0 0)} assume (ldv_create_class_~is_got~0#1.base + ldv_create_class_~is_got~0#1.offset) % 18446744073709551616 <= 2012; {16052#(= ~ldv_usb_gadget_class~0 0)} is VALID [2022-02-20 21:37:58,119 INFO L290 TraceCheckUtils]: 14: Hoare triple {16052#(= ~ldv_usb_gadget_class~0 0)} assume 0 == ~ldv_usb_gadget~0; {16052#(= ~ldv_usb_gadget_class~0 0)} is VALID [2022-02-20 21:37:58,119 INFO L290 TraceCheckUtils]: 15: Hoare triple {16052#(= ~ldv_usb_gadget_class~0 0)} assume !(0 == ~ldv_usb_gadget_class~0); {16051#false} is VALID [2022-02-20 21:37:58,119 INFO L272 TraceCheckUtils]: 16: Hoare triple {16051#false} call ldv_error(); {16051#false} is VALID [2022-02-20 21:37:58,119 INFO L290 TraceCheckUtils]: 17: Hoare triple {16051#false} assume !false; {16051#false} is VALID [2022-02-20 21:37:58,120 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:37:58,120 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 21:37:58,120 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1657103107] [2022-02-20 21:37:58,120 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1657103107] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 21:37:58,120 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 21:37:58,120 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-02-20 21:37:58,121 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [935300614] [2022-02-20 21:37:58,121 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 21:37:58,122 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 3.25) internal successors, (13), 3 states have internal predecessors, (13), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) Word has length 18 [2022-02-20 21:37:58,122 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 21:37:58,122 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 3.25) internal successors, (13), 3 states have internal predecessors, (13), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 21:37:58,160 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:37:58,161 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-02-20 21:37:58,161 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 21:37:58,161 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-02-20 21:37:58,161 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-02-20 21:37:58,162 INFO L87 Difference]: Start difference. First operand 2330 states and 3366 transitions. Second operand has 4 states, 4 states have (on average 3.25) internal successors, (13), 3 states have internal predecessors, (13), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 21:38:02,245 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.03s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers []