./Ultimate.py --spec ../sv-benchmarks/c/properties/unreach-call.prp --file ../sv-benchmarks/c/ldv-validator-v0.6/linux-stable-2b9ec6c-1-106_1a-drivers--usb--gadget--g_printer.ko-entry_point.cil.out.i --full-output -ea --architecture 64bit -------------------------------------------------------------------------------- Checking for ERROR reachability Using default analysis Version 03d7b7b3 Calling Ultimate with: /usr/bin/java -Dosgi.configuration.area=/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/config -Xmx15G -Xms4m -ea -jar /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data -tc /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/AutomizerReach.xml -i ../sv-benchmarks/c/ldv-validator-v0.6/linux-stable-2b9ec6c-1-106_1a-drivers--usb--gadget--g_printer.ko-entry_point.cil.out.i -s /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-64bit-Automizer_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux --witnessprinter.witness.filename witness.graphml --witnessprinter.write.witness.besides.input.file false --witnessprinter.graph.data.specification CHECK( init(main()), LTL(G ! call(reach_error())) ) --witnessprinter.graph.data.producer Automizer --witnessprinter.graph.data.architecture 64bit --witnessprinter.graph.data.programhash e3555fedd9f92961bad45780711b37c7eb42c00277e0bac6769cfc03eaec14a8 --- Real Ultimate output --- This is Ultimate 0.2.2-dev-03d7b7b [2022-02-20 22:03:46,506 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-02-20 22:03:46,507 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-02-20 22:03:46,538 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-02-20 22:03:46,540 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-02-20 22:03:46,543 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-02-20 22:03:46,544 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-02-20 22:03:46,548 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-02-20 22:03:46,550 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-02-20 22:03:46,563 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-02-20 22:03:46,564 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-02-20 22:03:46,564 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-02-20 22:03:46,565 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-02-20 22:03:46,565 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-02-20 22:03:46,566 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-02-20 22:03:46,567 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-02-20 22:03:46,567 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-02-20 22:03:46,568 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-02-20 22:03:46,568 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-02-20 22:03:46,569 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-02-20 22:03:46,570 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-02-20 22:03:46,580 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-02-20 22:03:46,580 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-02-20 22:03:46,581 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-02-20 22:03:46,582 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-02-20 22:03:46,582 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-02-20 22:03:46,583 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-02-20 22:03:46,583 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-02-20 22:03:46,583 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-02-20 22:03:46,584 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-02-20 22:03:46,584 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-02-20 22:03:46,585 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-02-20 22:03:46,585 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-02-20 22:03:46,585 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-02-20 22:03:46,586 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-02-20 22:03:46,586 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-02-20 22:03:46,587 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-02-20 22:03:46,587 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-02-20 22:03:46,587 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-02-20 22:03:46,587 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-02-20 22:03:46,588 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-02-20 22:03:46,589 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-64bit-Automizer_Default.epf [2022-02-20 22:03:46,601 INFO L113 SettingsManager]: Loading preferences was successful [2022-02-20 22:03:46,604 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-02-20 22:03:46,604 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-02-20 22:03:46,605 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-02-20 22:03:46,605 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-02-20 22:03:46,605 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-02-20 22:03:46,606 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-02-20 22:03:46,606 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-02-20 22:03:46,606 INFO L138 SettingsManager]: * Use SBE=true [2022-02-20 22:03:46,606 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-02-20 22:03:46,607 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-02-20 22:03:46,607 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-02-20 22:03:46,607 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-02-20 22:03:46,607 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-02-20 22:03:46,608 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-02-20 22:03:46,608 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-02-20 22:03:46,608 INFO L138 SettingsManager]: * Use constant arrays=true [2022-02-20 22:03:46,608 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-02-20 22:03:46,608 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-02-20 22:03:46,608 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-02-20 22:03:46,608 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-02-20 22:03:46,609 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 22:03:46,609 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-02-20 22:03:46,609 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-02-20 22:03:46,609 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-02-20 22:03:46,609 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-02-20 22:03:46,609 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-02-20 22:03:46,610 INFO L138 SettingsManager]: * Large block encoding in concurrent analysis=OFF [2022-02-20 22:03:46,610 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2022-02-20 22:03:46,611 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-02-20 22:03:46,611 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 -> e3555fedd9f92961bad45780711b37c7eb42c00277e0bac6769cfc03eaec14a8 [2022-02-20 22:03:46,787 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-02-20 22:03:46,817 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-02-20 22:03:46,819 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-02-20 22:03:46,819 INFO L271 PluginConnector]: Initializing CDTParser... [2022-02-20 22:03:46,820 INFO L275 PluginConnector]: CDTParser initialized [2022-02-20 22:03:46,821 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/ldv-validator-v0.6/linux-stable-2b9ec6c-1-106_1a-drivers--usb--gadget--g_printer.ko-entry_point.cil.out.i [2022-02-20 22:03:46,882 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/6d3de5604/79af525727694331a7c565a0703619f1/FLAG9635e2325 [2022-02-20 22:03:47,484 INFO L306 CDTParser]: Found 1 translation units. [2022-02-20 22:03:47,485 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/ldv-validator-v0.6/linux-stable-2b9ec6c-1-106_1a-drivers--usb--gadget--g_printer.ko-entry_point.cil.out.i [2022-02-20 22:03:47,513 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/6d3de5604/79af525727694331a7c565a0703619f1/FLAG9635e2325 [2022-02-20 22:03:47,669 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/6d3de5604/79af525727694331a7c565a0703619f1 [2022-02-20 22:03:47,672 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-02-20 22:03:47,674 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2022-02-20 22:03:47,676 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-02-20 22:03:47,676 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-02-20 22:03:47,678 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-02-20 22:03:47,679 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 10:03:47" (1/1) ... [2022-02-20 22:03:47,680 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@7bdbb967 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 10:03:47, skipping insertion in model container [2022-02-20 22:03:47,680 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 10:03:47" (1/1) ... [2022-02-20 22:03:47,685 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-02-20 22:03:47,755 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-02-20 22:03:48,202 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-validator-v0.6/linux-stable-2b9ec6c-1-106_1a-drivers--usb--gadget--g_printer.ko-entry_point.cil.out.i[88044,88057] [2022-02-20 22:03:48,498 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 22:03:48,531 INFO L203 MainTranslator]: Completed pre-run [2022-02-20 22:03:48,603 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-validator-v0.6/linux-stable-2b9ec6c-1-106_1a-drivers--usb--gadget--g_printer.ko-entry_point.cil.out.i[88044,88057] [2022-02-20 22:03:48,772 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 22:03:48,846 INFO L208 MainTranslator]: Completed translation [2022-02-20 22:03:48,847 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 10:03:48 WrapperNode [2022-02-20 22:03:48,848 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-02-20 22:03:48,849 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2022-02-20 22:03:48,849 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2022-02-20 22:03:48,849 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2022-02-20 22:03:48,854 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 10:03:48" (1/1) ... [2022-02-20 22:03:48,901 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 10:03:48" (1/1) ... [2022-02-20 22:03:49,030 INFO L137 Inliner]: procedures = 203, calls = 1280, calls flagged for inlining = 87, calls inlined = 87, statements flattened = 3595 [2022-02-20 22:03:49,030 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2022-02-20 22:03:49,031 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-02-20 22:03:49,031 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-02-20 22:03:49,031 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-02-20 22:03:49,037 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 10:03:48" (1/1) ... [2022-02-20 22:03:49,037 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 10:03:48" (1/1) ... [2022-02-20 22:03:49,059 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 10:03:48" (1/1) ... [2022-02-20 22:03:49,060 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 10:03:48" (1/1) ... [2022-02-20 22:03:49,164 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 10:03:48" (1/1) ... [2022-02-20 22:03:49,183 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 10:03:48" (1/1) ... [2022-02-20 22:03:49,202 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 10:03:48" (1/1) ... [2022-02-20 22:03:49,223 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-02-20 22:03:49,224 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-02-20 22:03:49,224 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-02-20 22:03:49,225 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-02-20 22:03:49,226 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 10:03:48" (1/1) ... [2022-02-20 22:03:49,231 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 22:03:49,238 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 22:03:49,265 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 22:03:49,299 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 22:03:49,330 INFO L130 BoogieDeclarations]: Found specification of procedure printer_req_free [2022-02-20 22:03:49,331 INFO L138 BoogieDeclarations]: Found implementation of procedure printer_req_free [2022-02-20 22:03:49,331 INFO L130 BoogieDeclarations]: Found specification of procedure ldv_undef_int_nonpositive [2022-02-20 22:03:49,331 INFO L138 BoogieDeclarations]: Found implementation of procedure ldv_undef_int_nonpositive [2022-02-20 22:03:49,331 INFO L130 BoogieDeclarations]: Found specification of procedure read~unchecked~$Pointer$ [2022-02-20 22:03:49,331 INFO L130 BoogieDeclarations]: Found specification of procedure write~unchecked~$Pointer$ [2022-02-20 22:03:49,331 INFO L130 BoogieDeclarations]: Found specification of procedure ldv_stop [2022-02-20 22:03:49,331 INFO L138 BoogieDeclarations]: Found implementation of procedure ldv_stop [2022-02-20 22:03:49,332 INFO L130 BoogieDeclarations]: Found specification of procedure get_gadget_data [2022-02-20 22:03:49,332 INFO L138 BoogieDeclarations]: Found implementation of procedure get_gadget_data [2022-02-20 22:03:49,332 INFO L130 BoogieDeclarations]: Found specification of procedure usb_ep_free_request [2022-02-20 22:03:49,332 INFO L138 BoogieDeclarations]: Found implementation of procedure usb_ep_free_request [2022-02-20 22:03:49,332 INFO L130 BoogieDeclarations]: Found specification of procedure printer_reset_interface [2022-02-20 22:03:49,332 INFO L138 BoogieDeclarations]: Found implementation of procedure printer_reset_interface [2022-02-20 22:03:49,332 INFO L130 BoogieDeclarations]: Found specification of procedure get_current [2022-02-20 22:03:49,332 INFO L138 BoogieDeclarations]: Found implementation of procedure get_current [2022-02-20 22:03:49,332 INFO L130 BoogieDeclarations]: Found specification of procedure ldv_malloc [2022-02-20 22:03:49,333 INFO L138 BoogieDeclarations]: Found implementation of procedure ldv_malloc [2022-02-20 22:03:49,333 INFO L130 BoogieDeclarations]: Found specification of procedure printer_soft_reset [2022-02-20 22:03:49,333 INFO L138 BoogieDeclarations]: Found implementation of procedure printer_soft_reset [2022-02-20 22:03:49,333 INFO L130 BoogieDeclarations]: Found specification of procedure ldv_unregister_class [2022-02-20 22:03:49,333 INFO L138 BoogieDeclarations]: Found implementation of procedure ldv_unregister_class [2022-02-20 22:03:49,333 INFO L130 BoogieDeclarations]: Found specification of procedure list_del_init [2022-02-20 22:03:49,333 INFO L138 BoogieDeclarations]: Found implementation of procedure list_del_init [2022-02-20 22:03:49,333 INFO L130 BoogieDeclarations]: Found specification of procedure setup_rx_reqs [2022-02-20 22:03:49,334 INFO L138 BoogieDeclarations]: Found implementation of procedure setup_rx_reqs [2022-02-20 22:03:49,334 INFO L130 BoogieDeclarations]: Found specification of procedure mutex_unlock [2022-02-20 22:03:49,334 INFO L138 BoogieDeclarations]: Found implementation of procedure mutex_unlock [2022-02-20 22:03:49,334 INFO L130 BoogieDeclarations]: Found specification of procedure ldv_error [2022-02-20 22:03:49,334 INFO L138 BoogieDeclarations]: Found implementation of procedure ldv_error [2022-02-20 22:03:49,334 INFO L130 BoogieDeclarations]: Found specification of procedure usb_gadget_vbus_draw [2022-02-20 22:03:49,334 INFO L138 BoogieDeclarations]: Found implementation of procedure usb_gadget_vbus_draw [2022-02-20 22:03:49,334 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-02-20 22:03:49,334 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-02-20 22:03:49,335 INFO L130 BoogieDeclarations]: Found specification of procedure spinlock_check [2022-02-20 22:03:49,335 INFO L138 BoogieDeclarations]: Found implementation of procedure spinlock_check [2022-02-20 22:03:49,335 INFO L130 BoogieDeclarations]: Found specification of procedure poll_wait [2022-02-20 22:03:49,335 INFO L138 BoogieDeclarations]: Found implementation of procedure poll_wait [2022-02-20 22:03:49,335 INFO L130 BoogieDeclarations]: Found specification of procedure printer_fsync [2022-02-20 22:03:49,335 INFO L138 BoogieDeclarations]: Found implementation of procedure printer_fsync [2022-02-20 22:03:49,335 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2022-02-20 22:03:49,336 INFO L130 BoogieDeclarations]: Found specification of procedure INIT_LIST_HEAD [2022-02-20 22:03:49,336 INFO L138 BoogieDeclarations]: Found implementation of procedure INIT_LIST_HEAD [2022-02-20 22:03:49,336 INFO L130 BoogieDeclarations]: Found specification of procedure read~$Pointer$ [2022-02-20 22:03:49,336 INFO L130 BoogieDeclarations]: Found specification of procedure printer_open [2022-02-20 22:03:49,336 INFO L138 BoogieDeclarations]: Found implementation of procedure printer_open [2022-02-20 22:03:49,336 INFO L130 BoogieDeclarations]: Found specification of procedure printer_bind [2022-02-20 22:03:49,336 INFO L138 BoogieDeclarations]: Found implementation of procedure printer_bind [2022-02-20 22:03:49,337 INFO L130 BoogieDeclarations]: Found specification of procedure strlcpy [2022-02-20 22:03:49,337 INFO L138 BoogieDeclarations]: Found implementation of procedure strlcpy [2022-02-20 22:03:49,337 INFO L130 BoogieDeclarations]: Found specification of procedure ldv_is_err [2022-02-20 22:03:49,337 INFO L138 BoogieDeclarations]: Found implementation of procedure ldv_is_err [2022-02-20 22:03:49,337 INFO L130 BoogieDeclarations]: Found specification of procedure signal_pending [2022-02-20 22:03:49,337 INFO L138 BoogieDeclarations]: Found implementation of procedure signal_pending [2022-02-20 22:03:49,337 INFO L130 BoogieDeclarations]: Found specification of procedure spin_unlock_irqrestore [2022-02-20 22:03:49,337 INFO L138 BoogieDeclarations]: Found implementation of procedure spin_unlock_irqrestore [2022-02-20 22:03:49,338 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-02-20 22:03:49,338 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~$Pointer$ [2022-02-20 22:03:49,339 INFO L130 BoogieDeclarations]: Found specification of procedure trace_kmalloc [2022-02-20 22:03:49,339 INFO L138 BoogieDeclarations]: Found implementation of procedure trace_kmalloc [2022-02-20 22:03:49,339 INFO L130 BoogieDeclarations]: Found specification of procedure might_fault [2022-02-20 22:03:49,339 INFO L138 BoogieDeclarations]: Found implementation of procedure might_fault [2022-02-20 22:03:49,339 INFO L130 BoogieDeclarations]: Found specification of procedure list_del [2022-02-20 22:03:49,339 INFO L138 BoogieDeclarations]: Found implementation of procedure list_del [2022-02-20 22:03:49,339 INFO L130 BoogieDeclarations]: Found specification of procedure unregister_chrdev_region [2022-02-20 22:03:49,340 INFO L138 BoogieDeclarations]: Found implementation of procedure unregister_chrdev_region [2022-02-20 22:03:49,340 INFO L130 BoogieDeclarations]: Found specification of procedure kmalloc [2022-02-20 22:03:49,340 INFO L138 BoogieDeclarations]: Found implementation of procedure kmalloc [2022-02-20 22:03:49,340 INFO L130 BoogieDeclarations]: Found specification of procedure _raw_spin_lock_irqsave [2022-02-20 22:03:49,340 INFO L138 BoogieDeclarations]: Found implementation of procedure _raw_spin_lock_irqsave [2022-02-20 22:03:49,340 INFO L130 BoogieDeclarations]: Found specification of procedure printer_req_alloc [2022-02-20 22:03:49,340 INFO L138 BoogieDeclarations]: Found implementation of procedure printer_req_alloc [2022-02-20 22:03:49,341 INFO L130 BoogieDeclarations]: Found specification of procedure mutex_lock_nested [2022-02-20 22:03:49,341 INFO L138 BoogieDeclarations]: Found implementation of procedure mutex_lock_nested [2022-02-20 22:03:49,341 INFO L130 BoogieDeclarations]: Found specification of procedure schedule [2022-02-20 22:03:49,341 INFO L138 BoogieDeclarations]: Found implementation of procedure schedule [2022-02-20 22:03:49,341 INFO L130 BoogieDeclarations]: Found specification of procedure read~unchecked~int [2022-02-20 22:03:49,341 INFO L130 BoogieDeclarations]: Found specification of procedure ldv_zalloc [2022-02-20 22:03:49,341 INFO L138 BoogieDeclarations]: Found implementation of procedure ldv_zalloc [2022-02-20 22:03:49,342 INFO L130 BoogieDeclarations]: Found specification of procedure _copy_from_user [2022-02-20 22:03:49,342 INFO L138 BoogieDeclarations]: Found implementation of procedure _copy_from_user [2022-02-20 22:03:49,342 INFO L130 BoogieDeclarations]: Found specification of procedure ##fun~$Pointer$~X~int~TO~int [2022-02-20 22:03:49,342 INFO L138 BoogieDeclarations]: Found implementation of procedure ##fun~$Pointer$~X~int~TO~int [2022-02-20 22:03:49,342 INFO L130 BoogieDeclarations]: Found specification of procedure list_empty [2022-02-20 22:03:49,342 INFO L138 BoogieDeclarations]: Found implementation of procedure list_empty [2022-02-20 22:03:49,342 INFO L130 BoogieDeclarations]: Found specification of procedure write~unchecked~int [2022-02-20 22:03:49,342 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-02-20 22:03:49,343 INFO L130 BoogieDeclarations]: Found specification of procedure printer_poll [2022-02-20 22:03:49,343 INFO L138 BoogieDeclarations]: Found implementation of procedure printer_poll [2022-02-20 22:03:49,343 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.C_memcpy [2022-02-20 22:03:49,343 INFO L138 BoogieDeclarations]: Found implementation of procedure #Ultimate.C_memcpy [2022-02-20 22:03:49,343 INFO L130 BoogieDeclarations]: Found specification of procedure set_printer_interface [2022-02-20 22:03:49,343 INFO L138 BoogieDeclarations]: Found implementation of procedure set_printer_interface [2022-02-20 22:03:49,343 INFO L130 BoogieDeclarations]: Found specification of procedure class_destroy [2022-02-20 22:03:49,344 INFO L138 BoogieDeclarations]: Found implementation of procedure class_destroy [2022-02-20 22:03:49,344 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-02-20 22:03:49,344 INFO L130 BoogieDeclarations]: Found specification of procedure usb_ep_queue [2022-02-20 22:03:49,344 INFO L138 BoogieDeclarations]: Found implementation of procedure usb_ep_queue [2022-02-20 22:03:49,345 INFO L130 BoogieDeclarations]: Found specification of procedure set_interface [2022-02-20 22:03:49,345 INFO L138 BoogieDeclarations]: Found implementation of procedure set_interface [2022-02-20 22:03:49,345 INFO L130 BoogieDeclarations]: Found specification of procedure printer_setup_complete [2022-02-20 22:03:49,345 INFO L138 BoogieDeclarations]: Found implementation of procedure printer_setup_complete [2022-02-20 22:03:49,345 INFO L130 BoogieDeclarations]: Found specification of procedure ldv__builtin_expect [2022-02-20 22:03:49,345 INFO L138 BoogieDeclarations]: Found implementation of procedure ldv__builtin_expect [2022-02-20 22:03:49,346 INFO L130 BoogieDeclarations]: Found specification of procedure printer_write [2022-02-20 22:03:49,346 INFO L138 BoogieDeclarations]: Found implementation of procedure printer_write [2022-02-20 22:03:49,346 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnHeap [2022-02-20 22:03:49,346 INFO L130 BoogieDeclarations]: Found specification of procedure strrchr [2022-02-20 22:03:49,346 INFO L130 BoogieDeclarations]: Found specification of procedure printer_unbind [2022-02-20 22:03:49,346 INFO L138 BoogieDeclarations]: Found implementation of procedure printer_unbind [2022-02-20 22:03:49,346 INFO L130 BoogieDeclarations]: Found specification of procedure kmem_cache_alloc_notrace [2022-02-20 22:03:49,346 INFO L130 BoogieDeclarations]: Found specification of procedure printer_close [2022-02-20 22:03:49,346 INFO L138 BoogieDeclarations]: Found implementation of procedure printer_close [2022-02-20 22:03:49,347 INFO L130 BoogieDeclarations]: Found specification of procedure __list_add [2022-02-20 22:03:49,347 INFO L138 BoogieDeclarations]: Found implementation of procedure __list_add [2022-02-20 22:03:49,347 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-02-20 22:03:49,347 INFO L130 BoogieDeclarations]: Found specification of procedure write~$Pointer$ [2022-02-20 22:03:49,347 INFO L130 BoogieDeclarations]: Found specification of procedure __bad_percpu_size [2022-02-20 22:03:49,348 INFO L130 BoogieDeclarations]: Found specification of procedure init_utsname [2022-02-20 22:03:49,348 INFO L138 BoogieDeclarations]: Found implementation of procedure init_utsname [2022-02-20 22:03:49,350 INFO L130 BoogieDeclarations]: Found specification of procedure usb_ep_enable [2022-02-20 22:03:49,350 INFO L138 BoogieDeclarations]: Found implementation of procedure usb_ep_enable [2022-02-20 22:03:49,350 INFO L130 BoogieDeclarations]: Found specification of procedure rcu_read_lock_sched_notrace [2022-02-20 22:03:49,350 INFO L138 BoogieDeclarations]: Found implementation of procedure rcu_read_lock_sched_notrace [2022-02-20 22:03:49,351 INFO L130 BoogieDeclarations]: Found specification of procedure __wake_up [2022-02-20 22:03:49,351 INFO L138 BoogieDeclarations]: Found implementation of procedure __wake_up [2022-02-20 22:03:49,352 INFO L130 BoogieDeclarations]: Found specification of procedure list_add [2022-02-20 22:03:49,352 INFO L138 BoogieDeclarations]: Found implementation of procedure list_add [2022-02-20 22:03:49,352 INFO L130 BoogieDeclarations]: Found specification of procedure usb_ep_autoconfig [2022-02-20 22:03:49,356 INFO L138 BoogieDeclarations]: Found implementation of procedure usb_ep_autoconfig [2022-02-20 22:03:49,356 INFO L130 BoogieDeclarations]: Found specification of procedure prepare_to_wait [2022-02-20 22:03:49,356 INFO L138 BoogieDeclarations]: Found implementation of procedure prepare_to_wait [2022-02-20 22:03:49,356 INFO L130 BoogieDeclarations]: Found specification of procedure warn_slowpath_null [2022-02-20 22:03:49,356 INFO L138 BoogieDeclarations]: Found implementation of procedure warn_slowpath_null [2022-02-20 22:03:49,356 INFO L130 BoogieDeclarations]: Found specification of procedure printer_setup [2022-02-20 22:03:49,356 INFO L138 BoogieDeclarations]: Found implementation of procedure printer_setup [2022-02-20 22:03:49,357 INFO L130 BoogieDeclarations]: Found specification of procedure set_gadget_data [2022-02-20 22:03:49,357 INFO L138 BoogieDeclarations]: Found implementation of procedure set_gadget_data [2022-02-20 22:03:49,357 INFO L130 BoogieDeclarations]: Found specification of procedure ##fun~$Pointer$~X~$Pointer$~TO~int [2022-02-20 22:03:49,357 INFO L138 BoogieDeclarations]: Found implementation of procedure ##fun~$Pointer$~X~$Pointer$~TO~int [2022-02-20 22:03:49,357 INFO L130 BoogieDeclarations]: Found specification of procedure usb_ep_disable [2022-02-20 22:03:49,357 INFO L138 BoogieDeclarations]: Found implementation of procedure usb_ep_disable [2022-02-20 22:03:49,358 INFO L130 BoogieDeclarations]: Found specification of procedure __init_waitqueue_head [2022-02-20 22:03:49,358 INFO L138 BoogieDeclarations]: Found implementation of procedure __init_waitqueue_head [2022-02-20 22:03:49,358 INFO L130 BoogieDeclarations]: Found specification of procedure ldv_unregister_chrdev_region [2022-02-20 22:03:49,358 INFO L138 BoogieDeclarations]: Found implementation of procedure ldv_unregister_chrdev_region [2022-02-20 22:03:49,358 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-02-20 22:03:49,358 INFO L130 BoogieDeclarations]: Found specification of procedure finish_wait [2022-02-20 22:03:49,358 INFO L138 BoogieDeclarations]: Found implementation of procedure finish_wait [2022-02-20 22:03:49,358 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-02-20 22:03:49,359 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-02-20 22:03:49,359 INFO L130 BoogieDeclarations]: Found specification of procedure IS_ERR [2022-02-20 22:03:49,359 INFO L138 BoogieDeclarations]: Found implementation of procedure IS_ERR [2022-02-20 22:03:49,777 INFO L234 CfgBuilder]: Building ICFG [2022-02-20 22:03:49,779 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-02-20 22:03:49,967 INFO L766 $ProcedureCfgBuilder]: dead code at ProgramPoint ldv_stopFINAL: assume true; [2022-02-20 22:04:04,382 INFO L275 CfgBuilder]: Performing block encoding [2022-02-20 22:04:04,405 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-02-20 22:04:04,406 INFO L299 CfgBuilder]: Removed 0 assume(true) statements. [2022-02-20 22:04:04,408 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 10:04:04 BoogieIcfgContainer [2022-02-20 22:04:04,408 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-02-20 22:04:04,409 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-02-20 22:04:04,409 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-02-20 22:04:04,411 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-02-20 22:04:04,412 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 20.02 10:03:47" (1/3) ... [2022-02-20 22:04:04,412 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@320ff2f1 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 10:04:04, skipping insertion in model container [2022-02-20 22:04:04,412 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 10:03:48" (2/3) ... [2022-02-20 22:04:04,412 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@320ff2f1 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 10:04:04, skipping insertion in model container [2022-02-20 22:04:04,412 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 10:04:04" (3/3) ... [2022-02-20 22:04:04,413 INFO L111 eAbstractionObserver]: Analyzing ICFG linux-stable-2b9ec6c-1-106_1a-drivers--usb--gadget--g_printer.ko-entry_point.cil.out.i [2022-02-20 22:04:04,416 INFO L205 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-02-20 22:04:04,416 INFO L164 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-02-20 22:04:04,458 INFO L338 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-02-20 22:04:04,463 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 22:04:04,463 INFO L340 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-02-20 22:04:04,510 INFO L276 IsEmpty]: Start isEmpty. Operand has 1328 states, 937 states have (on average 1.4130202774813234) internal successors, (1324), 980 states have internal predecessors, (1324), 323 states have call successors, (323), 67 states have call predecessors, (323), 66 states have return successors, (319), 316 states have call predecessors, (319), 319 states have call successors, (319) [2022-02-20 22:04:04,517 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 59 [2022-02-20 22:04:04,517 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 22:04:04,517 INFO L514 BasicCegarLoop]: trace histogram [6, 6, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 22:04:04,518 INFO L402 AbstractCegarLoop]: === Iteration 1 === Targeting ldv_errorErr0ASSERT_VIOLATIONERROR_FUNCTION === [ldv_errorErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 22:04:04,521 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 22:04:04,521 INFO L85 PathProgramCache]: Analyzing trace with hash -826194177, now seen corresponding path program 1 times [2022-02-20 22:04:04,526 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 22:04:04,527 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1183519397] [2022-02-20 22:04:04,527 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 22:04:04,528 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 22:04:04,859 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 22:04:05,029 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 22:04:05,037 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 22:04:05,050 INFO L290 TraceCheckUtils]: 0: Hoare triple {1364#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} ~size#1 := #in~size#1;havoc ~p~1#1.base, ~p~1#1.offset;havoc ~tmp~6#1.base, ~tmp~6#1.offset;havoc ~tmp___0~4#1;assume -2147483648 <= #t~nondet99#1 && #t~nondet99#1 <= 2147483647;~tmp___0~4#1 := #t~nondet99#1;havoc #t~nondet99#1; {1331#true} is VALID [2022-02-20 22:04:05,050 INFO L290 TraceCheckUtils]: 1: Hoare triple {1331#true} assume 0 != ~tmp___0~4#1;#res#1.base, #res#1.offset := 0, 0; {1331#true} is VALID [2022-02-20 22:04:05,051 INFO L290 TraceCheckUtils]: 2: Hoare triple {1331#true} assume true; {1331#true} is VALID [2022-02-20 22:04:05,051 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1331#true} {1331#true} #3582#return; {1331#true} is VALID [2022-02-20 22:04:05,052 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 8 [2022-02-20 22:04:05,056 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 22:04:05,071 INFO L290 TraceCheckUtils]: 0: Hoare triple {1364#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} ~size#1 := #in~size#1;havoc ~p~1#1.base, ~p~1#1.offset;havoc ~tmp~6#1.base, ~tmp~6#1.offset;havoc ~tmp___0~4#1;assume -2147483648 <= #t~nondet99#1 && #t~nondet99#1 <= 2147483647;~tmp___0~4#1 := #t~nondet99#1;havoc #t~nondet99#1; {1331#true} is VALID [2022-02-20 22:04:05,072 INFO L290 TraceCheckUtils]: 1: Hoare triple {1331#true} assume 0 != ~tmp___0~4#1;#res#1.base, #res#1.offset := 0, 0; {1331#true} is VALID [2022-02-20 22:04:05,072 INFO L290 TraceCheckUtils]: 2: Hoare triple {1331#true} assume true; {1331#true} is VALID [2022-02-20 22:04:05,072 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1331#true} {1331#true} #3584#return; {1331#true} is VALID [2022-02-20 22:04:05,072 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 14 [2022-02-20 22:04:05,075 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 22:04:05,082 INFO L290 TraceCheckUtils]: 0: Hoare triple {1364#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} ~size#1 := #in~size#1;havoc ~p~1#1.base, ~p~1#1.offset;havoc ~tmp~6#1.base, ~tmp~6#1.offset;havoc ~tmp___0~4#1;assume -2147483648 <= #t~nondet99#1 && #t~nondet99#1 <= 2147483647;~tmp___0~4#1 := #t~nondet99#1;havoc #t~nondet99#1; {1331#true} is VALID [2022-02-20 22:04:05,083 INFO L290 TraceCheckUtils]: 1: Hoare triple {1331#true} assume 0 != ~tmp___0~4#1;#res#1.base, #res#1.offset := 0, 0; {1331#true} is VALID [2022-02-20 22:04:05,083 INFO L290 TraceCheckUtils]: 2: Hoare triple {1331#true} assume true; {1331#true} is VALID [2022-02-20 22:04:05,083 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1331#true} {1331#true} #3586#return; {1331#true} is VALID [2022-02-20 22:04:05,084 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 20 [2022-02-20 22:04:05,093 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 22:04:05,098 INFO L290 TraceCheckUtils]: 0: Hoare triple {1364#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} ~size#1 := #in~size#1;havoc ~p~1#1.base, ~p~1#1.offset;havoc ~tmp~6#1.base, ~tmp~6#1.offset;havoc ~tmp___0~4#1;assume -2147483648 <= #t~nondet99#1 && #t~nondet99#1 <= 2147483647;~tmp___0~4#1 := #t~nondet99#1;havoc #t~nondet99#1; {1331#true} is VALID [2022-02-20 22:04:05,098 INFO L290 TraceCheckUtils]: 1: Hoare triple {1331#true} assume 0 != ~tmp___0~4#1;#res#1.base, #res#1.offset := 0, 0; {1331#true} is VALID [2022-02-20 22:04:05,098 INFO L290 TraceCheckUtils]: 2: Hoare triple {1331#true} assume true; {1331#true} is VALID [2022-02-20 22:04:05,099 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1331#true} {1331#true} #3588#return; {1331#true} is VALID [2022-02-20 22:04:05,099 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 26 [2022-02-20 22:04:05,101 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 22:04:05,107 INFO L290 TraceCheckUtils]: 0: Hoare triple {1364#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} ~size#1 := #in~size#1;havoc ~p~1#1.base, ~p~1#1.offset;havoc ~tmp~6#1.base, ~tmp~6#1.offset;havoc ~tmp___0~4#1;assume -2147483648 <= #t~nondet99#1 && #t~nondet99#1 <= 2147483647;~tmp___0~4#1 := #t~nondet99#1;havoc #t~nondet99#1; {1331#true} is VALID [2022-02-20 22:04:05,108 INFO L290 TraceCheckUtils]: 1: Hoare triple {1331#true} assume 0 != ~tmp___0~4#1;#res#1.base, #res#1.offset := 0, 0; {1331#true} is VALID [2022-02-20 22:04:05,108 INFO L290 TraceCheckUtils]: 2: Hoare triple {1331#true} assume true; {1331#true} is VALID [2022-02-20 22:04:05,108 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1331#true} {1331#true} #3590#return; {1331#true} is VALID [2022-02-20 22:04:05,108 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 32 [2022-02-20 22:04:05,111 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 22:04:05,116 INFO L290 TraceCheckUtils]: 0: Hoare triple {1364#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} ~size#1 := #in~size#1;havoc ~p~1#1.base, ~p~1#1.offset;havoc ~tmp~6#1.base, ~tmp~6#1.offset;havoc ~tmp___0~4#1;assume -2147483648 <= #t~nondet99#1 && #t~nondet99#1 <= 2147483647;~tmp___0~4#1 := #t~nondet99#1;havoc #t~nondet99#1; {1331#true} is VALID [2022-02-20 22:04:05,116 INFO L290 TraceCheckUtils]: 1: Hoare triple {1331#true} assume 0 != ~tmp___0~4#1;#res#1.base, #res#1.offset := 0, 0; {1331#true} is VALID [2022-02-20 22:04:05,116 INFO L290 TraceCheckUtils]: 2: Hoare triple {1331#true} assume true; {1331#true} is VALID [2022-02-20 22:04:05,116 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1331#true} {1331#true} #3592#return; {1331#true} is VALID [2022-02-20 22:04:05,116 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 45 [2022-02-20 22:04:05,118 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 22:04:05,123 INFO L290 TraceCheckUtils]: 0: Hoare triple {1331#true} ~arg0.base, ~arg0.offset := #in~arg0.base, #in~arg0.offset;~arg1 := #in~arg1; {1331#true} is VALID [2022-02-20 22:04:05,124 INFO L290 TraceCheckUtils]: 1: Hoare triple {1331#true} assume true; {1331#true} is VALID [2022-02-20 22:04:05,124 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {1331#true} {1332#false} #3612#return; {1332#false} is VALID [2022-02-20 22:04:05,124 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 50 [2022-02-20 22:04:05,126 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 22:04:05,132 INFO L290 TraceCheckUtils]: 0: Hoare triple {1331#true} ~arg0.base, ~arg0.offset := #in~arg0.base, #in~arg0.offset; {1331#true} is VALID [2022-02-20 22:04:05,132 INFO L290 TraceCheckUtils]: 1: Hoare triple {1331#true} assume true; {1331#true} is VALID [2022-02-20 22:04:05,132 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {1331#true} {1332#false} #3614#return; {1332#false} is VALID [2022-02-20 22:04:05,145 INFO L290 TraceCheckUtils]: 0: Hoare triple {1331#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(87, 2);call #Ultimate.allocInit(28, 3);call #Ultimate.allocInit(209, 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(61, 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(327, 75);call #Ultimate.allocInit(327, 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);~LDV_IN_INTERRUPT~0 := 1;~ldv_state_variable_2~0 := 0;~ref_cnt~0 := 0;~ldv_state_variable_1~0 := 0;~printer_io_operations_group2~0.base, ~printer_io_operations_group2~0.offset := 0, 0;~printer_io_operations_group1~0.base, ~printer_io_operations_group1~0.offset := 0, 0;~ldv_state_variable_0~0 := 0;~printer_driver_group0~0.base, ~printer_driver_group0~0.offset := 0, 0;~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_retval_0~0 := 0;~ldv_retval_1~0 := 0;~ldv_retval_3~0 := 0;~ldv_retval_2~0 := 0;~ldv_usb_gadget_class~0 := 0;~ldv_usb_gadget_chrdev~0 := 0;~ldv_usb_gadget~0 := 0; {1331#true} is VALID [2022-02-20 22:04:05,146 INFO L290 TraceCheckUtils]: 1: Hoare triple {1331#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret699#1.base, main_#t~ret699#1.offset, main_#t~ret700#1.base, main_#t~ret700#1.offset, main_#t~ret701#1.base, main_#t~ret701#1.offset, main_#t~ret702#1.base, main_#t~ret702#1.offset, main_#t~nondet703#1, main_#t~nondet704#1, main_#t~ret705#1.base, main_#t~ret705#1.offset, main_#t~nondet706#1, main_#t~ret707#1.base, main_#t~ret707#1.offset, main_#t~nondet708#1, main_#t~nondet709#1, main_#t~nondet710#1, main_#t~switch711#1, main_#t~nondet712#1, main_#t~switch713#1, main_#t~ret714#1, main_#t~ret715#1, main_#t~nondet716#1, main_#t~switch717#1, main_#t~ret718#1, main_#t~nondet719#1, main_#t~switch720#1, main_#t~ret721#1, main_#t~ret722#1, main_#t~ret723#1, main_#t~ret724#1, main_#t~ret725#1, main_#t~ret726#1, main_#t~ret727#1, main_#t~ret728#1, main_#t~ret729#1, main_#t~ret730#1, main_~ldvarg0~0#1.base, main_~ldvarg0~0#1.offset, main_~tmp~43#1.base, main_~tmp~43#1.offset, main_~ldvarg7~0#1.base, main_~ldvarg7~0#1.offset, main_~tmp___0~21#1.base, main_~tmp___0~21#1.offset, main_~ldvarg3~0#1.base, main_~ldvarg3~0#1.offset, main_~tmp___1~13#1.base, main_~tmp___1~13#1.offset, main_~ldvarg5~0#1.base, main_~ldvarg5~0#1.offset, main_~tmp___2~10#1.base, main_~tmp___2~10#1.offset, main_~ldvarg6~0#1, main_~tmp___3~9#1, main_~ldvarg1~0#1, main_~tmp___4~7#1, main_~ldvarg8~0#1.base, main_~ldvarg8~0#1.offset, main_~tmp___5~6#1.base, main_~tmp___5~6#1.offset, main_~ldvarg4~0#1, main_~tmp___6~5#1, main_~ldvarg10~0#1.base, main_~ldvarg10~0#1.offset, main_~tmp___7~4#1.base, main_~tmp___7~4#1.offset, main_~ldvarg9~0#1, main_~tmp___8~4#1, main_~ldvarg2~0#1, main_~tmp___9~2#1, main_~tmp___10~2#1, main_~tmp___11~2#1, main_~tmp___12~2#1, main_~tmp___13~2#1;havoc main_~ldvarg0~0#1.base, main_~ldvarg0~0#1.offset;havoc main_~tmp~43#1.base, main_~tmp~43#1.offset;havoc main_~ldvarg7~0#1.base, main_~ldvarg7~0#1.offset;havoc main_~tmp___0~21#1.base, main_~tmp___0~21#1.offset;havoc main_~ldvarg3~0#1.base, main_~ldvarg3~0#1.offset;havoc main_~tmp___1~13#1.base, main_~tmp___1~13#1.offset;havoc main_~ldvarg5~0#1.base, main_~ldvarg5~0#1.offset;havoc main_~tmp___2~10#1.base, main_~tmp___2~10#1.offset;havoc main_~ldvarg6~0#1;havoc main_~tmp___3~9#1;havoc main_~ldvarg1~0#1;havoc main_~tmp___4~7#1;havoc main_~ldvarg8~0#1.base, main_~ldvarg8~0#1.offset;havoc main_~tmp___5~6#1.base, main_~tmp___5~6#1.offset;havoc main_~ldvarg4~0#1;havoc main_~tmp___6~5#1;havoc main_~ldvarg10~0#1.base, main_~ldvarg10~0#1.offset;havoc main_~tmp___7~4#1.base, main_~tmp___7~4#1.offset;havoc main_~ldvarg9~0#1;havoc main_~tmp___8~4#1;havoc main_~ldvarg2~0#1;havoc main_~tmp___9~2#1;havoc main_~tmp___10~2#1;havoc main_~tmp___11~2#1;havoc main_~tmp___12~2#1;havoc main_~tmp___13~2#1; {1331#true} is VALID [2022-02-20 22:04:05,148 INFO L272 TraceCheckUtils]: 2: Hoare triple {1331#true} call main_#t~ret699#1.base, main_#t~ret699#1.offset := ldv_zalloc(8); {1364#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 22:04:05,148 INFO L290 TraceCheckUtils]: 3: Hoare triple {1364#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} ~size#1 := #in~size#1;havoc ~p~1#1.base, ~p~1#1.offset;havoc ~tmp~6#1.base, ~tmp~6#1.offset;havoc ~tmp___0~4#1;assume -2147483648 <= #t~nondet99#1 && #t~nondet99#1 <= 2147483647;~tmp___0~4#1 := #t~nondet99#1;havoc #t~nondet99#1; {1331#true} is VALID [2022-02-20 22:04:05,148 INFO L290 TraceCheckUtils]: 4: Hoare triple {1331#true} assume 0 != ~tmp___0~4#1;#res#1.base, #res#1.offset := 0, 0; {1331#true} is VALID [2022-02-20 22:04:05,148 INFO L290 TraceCheckUtils]: 5: Hoare triple {1331#true} assume true; {1331#true} is VALID [2022-02-20 22:04:05,149 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {1331#true} {1331#true} #3582#return; {1331#true} is VALID [2022-02-20 22:04:05,149 INFO L290 TraceCheckUtils]: 7: Hoare triple {1331#true} main_~tmp~43#1.base, main_~tmp~43#1.offset := main_#t~ret699#1.base, main_#t~ret699#1.offset;havoc main_#t~ret699#1.base, main_#t~ret699#1.offset;main_~ldvarg0~0#1.base, main_~ldvarg0~0#1.offset := main_~tmp~43#1.base, main_~tmp~43#1.offset; {1331#true} is VALID [2022-02-20 22:04:05,149 INFO L272 TraceCheckUtils]: 8: Hoare triple {1331#true} call main_#t~ret700#1.base, main_#t~ret700#1.offset := ldv_zalloc(1); {1364#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 22:04:05,150 INFO L290 TraceCheckUtils]: 9: Hoare triple {1364#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} ~size#1 := #in~size#1;havoc ~p~1#1.base, ~p~1#1.offset;havoc ~tmp~6#1.base, ~tmp~6#1.offset;havoc ~tmp___0~4#1;assume -2147483648 <= #t~nondet99#1 && #t~nondet99#1 <= 2147483647;~tmp___0~4#1 := #t~nondet99#1;havoc #t~nondet99#1; {1331#true} is VALID [2022-02-20 22:04:05,150 INFO L290 TraceCheckUtils]: 10: Hoare triple {1331#true} assume 0 != ~tmp___0~4#1;#res#1.base, #res#1.offset := 0, 0; {1331#true} is VALID [2022-02-20 22:04:05,150 INFO L290 TraceCheckUtils]: 11: Hoare triple {1331#true} assume true; {1331#true} is VALID [2022-02-20 22:04:05,150 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {1331#true} {1331#true} #3584#return; {1331#true} is VALID [2022-02-20 22:04:05,151 INFO L290 TraceCheckUtils]: 13: Hoare triple {1331#true} main_~tmp___0~21#1.base, main_~tmp___0~21#1.offset := main_#t~ret700#1.base, main_#t~ret700#1.offset;havoc main_#t~ret700#1.base, main_#t~ret700#1.offset;main_~ldvarg7~0#1.base, main_~ldvarg7~0#1.offset := main_~tmp___0~21#1.base, main_~tmp___0~21#1.offset; {1331#true} is VALID [2022-02-20 22:04:05,154 INFO L272 TraceCheckUtils]: 14: Hoare triple {1331#true} call main_#t~ret701#1.base, main_#t~ret701#1.offset := ldv_zalloc(16); {1364#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 22:04:05,155 INFO L290 TraceCheckUtils]: 15: Hoare triple {1364#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} ~size#1 := #in~size#1;havoc ~p~1#1.base, ~p~1#1.offset;havoc ~tmp~6#1.base, ~tmp~6#1.offset;havoc ~tmp___0~4#1;assume -2147483648 <= #t~nondet99#1 && #t~nondet99#1 <= 2147483647;~tmp___0~4#1 := #t~nondet99#1;havoc #t~nondet99#1; {1331#true} is VALID [2022-02-20 22:04:05,155 INFO L290 TraceCheckUtils]: 16: Hoare triple {1331#true} assume 0 != ~tmp___0~4#1;#res#1.base, #res#1.offset := 0, 0; {1331#true} is VALID [2022-02-20 22:04:05,155 INFO L290 TraceCheckUtils]: 17: Hoare triple {1331#true} assume true; {1331#true} is VALID [2022-02-20 22:04:05,158 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {1331#true} {1331#true} #3586#return; {1331#true} is VALID [2022-02-20 22:04:05,158 INFO L290 TraceCheckUtils]: 19: Hoare triple {1331#true} main_~tmp___1~13#1.base, main_~tmp___1~13#1.offset := main_#t~ret701#1.base, main_#t~ret701#1.offset;havoc main_#t~ret701#1.base, main_#t~ret701#1.offset;main_~ldvarg3~0#1.base, main_~ldvarg3~0#1.offset := main_~tmp___1~13#1.base, main_~tmp___1~13#1.offset; {1331#true} is VALID [2022-02-20 22:04:05,159 INFO L272 TraceCheckUtils]: 20: Hoare triple {1331#true} call main_#t~ret702#1.base, main_#t~ret702#1.offset := ldv_zalloc(8); {1364#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 22:04:05,159 INFO L290 TraceCheckUtils]: 21: Hoare triple {1364#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} ~size#1 := #in~size#1;havoc ~p~1#1.base, ~p~1#1.offset;havoc ~tmp~6#1.base, ~tmp~6#1.offset;havoc ~tmp___0~4#1;assume -2147483648 <= #t~nondet99#1 && #t~nondet99#1 <= 2147483647;~tmp___0~4#1 := #t~nondet99#1;havoc #t~nondet99#1; {1331#true} is VALID [2022-02-20 22:04:05,159 INFO L290 TraceCheckUtils]: 22: Hoare triple {1331#true} assume 0 != ~tmp___0~4#1;#res#1.base, #res#1.offset := 0, 0; {1331#true} is VALID [2022-02-20 22:04:05,161 INFO L290 TraceCheckUtils]: 23: Hoare triple {1331#true} assume true; {1331#true} is VALID [2022-02-20 22:04:05,161 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {1331#true} {1331#true} #3588#return; {1331#true} is VALID [2022-02-20 22:04:05,161 INFO L290 TraceCheckUtils]: 25: Hoare triple {1331#true} main_~tmp___2~10#1.base, main_~tmp___2~10#1.offset := main_#t~ret702#1.base, main_#t~ret702#1.offset;havoc main_#t~ret702#1.base, main_#t~ret702#1.offset;main_~ldvarg5~0#1.base, main_~ldvarg5~0#1.offset := main_~tmp___2~10#1.base, main_~tmp___2~10#1.offset;assume -2147483648 <= main_#t~nondet703#1 && main_#t~nondet703#1 <= 2147483647;main_~tmp___3~9#1 := main_#t~nondet703#1;havoc main_#t~nondet703#1;main_~ldvarg6~0#1 := main_~tmp___3~9#1;main_~tmp___4~7#1 := main_#t~nondet704#1;havoc main_#t~nondet704#1;main_~ldvarg1~0#1 := main_~tmp___4~7#1; {1331#true} is VALID [2022-02-20 22:04:05,163 INFO L272 TraceCheckUtils]: 26: Hoare triple {1331#true} call main_#t~ret705#1.base, main_#t~ret705#1.offset := ldv_zalloc(8); {1364#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 22:04:05,164 INFO L290 TraceCheckUtils]: 27: Hoare triple {1364#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} ~size#1 := #in~size#1;havoc ~p~1#1.base, ~p~1#1.offset;havoc ~tmp~6#1.base, ~tmp~6#1.offset;havoc ~tmp___0~4#1;assume -2147483648 <= #t~nondet99#1 && #t~nondet99#1 <= 2147483647;~tmp___0~4#1 := #t~nondet99#1;havoc #t~nondet99#1; {1331#true} is VALID [2022-02-20 22:04:05,164 INFO L290 TraceCheckUtils]: 28: Hoare triple {1331#true} assume 0 != ~tmp___0~4#1;#res#1.base, #res#1.offset := 0, 0; {1331#true} is VALID [2022-02-20 22:04:05,164 INFO L290 TraceCheckUtils]: 29: Hoare triple {1331#true} assume true; {1331#true} is VALID [2022-02-20 22:04:05,164 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {1331#true} {1331#true} #3590#return; {1331#true} is VALID [2022-02-20 22:04:05,165 INFO L290 TraceCheckUtils]: 31: Hoare triple {1331#true} main_~tmp___5~6#1.base, main_~tmp___5~6#1.offset := main_#t~ret705#1.base, main_#t~ret705#1.offset;havoc main_#t~ret705#1.base, main_#t~ret705#1.offset;main_~ldvarg8~0#1.base, main_~ldvarg8~0#1.offset := main_~tmp___5~6#1.base, main_~tmp___5~6#1.offset;assume -2147483648 <= main_#t~nondet706#1 && main_#t~nondet706#1 <= 2147483647;main_~tmp___6~5#1 := main_#t~nondet706#1;havoc main_#t~nondet706#1;main_~ldvarg4~0#1 := main_~tmp___6~5#1; {1331#true} is VALID [2022-02-20 22:04:05,165 INFO L272 TraceCheckUtils]: 32: Hoare triple {1331#true} call main_#t~ret707#1.base, main_#t~ret707#1.offset := ldv_zalloc(1); {1364#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 22:04:05,165 INFO L290 TraceCheckUtils]: 33: Hoare triple {1364#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} ~size#1 := #in~size#1;havoc ~p~1#1.base, ~p~1#1.offset;havoc ~tmp~6#1.base, ~tmp~6#1.offset;havoc ~tmp___0~4#1;assume -2147483648 <= #t~nondet99#1 && #t~nondet99#1 <= 2147483647;~tmp___0~4#1 := #t~nondet99#1;havoc #t~nondet99#1; {1331#true} is VALID [2022-02-20 22:04:05,166 INFO L290 TraceCheckUtils]: 34: Hoare triple {1331#true} assume 0 != ~tmp___0~4#1;#res#1.base, #res#1.offset := 0, 0; {1331#true} is VALID [2022-02-20 22:04:05,166 INFO L290 TraceCheckUtils]: 35: Hoare triple {1331#true} assume true; {1331#true} is VALID [2022-02-20 22:04:05,166 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {1331#true} {1331#true} #3592#return; {1331#true} is VALID [2022-02-20 22:04:05,166 INFO L290 TraceCheckUtils]: 37: Hoare triple {1331#true} main_~tmp___7~4#1.base, main_~tmp___7~4#1.offset := main_#t~ret707#1.base, main_#t~ret707#1.offset;havoc main_#t~ret707#1.base, main_#t~ret707#1.offset;main_~ldvarg10~0#1.base, main_~ldvarg10~0#1.offset := main_~tmp___7~4#1.base, main_~tmp___7~4#1.offset;assume -2147483648 <= main_#t~nondet708#1 && main_#t~nondet708#1 <= 2147483647;main_~tmp___8~4#1 := main_#t~nondet708#1;havoc main_#t~nondet708#1;main_~ldvarg9~0#1 := main_~tmp___8~4#1;main_~tmp___9~2#1 := main_#t~nondet709#1;havoc main_#t~nondet709#1;main_~ldvarg2~0#1 := main_~tmp___9~2#1;assume { :begin_inline_ldv_initialize } true; {1331#true} is VALID [2022-02-20 22:04:05,167 INFO L290 TraceCheckUtils]: 38: Hoare triple {1331#true} assume { :end_inline_ldv_initialize } true;~ldv_state_variable_1~0 := 0;~ref_cnt~0 := 0;~ldv_state_variable_0~0 := 1;~ldv_state_variable_2~0 := 0; {1357#(= ~ldv_state_variable_0~0 1)} is VALID [2022-02-20 22:04:05,168 INFO L290 TraceCheckUtils]: 39: Hoare triple {1357#(= ~ldv_state_variable_0~0 1)} assume -2147483648 <= main_#t~nondet710#1 && main_#t~nondet710#1 <= 2147483647;main_~tmp___10~2#1 := main_#t~nondet710#1;havoc main_#t~nondet710#1;main_#t~switch711#1 := 0 == main_~tmp___10~2#1; {1357#(= ~ldv_state_variable_0~0 1)} is VALID [2022-02-20 22:04:05,168 INFO L290 TraceCheckUtils]: 40: Hoare triple {1357#(= ~ldv_state_variable_0~0 1)} assume !main_#t~switch711#1;main_#t~switch711#1 := main_#t~switch711#1 || 1 == main_~tmp___10~2#1; {1357#(= ~ldv_state_variable_0~0 1)} is VALID [2022-02-20 22:04:05,168 INFO L290 TraceCheckUtils]: 41: Hoare triple {1357#(= ~ldv_state_variable_0~0 1)} assume main_#t~switch711#1; {1357#(= ~ldv_state_variable_0~0 1)} is VALID [2022-02-20 22:04:05,169 INFO L290 TraceCheckUtils]: 42: Hoare triple {1357#(= ~ldv_state_variable_0~0 1)} assume 0 != ~ldv_state_variable_0~0;assume -2147483648 <= main_#t~nondet716#1 && main_#t~nondet716#1 <= 2147483647;main_~tmp___12~2#1 := main_#t~nondet716#1;havoc main_#t~nondet716#1;main_#t~switch717#1 := 0 == main_~tmp___12~2#1; {1357#(= ~ldv_state_variable_0~0 1)} is VALID [2022-02-20 22:04:05,169 INFO L290 TraceCheckUtils]: 43: Hoare triple {1357#(= ~ldv_state_variable_0~0 1)} assume main_#t~switch717#1; {1357#(= ~ldv_state_variable_0~0 1)} is VALID [2022-02-20 22:04:05,170 INFO L290 TraceCheckUtils]: 44: Hoare triple {1357#(= ~ldv_state_variable_0~0 1)} assume 2 == ~ldv_state_variable_0~0 && 0 == ~ref_cnt~0;assume { :begin_inline_cleanup } true;havoc cleanup_#t~mem693#1, cleanup_#t~ret694#1, cleanup_#t~nondet695#1, cleanup_~status~5#1;havoc cleanup_~status~5#1; {1332#false} is VALID [2022-02-20 22:04:05,170 INFO L272 TraceCheckUtils]: 45: Hoare triple {1332#false} call mutex_lock_nested(~#usb_printer_gadget~0.base, 56 + ~#usb_printer_gadget~0.offset, 0); {1331#true} is VALID [2022-02-20 22:04:05,170 INFO L290 TraceCheckUtils]: 46: Hoare triple {1331#true} ~arg0.base, ~arg0.offset := #in~arg0.base, #in~arg0.offset;~arg1 := #in~arg1; {1331#true} is VALID [2022-02-20 22:04:05,170 INFO L290 TraceCheckUtils]: 47: Hoare triple {1331#true} assume true; {1331#true} is VALID [2022-02-20 22:04:05,170 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {1331#true} {1332#false} #3612#return; {1332#false} is VALID [2022-02-20 22:04:05,170 INFO L290 TraceCheckUtils]: 49: Hoare triple {1332#false} assume { :begin_inline_ldv_class_destroy_12 } true;ldv_class_destroy_12_#in~ldv_func_arg1#1.base, ldv_class_destroy_12_#in~ldv_func_arg1#1.offset := ~usb_gadget_class~0.base, ~usb_gadget_class~0.offset;havoc ldv_class_destroy_12_~ldv_func_arg1#1.base, ldv_class_destroy_12_~ldv_func_arg1#1.offset;ldv_class_destroy_12_~ldv_func_arg1#1.base, ldv_class_destroy_12_~ldv_func_arg1#1.offset := ldv_class_destroy_12_#in~ldv_func_arg1#1.base, ldv_class_destroy_12_#in~ldv_func_arg1#1.offset; {1332#false} is VALID [2022-02-20 22:04:05,171 INFO L272 TraceCheckUtils]: 50: Hoare triple {1332#false} call class_destroy(ldv_class_destroy_12_~ldv_func_arg1#1.base, ldv_class_destroy_12_~ldv_func_arg1#1.offset); {1331#true} is VALID [2022-02-20 22:04:05,171 INFO L290 TraceCheckUtils]: 51: Hoare triple {1331#true} ~arg0.base, ~arg0.offset := #in~arg0.base, #in~arg0.offset; {1331#true} is VALID [2022-02-20 22:04:05,171 INFO L290 TraceCheckUtils]: 52: Hoare triple {1331#true} assume true; {1331#true} is VALID [2022-02-20 22:04:05,171 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {1331#true} {1332#false} #3614#return; {1332#false} is VALID [2022-02-20 22:04:05,171 INFO L272 TraceCheckUtils]: 54: Hoare triple {1332#false} call ldv_unregister_class(); {1332#false} is VALID [2022-02-20 22:04:05,172 INFO L290 TraceCheckUtils]: 55: Hoare triple {1332#false} assume !(0 == ~ldv_usb_gadget~0); {1332#false} is VALID [2022-02-20 22:04:05,172 INFO L272 TraceCheckUtils]: 56: Hoare triple {1332#false} call ldv_error(); {1332#false} is VALID [2022-02-20 22:04:05,172 INFO L290 TraceCheckUtils]: 57: Hoare triple {1332#false} assume !false; {1332#false} is VALID [2022-02-20 22:04:05,173 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 60 trivial. 0 not checked. [2022-02-20 22:04:05,173 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 22:04:05,173 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1183519397] [2022-02-20 22:04:05,175 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1183519397] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 22:04:05,175 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 22:04:05,175 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-02-20 22:04:05,177 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [247689196] [2022-02-20 22:04:05,178 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 22:04:05,182 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 6.25) internal successors, (25), 3 states have internal predecessors, (25), 2 states have call successors, (10), 3 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) Word has length 58 [2022-02-20 22:04:05,184 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 22:04:05,186 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 6.25) internal successors, (25), 3 states have internal predecessors, (25), 2 states have call successors, (10), 3 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-02-20 22:04:05,259 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 43 edges. 43 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 22:04:05,260 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-02-20 22:04:05,260 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 22:04:05,282 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-02-20 22:04:05,283 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-02-20 22:04:05,291 INFO L87 Difference]: Start difference. First operand has 1328 states, 937 states have (on average 1.4130202774813234) internal successors, (1324), 980 states have internal predecessors, (1324), 323 states have call successors, (323), 67 states have call predecessors, (323), 66 states have return successors, (319), 316 states have call predecessors, (319), 319 states have call successors, (319) Second operand has 4 states, 4 states have (on average 6.25) internal successors, (25), 3 states have internal predecessors, (25), 2 states have call successors, (10), 3 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-02-20 22:04:09,376 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.02s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [] [2022-02-20 22:04:11,431 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.05s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [] [2022-02-20 22:04:33,273 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 22:04:33,274 INFO L93 Difference]: Finished difference Result 4152 states and 6323 transitions. [2022-02-20 22:04:33,274 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 22:04:33,274 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 6.25) internal successors, (25), 3 states have internal predecessors, (25), 2 states have call successors, (10), 3 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) Word has length 58 [2022-02-20 22:04:33,275 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 22:04:33,276 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 6.25) internal successors, (25), 3 states have internal predecessors, (25), 2 states have call successors, (10), 3 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-02-20 22:04:33,511 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 6323 transitions. [2022-02-20 22:04:33,512 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 6.25) internal successors, (25), 3 states have internal predecessors, (25), 2 states have call successors, (10), 3 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-02-20 22:04:33,679 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 6323 transitions. [2022-02-20 22:04:33,680 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 6323 transitions. [2022-02-20 22:04:38,227 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 6323 edges. 6323 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 22:04:38,717 INFO L225 Difference]: With dead ends: 4152 [2022-02-20 22:04:38,717 INFO L226 Difference]: Without dead ends: 2812 [2022-02-20 22:04:38,728 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 21 GetRequests, 18 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 22:04:38,731 INFO L933 BasicCegarLoop]: 2107 mSDtfsCounter, 2405 mSDsluCounter, 1993 mSDsCounter, 0 mSdLazyCounter, 1612 mSolverCounterSat, 871 mSolverCounterUnsat, 2 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 9.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 2676 SdHoareTripleChecker+Valid, 4100 SdHoareTripleChecker+Invalid, 2485 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.1s SdHoareTripleChecker+Time, 871 IncrementalHoareTripleChecker+Valid, 1612 IncrementalHoareTripleChecker+Invalid, 2 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 9.3s IncrementalHoareTripleChecker+Time [2022-02-20 22:04:38,732 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [2676 Valid, 4100 Invalid, 2485 Unknown, 0 Unchecked, 0.1s Time], IncrementalHoareTripleChecker [871 Valid, 1612 Invalid, 2 Unknown, 0 Unchecked, 9.3s Time] [2022-02-20 22:04:38,747 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 2812 states. [2022-02-20 22:04:38,869 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 2812 to 2406. [2022-02-20 22:04:38,869 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 22:04:38,883 INFO L82 GeneralOperation]: Start isEquivalent. First operand 2812 states. Second operand has 2406 states, 1688 states have (on average 1.3625592417061612) internal successors, (2300), 1748 states have internal predecessors, (2300), 592 states have call successors, (592), 126 states have call predecessors, (592), 125 states have return successors, (579), 573 states have call predecessors, (579), 579 states have call successors, (579) [2022-02-20 22:04:38,889 INFO L74 IsIncluded]: Start isIncluded. First operand 2812 states. Second operand has 2406 states, 1688 states have (on average 1.3625592417061612) internal successors, (2300), 1748 states have internal predecessors, (2300), 592 states have call successors, (592), 126 states have call predecessors, (592), 125 states have return successors, (579), 573 states have call predecessors, (579), 579 states have call successors, (579) [2022-02-20 22:04:38,893 INFO L87 Difference]: Start difference. First operand 2812 states. Second operand has 2406 states, 1688 states have (on average 1.3625592417061612) internal successors, (2300), 1748 states have internal predecessors, (2300), 592 states have call successors, (592), 126 states have call predecessors, (592), 125 states have return successors, (579), 573 states have call predecessors, (579), 579 states have call successors, (579) [2022-02-20 22:04:39,141 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 22:04:39,141 INFO L93 Difference]: Finished difference Result 2812 states and 4120 transitions. [2022-02-20 22:04:39,142 INFO L276 IsEmpty]: Start isEmpty. Operand 2812 states and 4120 transitions. [2022-02-20 22:04:39,158 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 22:04:39,158 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 22:04:39,164 INFO L74 IsIncluded]: Start isIncluded. First operand has 2406 states, 1688 states have (on average 1.3625592417061612) internal successors, (2300), 1748 states have internal predecessors, (2300), 592 states have call successors, (592), 126 states have call predecessors, (592), 125 states have return successors, (579), 573 states have call predecessors, (579), 579 states have call successors, (579) Second operand 2812 states. [2022-02-20 22:04:39,169 INFO L87 Difference]: Start difference. First operand has 2406 states, 1688 states have (on average 1.3625592417061612) internal successors, (2300), 1748 states have internal predecessors, (2300), 592 states have call successors, (592), 126 states have call predecessors, (592), 125 states have return successors, (579), 573 states have call predecessors, (579), 579 states have call successors, (579) Second operand 2812 states. [2022-02-20 22:04:39,411 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 22:04:39,412 INFO L93 Difference]: Finished difference Result 2812 states and 4120 transitions. [2022-02-20 22:04:39,412 INFO L276 IsEmpty]: Start isEmpty. Operand 2812 states and 4120 transitions. [2022-02-20 22:04:39,422 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 22:04:39,422 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 22:04:39,422 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 22:04:39,422 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 22:04:39,428 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 2406 states, 1688 states have (on average 1.3625592417061612) internal successors, (2300), 1748 states have internal predecessors, (2300), 592 states have call successors, (592), 126 states have call predecessors, (592), 125 states have return successors, (579), 573 states have call predecessors, (579), 579 states have call successors, (579) [2022-02-20 22:04:39,714 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2406 states to 2406 states and 3471 transitions. [2022-02-20 22:04:39,716 INFO L78 Accepts]: Start accepts. Automaton has 2406 states and 3471 transitions. Word has length 58 [2022-02-20 22:04:39,717 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 22:04:39,717 INFO L470 AbstractCegarLoop]: Abstraction has 2406 states and 3471 transitions. [2022-02-20 22:04:39,717 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 6.25) internal successors, (25), 3 states have internal predecessors, (25), 2 states have call successors, (10), 3 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-02-20 22:04:39,718 INFO L276 IsEmpty]: Start isEmpty. Operand 2406 states and 3471 transitions. [2022-02-20 22:04:39,722 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 57 [2022-02-20 22:04:39,722 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 22:04:39,722 INFO L514 BasicCegarLoop]: trace histogram [6, 6, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 22:04:39,723 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-02-20 22:04:39,723 INFO L402 AbstractCegarLoop]: === Iteration 2 === Targeting ldv_errorErr0ASSERT_VIOLATIONERROR_FUNCTION === [ldv_errorErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 22:04:39,723 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 22:04:39,723 INFO L85 PathProgramCache]: Analyzing trace with hash -2130658151, now seen corresponding path program 1 times [2022-02-20 22:04:39,724 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 22:04:39,724 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1726099575] [2022-02-20 22:04:39,724 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 22:04:39,724 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 22:04:39,825 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 22:04:39,936 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 22:04:39,940 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 22:04:39,945 INFO L290 TraceCheckUtils]: 0: Hoare triple {16082#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} ~size#1 := #in~size#1;havoc ~p~1#1.base, ~p~1#1.offset;havoc ~tmp~6#1.base, ~tmp~6#1.offset;havoc ~tmp___0~4#1;assume -2147483648 <= #t~nondet99#1 && #t~nondet99#1 <= 2147483647;~tmp___0~4#1 := #t~nondet99#1;havoc #t~nondet99#1; {16051#true} is VALID [2022-02-20 22:04:39,945 INFO L290 TraceCheckUtils]: 1: Hoare triple {16051#true} assume 0 != ~tmp___0~4#1;#res#1.base, #res#1.offset := 0, 0; {16051#true} is VALID [2022-02-20 22:04:39,945 INFO L290 TraceCheckUtils]: 2: Hoare triple {16051#true} assume true; {16051#true} is VALID [2022-02-20 22:04:39,946 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {16051#true} {16053#(= ~ldv_usb_gadget~0 0)} #3582#return; {16053#(= ~ldv_usb_gadget~0 0)} is VALID [2022-02-20 22:04:39,946 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 8 [2022-02-20 22:04:39,948 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 22:04:39,954 INFO L290 TraceCheckUtils]: 0: Hoare triple {16082#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} ~size#1 := #in~size#1;havoc ~p~1#1.base, ~p~1#1.offset;havoc ~tmp~6#1.base, ~tmp~6#1.offset;havoc ~tmp___0~4#1;assume -2147483648 <= #t~nondet99#1 && #t~nondet99#1 <= 2147483647;~tmp___0~4#1 := #t~nondet99#1;havoc #t~nondet99#1; {16051#true} is VALID [2022-02-20 22:04:39,954 INFO L290 TraceCheckUtils]: 1: Hoare triple {16051#true} assume 0 != ~tmp___0~4#1;#res#1.base, #res#1.offset := 0, 0; {16051#true} is VALID [2022-02-20 22:04:39,954 INFO L290 TraceCheckUtils]: 2: Hoare triple {16051#true} assume true; {16051#true} is VALID [2022-02-20 22:04:39,955 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {16051#true} {16053#(= ~ldv_usb_gadget~0 0)} #3584#return; {16053#(= ~ldv_usb_gadget~0 0)} is VALID [2022-02-20 22:04:39,955 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 14 [2022-02-20 22:04:39,958 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 22:04:39,964 INFO L290 TraceCheckUtils]: 0: Hoare triple {16082#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} ~size#1 := #in~size#1;havoc ~p~1#1.base, ~p~1#1.offset;havoc ~tmp~6#1.base, ~tmp~6#1.offset;havoc ~tmp___0~4#1;assume -2147483648 <= #t~nondet99#1 && #t~nondet99#1 <= 2147483647;~tmp___0~4#1 := #t~nondet99#1;havoc #t~nondet99#1; {16051#true} is VALID [2022-02-20 22:04:39,965 INFO L290 TraceCheckUtils]: 1: Hoare triple {16051#true} assume 0 != ~tmp___0~4#1;#res#1.base, #res#1.offset := 0, 0; {16051#true} is VALID [2022-02-20 22:04:39,965 INFO L290 TraceCheckUtils]: 2: Hoare triple {16051#true} assume true; {16051#true} is VALID [2022-02-20 22:04:39,966 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {16051#true} {16053#(= ~ldv_usb_gadget~0 0)} #3586#return; {16053#(= ~ldv_usb_gadget~0 0)} is VALID [2022-02-20 22:04:39,966 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 20 [2022-02-20 22:04:39,972 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 22:04:39,979 INFO L290 TraceCheckUtils]: 0: Hoare triple {16082#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} ~size#1 := #in~size#1;havoc ~p~1#1.base, ~p~1#1.offset;havoc ~tmp~6#1.base, ~tmp~6#1.offset;havoc ~tmp___0~4#1;assume -2147483648 <= #t~nondet99#1 && #t~nondet99#1 <= 2147483647;~tmp___0~4#1 := #t~nondet99#1;havoc #t~nondet99#1; {16051#true} is VALID [2022-02-20 22:04:39,980 INFO L290 TraceCheckUtils]: 1: Hoare triple {16051#true} assume 0 != ~tmp___0~4#1;#res#1.base, #res#1.offset := 0, 0; {16051#true} is VALID [2022-02-20 22:04:39,980 INFO L290 TraceCheckUtils]: 2: Hoare triple {16051#true} assume true; {16051#true} is VALID [2022-02-20 22:04:39,980 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {16051#true} {16053#(= ~ldv_usb_gadget~0 0)} #3588#return; {16053#(= ~ldv_usb_gadget~0 0)} is VALID [2022-02-20 22:04:39,981 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 26 [2022-02-20 22:04:39,983 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 22:04:39,989 INFO L290 TraceCheckUtils]: 0: Hoare triple {16082#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} ~size#1 := #in~size#1;havoc ~p~1#1.base, ~p~1#1.offset;havoc ~tmp~6#1.base, ~tmp~6#1.offset;havoc ~tmp___0~4#1;assume -2147483648 <= #t~nondet99#1 && #t~nondet99#1 <= 2147483647;~tmp___0~4#1 := #t~nondet99#1;havoc #t~nondet99#1; {16051#true} is VALID [2022-02-20 22:04:39,990 INFO L290 TraceCheckUtils]: 1: Hoare triple {16051#true} assume 0 != ~tmp___0~4#1;#res#1.base, #res#1.offset := 0, 0; {16051#true} is VALID [2022-02-20 22:04:39,990 INFO L290 TraceCheckUtils]: 2: Hoare triple {16051#true} assume true; {16051#true} is VALID [2022-02-20 22:04:39,990 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {16051#true} {16053#(= ~ldv_usb_gadget~0 0)} #3590#return; {16053#(= ~ldv_usb_gadget~0 0)} is VALID [2022-02-20 22:04:39,991 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 32 [2022-02-20 22:04:39,995 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 22:04:40,000 INFO L290 TraceCheckUtils]: 0: Hoare triple {16082#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} ~size#1 := #in~size#1;havoc ~p~1#1.base, ~p~1#1.offset;havoc ~tmp~6#1.base, ~tmp~6#1.offset;havoc ~tmp___0~4#1;assume -2147483648 <= #t~nondet99#1 && #t~nondet99#1 <= 2147483647;~tmp___0~4#1 := #t~nondet99#1;havoc #t~nondet99#1; {16051#true} is VALID [2022-02-20 22:04:40,001 INFO L290 TraceCheckUtils]: 1: Hoare triple {16051#true} assume 0 != ~tmp___0~4#1;#res#1.base, #res#1.offset := 0, 0; {16051#true} is VALID [2022-02-20 22:04:40,001 INFO L290 TraceCheckUtils]: 2: Hoare triple {16051#true} assume true; {16051#true} is VALID [2022-02-20 22:04:40,003 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {16051#true} {16053#(= ~ldv_usb_gadget~0 0)} #3592#return; {16053#(= ~ldv_usb_gadget~0 0)} is VALID [2022-02-20 22:04:40,019 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 46 [2022-02-20 22:04:40,022 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 22:04:40,040 INFO L290 TraceCheckUtils]: 0: Hoare triple {16083#(and (= |old(#length)| |#length|) (= |old(#valid)| |#valid|))} ~size := #in~size;havoc ~p~0.base, ~p~0.offset;havoc ~tmp~5.base, ~tmp~5.offset;havoc ~tmp___0~3;assume -2147483648 <= #t~nondet96 && #t~nondet96 <= 2147483647;~tmp___0~3 := #t~nondet96;havoc #t~nondet96; {16051#true} is VALID [2022-02-20 22:04:40,041 INFO L290 TraceCheckUtils]: 1: Hoare triple {16051#true} assume 0 != ~tmp___0~3;#res.base, #res.offset := 0, 0; {16051#true} is VALID [2022-02-20 22:04:40,041 INFO L290 TraceCheckUtils]: 2: Hoare triple {16051#true} assume true; {16051#true} is VALID [2022-02-20 22:04:40,042 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {16051#true} {16053#(= ~ldv_usb_gadget~0 0)} #3626#return; {16053#(= ~ldv_usb_gadget~0 0)} is VALID [2022-02-20 22:04:40,042 INFO L290 TraceCheckUtils]: 0: Hoare triple {16051#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(87, 2);call #Ultimate.allocInit(28, 3);call #Ultimate.allocInit(209, 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(61, 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(327, 75);call #Ultimate.allocInit(327, 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);~LDV_IN_INTERRUPT~0 := 1;~ldv_state_variable_2~0 := 0;~ref_cnt~0 := 0;~ldv_state_variable_1~0 := 0;~printer_io_operations_group2~0.base, ~printer_io_operations_group2~0.offset := 0, 0;~printer_io_operations_group1~0.base, ~printer_io_operations_group1~0.offset := 0, 0;~ldv_state_variable_0~0 := 0;~printer_driver_group0~0.base, ~printer_driver_group0~0.offset := 0, 0;~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_retval_0~0 := 0;~ldv_retval_1~0 := 0;~ldv_retval_3~0 := 0;~ldv_retval_2~0 := 0;~ldv_usb_gadget_class~0 := 0;~ldv_usb_gadget_chrdev~0 := 0;~ldv_usb_gadget~0 := 0; {16053#(= ~ldv_usb_gadget~0 0)} is VALID [2022-02-20 22:04:40,043 INFO L290 TraceCheckUtils]: 1: Hoare triple {16053#(= ~ldv_usb_gadget~0 0)} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret699#1.base, main_#t~ret699#1.offset, main_#t~ret700#1.base, main_#t~ret700#1.offset, main_#t~ret701#1.base, main_#t~ret701#1.offset, main_#t~ret702#1.base, main_#t~ret702#1.offset, main_#t~nondet703#1, main_#t~nondet704#1, main_#t~ret705#1.base, main_#t~ret705#1.offset, main_#t~nondet706#1, main_#t~ret707#1.base, main_#t~ret707#1.offset, main_#t~nondet708#1, main_#t~nondet709#1, main_#t~nondet710#1, main_#t~switch711#1, main_#t~nondet712#1, main_#t~switch713#1, main_#t~ret714#1, main_#t~ret715#1, main_#t~nondet716#1, main_#t~switch717#1, main_#t~ret718#1, main_#t~nondet719#1, main_#t~switch720#1, main_#t~ret721#1, main_#t~ret722#1, main_#t~ret723#1, main_#t~ret724#1, main_#t~ret725#1, main_#t~ret726#1, main_#t~ret727#1, main_#t~ret728#1, main_#t~ret729#1, main_#t~ret730#1, main_~ldvarg0~0#1.base, main_~ldvarg0~0#1.offset, main_~tmp~43#1.base, main_~tmp~43#1.offset, main_~ldvarg7~0#1.base, main_~ldvarg7~0#1.offset, main_~tmp___0~21#1.base, main_~tmp___0~21#1.offset, main_~ldvarg3~0#1.base, main_~ldvarg3~0#1.offset, main_~tmp___1~13#1.base, main_~tmp___1~13#1.offset, main_~ldvarg5~0#1.base, main_~ldvarg5~0#1.offset, main_~tmp___2~10#1.base, main_~tmp___2~10#1.offset, main_~ldvarg6~0#1, main_~tmp___3~9#1, main_~ldvarg1~0#1, main_~tmp___4~7#1, main_~ldvarg8~0#1.base, main_~ldvarg8~0#1.offset, main_~tmp___5~6#1.base, main_~tmp___5~6#1.offset, main_~ldvarg4~0#1, main_~tmp___6~5#1, main_~ldvarg10~0#1.base, main_~ldvarg10~0#1.offset, main_~tmp___7~4#1.base, main_~tmp___7~4#1.offset, main_~ldvarg9~0#1, main_~tmp___8~4#1, main_~ldvarg2~0#1, main_~tmp___9~2#1, main_~tmp___10~2#1, main_~tmp___11~2#1, main_~tmp___12~2#1, main_~tmp___13~2#1;havoc main_~ldvarg0~0#1.base, main_~ldvarg0~0#1.offset;havoc main_~tmp~43#1.base, main_~tmp~43#1.offset;havoc main_~ldvarg7~0#1.base, main_~ldvarg7~0#1.offset;havoc main_~tmp___0~21#1.base, main_~tmp___0~21#1.offset;havoc main_~ldvarg3~0#1.base, main_~ldvarg3~0#1.offset;havoc main_~tmp___1~13#1.base, main_~tmp___1~13#1.offset;havoc main_~ldvarg5~0#1.base, main_~ldvarg5~0#1.offset;havoc main_~tmp___2~10#1.base, main_~tmp___2~10#1.offset;havoc main_~ldvarg6~0#1;havoc main_~tmp___3~9#1;havoc main_~ldvarg1~0#1;havoc main_~tmp___4~7#1;havoc main_~ldvarg8~0#1.base, main_~ldvarg8~0#1.offset;havoc main_~tmp___5~6#1.base, main_~tmp___5~6#1.offset;havoc main_~ldvarg4~0#1;havoc main_~tmp___6~5#1;havoc main_~ldvarg10~0#1.base, main_~ldvarg10~0#1.offset;havoc main_~tmp___7~4#1.base, main_~tmp___7~4#1.offset;havoc main_~ldvarg9~0#1;havoc main_~tmp___8~4#1;havoc main_~ldvarg2~0#1;havoc main_~tmp___9~2#1;havoc main_~tmp___10~2#1;havoc main_~tmp___11~2#1;havoc main_~tmp___12~2#1;havoc main_~tmp___13~2#1; {16053#(= ~ldv_usb_gadget~0 0)} is VALID [2022-02-20 22:04:40,044 INFO L272 TraceCheckUtils]: 2: Hoare triple {16053#(= ~ldv_usb_gadget~0 0)} call main_#t~ret699#1.base, main_#t~ret699#1.offset := ldv_zalloc(8); {16082#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 22:04:40,067 INFO L290 TraceCheckUtils]: 3: Hoare triple {16082#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} ~size#1 := #in~size#1;havoc ~p~1#1.base, ~p~1#1.offset;havoc ~tmp~6#1.base, ~tmp~6#1.offset;havoc ~tmp___0~4#1;assume -2147483648 <= #t~nondet99#1 && #t~nondet99#1 <= 2147483647;~tmp___0~4#1 := #t~nondet99#1;havoc #t~nondet99#1; {16051#true} is VALID [2022-02-20 22:04:40,067 INFO L290 TraceCheckUtils]: 4: Hoare triple {16051#true} assume 0 != ~tmp___0~4#1;#res#1.base, #res#1.offset := 0, 0; {16051#true} is VALID [2022-02-20 22:04:40,068 INFO L290 TraceCheckUtils]: 5: Hoare triple {16051#true} assume true; {16051#true} is VALID [2022-02-20 22:04:40,068 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {16051#true} {16053#(= ~ldv_usb_gadget~0 0)} #3582#return; {16053#(= ~ldv_usb_gadget~0 0)} is VALID [2022-02-20 22:04:40,069 INFO L290 TraceCheckUtils]: 7: Hoare triple {16053#(= ~ldv_usb_gadget~0 0)} main_~tmp~43#1.base, main_~tmp~43#1.offset := main_#t~ret699#1.base, main_#t~ret699#1.offset;havoc main_#t~ret699#1.base, main_#t~ret699#1.offset;main_~ldvarg0~0#1.base, main_~ldvarg0~0#1.offset := main_~tmp~43#1.base, main_~tmp~43#1.offset; {16053#(= ~ldv_usb_gadget~0 0)} is VALID [2022-02-20 22:04:40,069 INFO L272 TraceCheckUtils]: 8: Hoare triple {16053#(= ~ldv_usb_gadget~0 0)} call main_#t~ret700#1.base, main_#t~ret700#1.offset := ldv_zalloc(1); {16082#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 22:04:40,069 INFO L290 TraceCheckUtils]: 9: Hoare triple {16082#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} ~size#1 := #in~size#1;havoc ~p~1#1.base, ~p~1#1.offset;havoc ~tmp~6#1.base, ~tmp~6#1.offset;havoc ~tmp___0~4#1;assume -2147483648 <= #t~nondet99#1 && #t~nondet99#1 <= 2147483647;~tmp___0~4#1 := #t~nondet99#1;havoc #t~nondet99#1; {16051#true} is VALID [2022-02-20 22:04:40,070 INFO L290 TraceCheckUtils]: 10: Hoare triple {16051#true} assume 0 != ~tmp___0~4#1;#res#1.base, #res#1.offset := 0, 0; {16051#true} is VALID [2022-02-20 22:04:40,070 INFO L290 TraceCheckUtils]: 11: Hoare triple {16051#true} assume true; {16051#true} is VALID [2022-02-20 22:04:40,070 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {16051#true} {16053#(= ~ldv_usb_gadget~0 0)} #3584#return; {16053#(= ~ldv_usb_gadget~0 0)} is VALID [2022-02-20 22:04:40,071 INFO L290 TraceCheckUtils]: 13: Hoare triple {16053#(= ~ldv_usb_gadget~0 0)} main_~tmp___0~21#1.base, main_~tmp___0~21#1.offset := main_#t~ret700#1.base, main_#t~ret700#1.offset;havoc main_#t~ret700#1.base, main_#t~ret700#1.offset;main_~ldvarg7~0#1.base, main_~ldvarg7~0#1.offset := main_~tmp___0~21#1.base, main_~tmp___0~21#1.offset; {16053#(= ~ldv_usb_gadget~0 0)} is VALID [2022-02-20 22:04:40,071 INFO L272 TraceCheckUtils]: 14: Hoare triple {16053#(= ~ldv_usb_gadget~0 0)} call main_#t~ret701#1.base, main_#t~ret701#1.offset := ldv_zalloc(16); {16082#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 22:04:40,071 INFO L290 TraceCheckUtils]: 15: Hoare triple {16082#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} ~size#1 := #in~size#1;havoc ~p~1#1.base, ~p~1#1.offset;havoc ~tmp~6#1.base, ~tmp~6#1.offset;havoc ~tmp___0~4#1;assume -2147483648 <= #t~nondet99#1 && #t~nondet99#1 <= 2147483647;~tmp___0~4#1 := #t~nondet99#1;havoc #t~nondet99#1; {16051#true} is VALID [2022-02-20 22:04:40,071 INFO L290 TraceCheckUtils]: 16: Hoare triple {16051#true} assume 0 != ~tmp___0~4#1;#res#1.base, #res#1.offset := 0, 0; {16051#true} is VALID [2022-02-20 22:04:40,072 INFO L290 TraceCheckUtils]: 17: Hoare triple {16051#true} assume true; {16051#true} is VALID [2022-02-20 22:04:40,072 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {16051#true} {16053#(= ~ldv_usb_gadget~0 0)} #3586#return; {16053#(= ~ldv_usb_gadget~0 0)} is VALID [2022-02-20 22:04:40,072 INFO L290 TraceCheckUtils]: 19: Hoare triple {16053#(= ~ldv_usb_gadget~0 0)} main_~tmp___1~13#1.base, main_~tmp___1~13#1.offset := main_#t~ret701#1.base, main_#t~ret701#1.offset;havoc main_#t~ret701#1.base, main_#t~ret701#1.offset;main_~ldvarg3~0#1.base, main_~ldvarg3~0#1.offset := main_~tmp___1~13#1.base, main_~tmp___1~13#1.offset; {16053#(= ~ldv_usb_gadget~0 0)} is VALID [2022-02-20 22:04:40,073 INFO L272 TraceCheckUtils]: 20: Hoare triple {16053#(= ~ldv_usb_gadget~0 0)} call main_#t~ret702#1.base, main_#t~ret702#1.offset := ldv_zalloc(8); {16082#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 22:04:40,073 INFO L290 TraceCheckUtils]: 21: Hoare triple {16082#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} ~size#1 := #in~size#1;havoc ~p~1#1.base, ~p~1#1.offset;havoc ~tmp~6#1.base, ~tmp~6#1.offset;havoc ~tmp___0~4#1;assume -2147483648 <= #t~nondet99#1 && #t~nondet99#1 <= 2147483647;~tmp___0~4#1 := #t~nondet99#1;havoc #t~nondet99#1; {16051#true} is VALID [2022-02-20 22:04:40,073 INFO L290 TraceCheckUtils]: 22: Hoare triple {16051#true} assume 0 != ~tmp___0~4#1;#res#1.base, #res#1.offset := 0, 0; {16051#true} is VALID [2022-02-20 22:04:40,073 INFO L290 TraceCheckUtils]: 23: Hoare triple {16051#true} assume true; {16051#true} is VALID [2022-02-20 22:04:40,074 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {16051#true} {16053#(= ~ldv_usb_gadget~0 0)} #3588#return; {16053#(= ~ldv_usb_gadget~0 0)} is VALID [2022-02-20 22:04:40,074 INFO L290 TraceCheckUtils]: 25: Hoare triple {16053#(= ~ldv_usb_gadget~0 0)} main_~tmp___2~10#1.base, main_~tmp___2~10#1.offset := main_#t~ret702#1.base, main_#t~ret702#1.offset;havoc main_#t~ret702#1.base, main_#t~ret702#1.offset;main_~ldvarg5~0#1.base, main_~ldvarg5~0#1.offset := main_~tmp___2~10#1.base, main_~tmp___2~10#1.offset;assume -2147483648 <= main_#t~nondet703#1 && main_#t~nondet703#1 <= 2147483647;main_~tmp___3~9#1 := main_#t~nondet703#1;havoc main_#t~nondet703#1;main_~ldvarg6~0#1 := main_~tmp___3~9#1;main_~tmp___4~7#1 := main_#t~nondet704#1;havoc main_#t~nondet704#1;main_~ldvarg1~0#1 := main_~tmp___4~7#1; {16053#(= ~ldv_usb_gadget~0 0)} is VALID [2022-02-20 22:04:40,075 INFO L272 TraceCheckUtils]: 26: Hoare triple {16053#(= ~ldv_usb_gadget~0 0)} call main_#t~ret705#1.base, main_#t~ret705#1.offset := ldv_zalloc(8); {16082#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 22:04:40,075 INFO L290 TraceCheckUtils]: 27: Hoare triple {16082#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} ~size#1 := #in~size#1;havoc ~p~1#1.base, ~p~1#1.offset;havoc ~tmp~6#1.base, ~tmp~6#1.offset;havoc ~tmp___0~4#1;assume -2147483648 <= #t~nondet99#1 && #t~nondet99#1 <= 2147483647;~tmp___0~4#1 := #t~nondet99#1;havoc #t~nondet99#1; {16051#true} is VALID [2022-02-20 22:04:40,075 INFO L290 TraceCheckUtils]: 28: Hoare triple {16051#true} assume 0 != ~tmp___0~4#1;#res#1.base, #res#1.offset := 0, 0; {16051#true} is VALID [2022-02-20 22:04:40,075 INFO L290 TraceCheckUtils]: 29: Hoare triple {16051#true} assume true; {16051#true} is VALID [2022-02-20 22:04:40,076 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {16051#true} {16053#(= ~ldv_usb_gadget~0 0)} #3590#return; {16053#(= ~ldv_usb_gadget~0 0)} is VALID [2022-02-20 22:04:40,076 INFO L290 TraceCheckUtils]: 31: Hoare triple {16053#(= ~ldv_usb_gadget~0 0)} main_~tmp___5~6#1.base, main_~tmp___5~6#1.offset := main_#t~ret705#1.base, main_#t~ret705#1.offset;havoc main_#t~ret705#1.base, main_#t~ret705#1.offset;main_~ldvarg8~0#1.base, main_~ldvarg8~0#1.offset := main_~tmp___5~6#1.base, main_~tmp___5~6#1.offset;assume -2147483648 <= main_#t~nondet706#1 && main_#t~nondet706#1 <= 2147483647;main_~tmp___6~5#1 := main_#t~nondet706#1;havoc main_#t~nondet706#1;main_~ldvarg4~0#1 := main_~tmp___6~5#1; {16053#(= ~ldv_usb_gadget~0 0)} is VALID [2022-02-20 22:04:40,077 INFO L272 TraceCheckUtils]: 32: Hoare triple {16053#(= ~ldv_usb_gadget~0 0)} call main_#t~ret707#1.base, main_#t~ret707#1.offset := ldv_zalloc(1); {16082#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 22:04:40,077 INFO L290 TraceCheckUtils]: 33: Hoare triple {16082#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} ~size#1 := #in~size#1;havoc ~p~1#1.base, ~p~1#1.offset;havoc ~tmp~6#1.base, ~tmp~6#1.offset;havoc ~tmp___0~4#1;assume -2147483648 <= #t~nondet99#1 && #t~nondet99#1 <= 2147483647;~tmp___0~4#1 := #t~nondet99#1;havoc #t~nondet99#1; {16051#true} is VALID [2022-02-20 22:04:40,077 INFO L290 TraceCheckUtils]: 34: Hoare triple {16051#true} assume 0 != ~tmp___0~4#1;#res#1.base, #res#1.offset := 0, 0; {16051#true} is VALID [2022-02-20 22:04:40,077 INFO L290 TraceCheckUtils]: 35: Hoare triple {16051#true} assume true; {16051#true} is VALID [2022-02-20 22:04:40,078 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {16051#true} {16053#(= ~ldv_usb_gadget~0 0)} #3592#return; {16053#(= ~ldv_usb_gadget~0 0)} is VALID [2022-02-20 22:04:40,078 INFO L290 TraceCheckUtils]: 37: Hoare triple {16053#(= ~ldv_usb_gadget~0 0)} main_~tmp___7~4#1.base, main_~tmp___7~4#1.offset := main_#t~ret707#1.base, main_#t~ret707#1.offset;havoc main_#t~ret707#1.base, main_#t~ret707#1.offset;main_~ldvarg10~0#1.base, main_~ldvarg10~0#1.offset := main_~tmp___7~4#1.base, main_~tmp___7~4#1.offset;assume -2147483648 <= main_#t~nondet708#1 && main_#t~nondet708#1 <= 2147483647;main_~tmp___8~4#1 := main_#t~nondet708#1;havoc main_#t~nondet708#1;main_~ldvarg9~0#1 := main_~tmp___8~4#1;main_~tmp___9~2#1 := main_#t~nondet709#1;havoc main_#t~nondet709#1;main_~ldvarg2~0#1 := main_~tmp___9~2#1;assume { :begin_inline_ldv_initialize } true; {16053#(= ~ldv_usb_gadget~0 0)} is VALID [2022-02-20 22:04:40,078 INFO L290 TraceCheckUtils]: 38: Hoare triple {16053#(= ~ldv_usb_gadget~0 0)} assume { :end_inline_ldv_initialize } true;~ldv_state_variable_1~0 := 0;~ref_cnt~0 := 0;~ldv_state_variable_0~0 := 1;~ldv_state_variable_2~0 := 0; {16053#(= ~ldv_usb_gadget~0 0)} is VALID [2022-02-20 22:04:40,079 INFO L290 TraceCheckUtils]: 39: Hoare triple {16053#(= ~ldv_usb_gadget~0 0)} assume -2147483648 <= main_#t~nondet710#1 && main_#t~nondet710#1 <= 2147483647;main_~tmp___10~2#1 := main_#t~nondet710#1;havoc main_#t~nondet710#1;main_#t~switch711#1 := 0 == main_~tmp___10~2#1; {16053#(= ~ldv_usb_gadget~0 0)} is VALID [2022-02-20 22:04:40,079 INFO L290 TraceCheckUtils]: 40: Hoare triple {16053#(= ~ldv_usb_gadget~0 0)} assume !main_#t~switch711#1;main_#t~switch711#1 := main_#t~switch711#1 || 1 == main_~tmp___10~2#1; {16053#(= ~ldv_usb_gadget~0 0)} is VALID [2022-02-20 22:04:40,079 INFO L290 TraceCheckUtils]: 41: Hoare triple {16053#(= ~ldv_usb_gadget~0 0)} assume main_#t~switch711#1; {16053#(= ~ldv_usb_gadget~0 0)} is VALID [2022-02-20 22:04:40,080 INFO L290 TraceCheckUtils]: 42: Hoare triple {16053#(= ~ldv_usb_gadget~0 0)} assume 0 != ~ldv_state_variable_0~0;assume -2147483648 <= main_#t~nondet716#1 && main_#t~nondet716#1 <= 2147483647;main_~tmp___12~2#1 := main_#t~nondet716#1;havoc main_#t~nondet716#1;main_#t~switch717#1 := 0 == main_~tmp___12~2#1; {16053#(= ~ldv_usb_gadget~0 0)} is VALID [2022-02-20 22:04:40,080 INFO L290 TraceCheckUtils]: 43: Hoare triple {16053#(= ~ldv_usb_gadget~0 0)} assume !main_#t~switch717#1;main_#t~switch717#1 := main_#t~switch717#1 || 1 == main_~tmp___12~2#1; {16053#(= ~ldv_usb_gadget~0 0)} is VALID [2022-02-20 22:04:40,080 INFO L290 TraceCheckUtils]: 44: Hoare triple {16053#(= ~ldv_usb_gadget~0 0)} assume main_#t~switch717#1; {16053#(= ~ldv_usb_gadget~0 0)} is VALID [2022-02-20 22:04:40,081 INFO L290 TraceCheckUtils]: 45: Hoare triple {16053#(= ~ldv_usb_gadget~0 0)} assume 1 == ~ldv_state_variable_0~0;assume { :begin_inline_init } true;havoc init_#res#1;havoc init_#t~ret684#1.base, init_#t~ret684#1.offset, init_#t~ret685#1, init_#t~ret686#1, init_#t~nondet687#1, init_#t~ret688#1, init_#t~nondet689#1, init_#t~ret690#1, init_#t~mem691#1, init_#t~nondet692#1, init_~status~4#1, init_~tmp~40#1.base, init_~tmp~40#1.offset, init_~tmp___0~19#1, init_~tmp___1~12#1;havoc init_~status~4#1;havoc init_~tmp~40#1.base, init_~tmp~40#1.offset;havoc init_~tmp___0~19#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~ret740#1.base, ldv_create_class_#t~ret740#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; {16053#(= ~ldv_usb_gadget~0 0)} is VALID [2022-02-20 22:04:40,081 INFO L272 TraceCheckUtils]: 46: Hoare triple {16053#(= ~ldv_usb_gadget~0 0)} call ldv_create_class_#t~ret740#1.base, ldv_create_class_#t~ret740#1.offset := ldv_malloc(120); {16083#(and (= |old(#length)| |#length|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 22:04:40,081 INFO L290 TraceCheckUtils]: 47: Hoare triple {16083#(and (= |old(#length)| |#length|) (= |old(#valid)| |#valid|))} ~size := #in~size;havoc ~p~0.base, ~p~0.offset;havoc ~tmp~5.base, ~tmp~5.offset;havoc ~tmp___0~3;assume -2147483648 <= #t~nondet96 && #t~nondet96 <= 2147483647;~tmp___0~3 := #t~nondet96;havoc #t~nondet96; {16051#true} is VALID [2022-02-20 22:04:40,081 INFO L290 TraceCheckUtils]: 48: Hoare triple {16051#true} assume 0 != ~tmp___0~3;#res.base, #res.offset := 0, 0; {16051#true} is VALID [2022-02-20 22:04:40,082 INFO L290 TraceCheckUtils]: 49: Hoare triple {16051#true} assume true; {16051#true} is VALID [2022-02-20 22:04:40,082 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {16051#true} {16053#(= ~ldv_usb_gadget~0 0)} #3626#return; {16053#(= ~ldv_usb_gadget~0 0)} is VALID [2022-02-20 22:04:40,083 INFO L290 TraceCheckUtils]: 51: Hoare triple {16053#(= ~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~ret740#1.base, ldv_create_class_#t~ret740#1.offset;havoc ldv_create_class_#t~ret740#1.base, ldv_create_class_#t~ret740#1.offset; {16053#(= ~ldv_usb_gadget~0 0)} is VALID [2022-02-20 22:04:40,083 INFO L290 TraceCheckUtils]: 52: Hoare triple {16053#(= ~ldv_usb_gadget~0 0)} assume (ldv_create_class_~is_got~0#1.base + ldv_create_class_~is_got~0#1.offset) % 18446744073709551616 <= 2012; {16053#(= ~ldv_usb_gadget~0 0)} is VALID [2022-02-20 22:04:40,083 INFO L290 TraceCheckUtils]: 53: Hoare triple {16053#(= ~ldv_usb_gadget~0 0)} assume !(0 == ~ldv_usb_gadget~0); {16052#false} is VALID [2022-02-20 22:04:40,083 INFO L272 TraceCheckUtils]: 54: Hoare triple {16052#false} call ldv_error(); {16052#false} is VALID [2022-02-20 22:04:40,084 INFO L290 TraceCheckUtils]: 55: Hoare triple {16052#false} assume !false; {16052#false} is VALID [2022-02-20 22:04:40,084 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 60 trivial. 0 not checked. [2022-02-20 22:04:40,084 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 22:04:40,084 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1726099575] [2022-02-20 22:04:40,084 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1726099575] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 22:04:40,085 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 22:04:40,085 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-02-20 22:04:40,085 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [890622290] [2022-02-20 22:04:40,085 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 22:04:40,090 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 5.2) internal successors, (26), 3 states have internal predecessors, (26), 2 states have call successors, (8), 3 states have call predecessors, (8), 1 states have return successors, (7), 1 states have call predecessors, (7), 1 states have call successors, (7) Word has length 56 [2022-02-20 22:04:40,090 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 22:04:40,090 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 5.2) internal successors, (26), 3 states have internal predecessors, (26), 2 states have call successors, (8), 3 states have call predecessors, (8), 1 states have return successors, (7), 1 states have call predecessors, (7), 1 states have call successors, (7) [2022-02-20 22:04:40,179 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 41 edges. 41 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 22:04:40,180 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 22:04:40,180 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 22:04:40,180 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 22:04:40,180 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2022-02-20 22:04:40,180 INFO L87 Difference]: Start difference. First operand 2406 states and 3471 transitions. Second operand has 5 states, 5 states have (on average 5.2) internal successors, (26), 3 states have internal predecessors, (26), 2 states have call successors, (8), 3 states have call predecessors, (8), 1 states have return successors, (7), 1 states have call predecessors, (7), 1 states have call successors, (7) [2022-02-20 22:04:44,241 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 22:04:46,277 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.04s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers []