./Ultimate.py --spec ../sv-benchmarks/c/properties/unreach-call.prp --file ../sv-benchmarks/c/ldv-commit-tester/m0_drivers-usb-gadget-g_printer-ko--106_1a--2b9ec6c-1.i --full-output -ea --architecture 64bit -------------------------------------------------------------------------------- Checking for ERROR reachability Using default analysis Version 03d7b7b3 Calling Ultimate with: /usr/bin/java -Dosgi.configuration.area=/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/config -Xmx15G -Xms4m -ea -jar /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data -tc /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/AutomizerReach.xml -i ../sv-benchmarks/c/ldv-commit-tester/m0_drivers-usb-gadget-g_printer-ko--106_1a--2b9ec6c-1.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 cb8f0ebb3c2471fcffc912ab6e7b9ec5c4e0cbee8604050053df01c587aed5a7 --- Real Ultimate output --- This is Ultimate 0.2.2-dev-03d7b7b [2022-02-20 21:37:04,610 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-02-20 21:37:04,611 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-02-20 21:37:04,631 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-02-20 21:37:04,631 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-02-20 21:37:04,632 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-02-20 21:37:04,633 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-02-20 21:37:04,634 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-02-20 21:37:04,639 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-02-20 21:37:04,643 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-02-20 21:37:04,644 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-02-20 21:37:04,646 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-02-20 21:37:04,646 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-02-20 21:37:04,648 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-02-20 21:37:04,650 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-02-20 21:37:04,651 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-02-20 21:37:04,652 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-02-20 21:37:04,652 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-02-20 21:37:04,657 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-02-20 21:37:04,662 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-02-20 21:37:04,663 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-02-20 21:37:04,664 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-02-20 21:37:04,666 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-02-20 21:37:04,666 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-02-20 21:37:04,673 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-02-20 21:37:04,673 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-02-20 21:37:04,673 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-02-20 21:37:04,675 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-02-20 21:37:04,675 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-02-20 21:37:04,676 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-02-20 21:37:04,676 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-02-20 21:37:04,677 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-02-20 21:37:04,678 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-02-20 21:37:04,679 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-02-20 21:37:04,680 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-02-20 21:37:04,680 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-02-20 21:37:04,681 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-02-20 21:37:04,681 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-02-20 21:37:04,681 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-02-20 21:37:04,682 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-02-20 21:37:04,682 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-02-20 21:37:04,683 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-64bit-Automizer_Default.epf [2022-02-20 21:37:04,712 INFO L113 SettingsManager]: Loading preferences was successful [2022-02-20 21:37:04,714 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-02-20 21:37:04,714 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-02-20 21:37:04,715 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-02-20 21:37:04,715 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-02-20 21:37:04,715 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-02-20 21:37:04,716 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-02-20 21:37:04,716 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-02-20 21:37:04,716 INFO L138 SettingsManager]: * Use SBE=true [2022-02-20 21:37:04,716 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-02-20 21:37:04,717 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-02-20 21:37:04,717 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-02-20 21:37:04,717 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-02-20 21:37:04,718 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-02-20 21:37:04,718 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-02-20 21:37:04,718 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-02-20 21:37:04,718 INFO L138 SettingsManager]: * Use constant arrays=true [2022-02-20 21:37:04,718 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-02-20 21:37:04,718 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-02-20 21:37:04,718 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-02-20 21:37:04,719 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-02-20 21:37:04,719 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 21:37:04,719 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-02-20 21:37:04,719 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-02-20 21:37:04,719 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-02-20 21:37:04,719 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-02-20 21:37:04,720 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-02-20 21:37:04,720 INFO L138 SettingsManager]: * Large block encoding in concurrent analysis=OFF [2022-02-20 21:37:04,720 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2022-02-20 21:37:04,720 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-02-20 21:37:04,720 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 -> cb8f0ebb3c2471fcffc912ab6e7b9ec5c4e0cbee8604050053df01c587aed5a7 [2022-02-20 21:37:04,910 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-02-20 21:37:04,931 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-02-20 21:37:04,933 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-02-20 21:37:04,935 INFO L271 PluginConnector]: Initializing CDTParser... [2022-02-20 21:37:04,936 INFO L275 PluginConnector]: CDTParser initialized [2022-02-20 21:37:04,937 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/ldv-commit-tester/m0_drivers-usb-gadget-g_printer-ko--106_1a--2b9ec6c-1.i [2022-02-20 21:37:04,994 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/105587a0d/45d08f588cb34889b4ea529b9e89f5d5/FLAGee7b22e55 [2022-02-20 21:37:05,460 INFO L306 CDTParser]: Found 1 translation units. [2022-02-20 21:37:05,461 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/ldv-commit-tester/m0_drivers-usb-gadget-g_printer-ko--106_1a--2b9ec6c-1.i [2022-02-20 21:37:05,490 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/105587a0d/45d08f588cb34889b4ea529b9e89f5d5/FLAGee7b22e55 [2022-02-20 21:37:05,736 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/105587a0d/45d08f588cb34889b4ea529b9e89f5d5 [2022-02-20 21:37:05,738 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-02-20 21:37:05,740 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2022-02-20 21:37:05,741 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-02-20 21:37:05,741 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-02-20 21:37:05,744 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-02-20 21:37:05,745 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 09:37:05" (1/1) ... [2022-02-20 21:37:05,746 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@6d60c5c7 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 09:37:05, skipping insertion in model container [2022-02-20 21:37:05,748 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 09:37:05" (1/1) ... [2022-02-20 21:37:05,753 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-02-20 21:37:05,826 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-02-20 21:37:06,713 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/ldv-commit-tester/m0_drivers-usb-gadget-g_printer-ko--106_1a--2b9ec6c-1.i[158757,158770] [2022-02-20 21:37:06,743 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 21:37:06,773 INFO L203 MainTranslator]: Completed pre-run [2022-02-20 21:37:06,950 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/ldv-commit-tester/m0_drivers-usb-gadget-g_printer-ko--106_1a--2b9ec6c-1.i[158757,158770] [2022-02-20 21:37:06,956 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 21:37:07,013 INFO L208 MainTranslator]: Completed translation [2022-02-20 21:37:07,013 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 09:37:07 WrapperNode [2022-02-20 21:37:07,014 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-02-20 21:37:07,015 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2022-02-20 21:37:07,015 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2022-02-20 21:37:07,015 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2022-02-20 21:37:07,021 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 09:37:07" (1/1) ... [2022-02-20 21:37:07,095 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 09:37:07" (1/1) ... [2022-02-20 21:37:07,257 INFO L137 Inliner]: procedures = 191, calls = 1268, calls flagged for inlining = 83, calls inlined = 83, statements flattened = 3442 [2022-02-20 21:37:07,257 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2022-02-20 21:37:07,258 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-02-20 21:37:07,258 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-02-20 21:37:07,258 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-02-20 21:37:07,264 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 09:37:07" (1/1) ... [2022-02-20 21:37:07,264 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 09:37:07" (1/1) ... [2022-02-20 21:37:07,310 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 09:37:07" (1/1) ... [2022-02-20 21:37:07,311 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 09:37:07" (1/1) ... [2022-02-20 21:37:07,395 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 09:37:07" (1/1) ... [2022-02-20 21:37:07,415 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 09:37:07" (1/1) ... [2022-02-20 21:37:07,434 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 09:37:07" (1/1) ... [2022-02-20 21:37:07,453 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-02-20 21:37:07,454 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-02-20 21:37:07,454 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-02-20 21:37:07,454 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-02-20 21:37:07,455 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 09:37:07" (1/1) ... [2022-02-20 21:37:07,461 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 21:37:07,468 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 21:37:07,478 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) [2022-02-20 21:37:07,504 INFO L130 BoogieDeclarations]: Found specification of procedure printer_req_free [2022-02-20 21:37:07,504 INFO L138 BoogieDeclarations]: Found implementation of procedure printer_req_free [2022-02-20 21:37:07,505 INFO L130 BoogieDeclarations]: Found specification of procedure ##fun~$Pointer$~X~int~TO~int [2022-02-20 21:37:07,505 INFO L138 BoogieDeclarations]: Found implementation of procedure ##fun~$Pointer$~X~int~TO~int [2022-02-20 21:37:07,505 INFO L130 BoogieDeclarations]: Found specification of procedure list_empty [2022-02-20 21:37:07,505 INFO L138 BoogieDeclarations]: Found implementation of procedure list_empty [2022-02-20 21:37:07,505 INFO L130 BoogieDeclarations]: Found specification of procedure write~unchecked~int [2022-02-20 21:37:07,505 INFO L130 BoogieDeclarations]: Found specification of procedure read~unchecked~$Pointer$ [2022-02-20 21:37:07,506 INFO L130 BoogieDeclarations]: Found specification of procedure write~unchecked~$Pointer$ [2022-02-20 21:37:07,506 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-02-20 21:37:07,506 INFO L130 BoogieDeclarations]: Found specification of procedure get_gadget_data [2022-02-20 21:37:07,506 INFO L138 BoogieDeclarations]: Found implementation of procedure get_gadget_data [2022-02-20 21:37:07,506 INFO L130 BoogieDeclarations]: Found specification of procedure printer_poll [2022-02-20 21:37:07,506 INFO L138 BoogieDeclarations]: Found implementation of procedure printer_poll [2022-02-20 21:37:07,506 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.C_memcpy [2022-02-20 21:37:07,507 INFO L138 BoogieDeclarations]: Found implementation of procedure #Ultimate.C_memcpy [2022-02-20 21:37:07,507 INFO L130 BoogieDeclarations]: Found specification of procedure usb_ep_free_request [2022-02-20 21:37:07,507 INFO L138 BoogieDeclarations]: Found implementation of procedure usb_ep_free_request [2022-02-20 21:37:07,507 INFO L130 BoogieDeclarations]: Found specification of procedure printer_reset_interface [2022-02-20 21:37:07,507 INFO L138 BoogieDeclarations]: Found implementation of procedure printer_reset_interface [2022-02-20 21:37:07,507 INFO L130 BoogieDeclarations]: Found specification of procedure get_current [2022-02-20 21:37:07,507 INFO L138 BoogieDeclarations]: Found implementation of procedure get_current [2022-02-20 21:37:07,508 INFO L130 BoogieDeclarations]: Found specification of procedure ldv_malloc [2022-02-20 21:37:07,508 INFO L138 BoogieDeclarations]: Found implementation of procedure ldv_malloc [2022-02-20 21:37:07,508 INFO L130 BoogieDeclarations]: Found specification of procedure printer_soft_reset [2022-02-20 21:37:07,508 INFO L138 BoogieDeclarations]: Found implementation of procedure printer_soft_reset [2022-02-20 21:37:07,508 INFO L130 BoogieDeclarations]: Found specification of procedure ldv_nonpositive_int [2022-02-20 21:37:07,508 INFO L138 BoogieDeclarations]: Found implementation of procedure ldv_nonpositive_int [2022-02-20 21:37:07,509 INFO L130 BoogieDeclarations]: Found specification of procedure ldv_unregister_class [2022-02-20 21:37:07,509 INFO L138 BoogieDeclarations]: Found implementation of procedure ldv_unregister_class [2022-02-20 21:37:07,509 INFO L130 BoogieDeclarations]: Found specification of procedure list_del_init [2022-02-20 21:37:07,509 INFO L138 BoogieDeclarations]: Found implementation of procedure list_del_init [2022-02-20 21:37:07,509 INFO L130 BoogieDeclarations]: Found specification of procedure set_printer_interface [2022-02-20 21:37:07,509 INFO L138 BoogieDeclarations]: Found implementation of procedure set_printer_interface [2022-02-20 21:37:07,509 INFO L130 BoogieDeclarations]: Found specification of procedure setup_rx_reqs [2022-02-20 21:37:07,510 INFO L138 BoogieDeclarations]: Found implementation of procedure setup_rx_reqs [2022-02-20 21:37:07,510 INFO L130 BoogieDeclarations]: Found specification of procedure class_destroy [2022-02-20 21:37:07,510 INFO L138 BoogieDeclarations]: Found implementation of procedure class_destroy [2022-02-20 21:37:07,510 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-02-20 21:37:07,510 INFO L130 BoogieDeclarations]: Found specification of procedure mutex_unlock [2022-02-20 21:37:07,510 INFO L138 BoogieDeclarations]: Found implementation of procedure mutex_unlock [2022-02-20 21:37:07,510 INFO L130 BoogieDeclarations]: Found specification of procedure ldv_error [2022-02-20 21:37:07,511 INFO L138 BoogieDeclarations]: Found implementation of procedure ldv_error [2022-02-20 21:37:07,511 INFO L130 BoogieDeclarations]: Found specification of procedure usb_ep_queue [2022-02-20 21:37:07,494 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Waiting until timeout for monitored process [2022-02-20 21:37:07,511 INFO L138 BoogieDeclarations]: Found implementation of procedure usb_ep_queue [2022-02-20 21:37:07,512 INFO L130 BoogieDeclarations]: Found specification of procedure set_interface [2022-02-20 21:37:07,512 INFO L138 BoogieDeclarations]: Found implementation of procedure set_interface [2022-02-20 21:37:07,512 INFO L130 BoogieDeclarations]: Found specification of procedure printer_setup_complete [2022-02-20 21:37:07,512 INFO L138 BoogieDeclarations]: Found implementation of procedure printer_setup_complete [2022-02-20 21:37:07,512 INFO L130 BoogieDeclarations]: Found specification of procedure ldv_check_return_value [2022-02-20 21:37:07,512 INFO L138 BoogieDeclarations]: Found implementation of procedure ldv_check_return_value [2022-02-20 21:37:07,512 INFO L130 BoogieDeclarations]: Found specification of procedure ldv__builtin_expect [2022-02-20 21:37:07,512 INFO L138 BoogieDeclarations]: Found implementation of procedure ldv__builtin_expect [2022-02-20 21:37:07,512 INFO L130 BoogieDeclarations]: Found specification of procedure usb_gadget_vbus_draw [2022-02-20 21:37:07,512 INFO L138 BoogieDeclarations]: Found implementation of procedure usb_gadget_vbus_draw [2022-02-20 21:37:07,512 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnHeap [2022-02-20 21:37:07,512 INFO L130 BoogieDeclarations]: Found specification of procedure strrchr [2022-02-20 21:37:07,512 INFO L130 BoogieDeclarations]: Found specification of procedure printer_unbind [2022-02-20 21:37:07,512 INFO L138 BoogieDeclarations]: Found implementation of procedure printer_unbind [2022-02-20 21:37:07,513 INFO L130 BoogieDeclarations]: Found specification of procedure kmem_cache_alloc_notrace [2022-02-20 21:37:07,513 INFO L130 BoogieDeclarations]: Found specification of procedure spinlock_check [2022-02-20 21:37:07,513 INFO L138 BoogieDeclarations]: Found implementation of procedure spinlock_check [2022-02-20 21:37:07,513 INFO L130 BoogieDeclarations]: Found specification of procedure printer_close [2022-02-20 21:37:07,513 INFO L138 BoogieDeclarations]: Found implementation of procedure printer_close [2022-02-20 21:37:07,513 INFO L130 BoogieDeclarations]: Found specification of procedure __list_add [2022-02-20 21:37:07,513 INFO L138 BoogieDeclarations]: Found implementation of procedure __list_add [2022-02-20 21:37:07,513 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-02-20 21:37:07,513 INFO L130 BoogieDeclarations]: Found specification of procedure poll_wait [2022-02-20 21:37:07,513 INFO L138 BoogieDeclarations]: Found implementation of procedure poll_wait [2022-02-20 21:37:07,513 INFO L130 BoogieDeclarations]: Found specification of procedure printer_fsync [2022-02-20 21:37:07,513 INFO L138 BoogieDeclarations]: Found implementation of procedure printer_fsync [2022-02-20 21:37:07,513 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2022-02-20 21:37:07,513 INFO L130 BoogieDeclarations]: Found specification of procedure write~$Pointer$ [2022-02-20 21:37:07,514 INFO L130 BoogieDeclarations]: Found specification of procedure INIT_LIST_HEAD [2022-02-20 21:37:07,514 INFO L138 BoogieDeclarations]: Found implementation of procedure INIT_LIST_HEAD [2022-02-20 21:37:07,514 INFO L130 BoogieDeclarations]: Found specification of procedure __bad_percpu_size [2022-02-20 21:37:07,514 INFO L130 BoogieDeclarations]: Found specification of procedure init_utsname [2022-02-20 21:37:07,514 INFO L138 BoogieDeclarations]: Found implementation of procedure init_utsname [2022-02-20 21:37:07,514 INFO L130 BoogieDeclarations]: Found specification of procedure usb_ep_enable [2022-02-20 21:37:07,514 INFO L138 BoogieDeclarations]: Found implementation of procedure usb_ep_enable [2022-02-20 21:37:07,514 INFO L130 BoogieDeclarations]: Found specification of procedure read~$Pointer$ [2022-02-20 21:37:07,514 INFO L130 BoogieDeclarations]: Found specification of procedure rcu_read_lock_sched_notrace [2022-02-20 21:37:07,514 INFO L138 BoogieDeclarations]: Found implementation of procedure rcu_read_lock_sched_notrace [2022-02-20 21:37:07,514 INFO L130 BoogieDeclarations]: Found specification of procedure printer_open [2022-02-20 21:37:07,514 INFO L138 BoogieDeclarations]: Found implementation of procedure printer_open [2022-02-20 21:37:07,514 INFO L130 BoogieDeclarations]: Found specification of procedure printer_bind [2022-02-20 21:37:07,514 INFO L138 BoogieDeclarations]: Found implementation of procedure printer_bind [2022-02-20 21:37:07,514 INFO L130 BoogieDeclarations]: Found specification of procedure __wake_up [2022-02-20 21:37:07,515 INFO L138 BoogieDeclarations]: Found implementation of procedure __wake_up [2022-02-20 21:37:07,515 INFO L130 BoogieDeclarations]: Found specification of procedure strlcpy [2022-02-20 21:37:07,515 INFO L138 BoogieDeclarations]: Found implementation of procedure strlcpy [2022-02-20 21:37:07,515 INFO L130 BoogieDeclarations]: Found specification of procedure ldv_is_err [2022-02-20 21:37:07,519 INFO L138 BoogieDeclarations]: Found implementation of procedure ldv_is_err [2022-02-20 21:37:07,519 INFO L130 BoogieDeclarations]: Found specification of procedure signal_pending [2022-02-20 21:37:07,519 INFO L138 BoogieDeclarations]: Found implementation of procedure signal_pending [2022-02-20 21:37:07,519 INFO L130 BoogieDeclarations]: Found specification of procedure spin_unlock_irqrestore [2022-02-20 21:37:07,519 INFO L138 BoogieDeclarations]: Found implementation of procedure spin_unlock_irqrestore [2022-02-20 21:37:07,519 INFO L130 BoogieDeclarations]: Found specification of procedure list_add [2022-02-20 21:37:07,519 INFO L138 BoogieDeclarations]: Found implementation of procedure list_add [2022-02-20 21:37:07,520 INFO L130 BoogieDeclarations]: Found specification of procedure usb_ep_autoconfig [2022-02-20 21:37:07,520 INFO L138 BoogieDeclarations]: Found implementation of procedure usb_ep_autoconfig [2022-02-20 21:37:07,520 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-02-20 21:37:07,520 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~$Pointer$ [2022-02-20 21:37:07,520 INFO L130 BoogieDeclarations]: Found specification of procedure trace_kmalloc [2022-02-20 21:37:07,520 INFO L138 BoogieDeclarations]: Found implementation of procedure trace_kmalloc [2022-02-20 21:37:07,520 INFO L130 BoogieDeclarations]: Found specification of procedure might_fault [2022-02-20 21:37:07,520 INFO L138 BoogieDeclarations]: Found implementation of procedure might_fault [2022-02-20 21:37:07,521 INFO L130 BoogieDeclarations]: Found specification of procedure prepare_to_wait [2022-02-20 21:37:07,521 INFO L138 BoogieDeclarations]: Found implementation of procedure prepare_to_wait [2022-02-20 21:37:07,521 INFO L130 BoogieDeclarations]: Found specification of procedure warn_slowpath_null [2022-02-20 21:37:07,521 INFO L138 BoogieDeclarations]: Found implementation of procedure warn_slowpath_null [2022-02-20 21:37:07,521 INFO L130 BoogieDeclarations]: Found specification of procedure printer_setup [2022-02-20 21:37:07,521 INFO L138 BoogieDeclarations]: Found implementation of procedure printer_setup [2022-02-20 21:37:07,521 INFO L130 BoogieDeclarations]: Found specification of procedure list_del [2022-02-20 21:37:07,521 INFO L138 BoogieDeclarations]: Found implementation of procedure list_del [2022-02-20 21:37:07,522 INFO L130 BoogieDeclarations]: Found specification of procedure unregister_chrdev_region [2022-02-20 21:37:07,522 INFO L138 BoogieDeclarations]: Found implementation of procedure unregister_chrdev_region [2022-02-20 21:37:07,522 INFO L130 BoogieDeclarations]: Found specification of procedure kmalloc [2022-02-20 21:37:07,522 INFO L138 BoogieDeclarations]: Found implementation of procedure kmalloc [2022-02-20 21:37:07,522 INFO L130 BoogieDeclarations]: Found specification of procedure _raw_spin_lock_irqsave [2022-02-20 21:37:07,522 INFO L138 BoogieDeclarations]: Found implementation of procedure _raw_spin_lock_irqsave [2022-02-20 21:37:07,522 INFO L130 BoogieDeclarations]: Found specification of procedure set_gadget_data [2022-02-20 21:37:07,522 INFO L138 BoogieDeclarations]: Found implementation of procedure set_gadget_data [2022-02-20 21:37:07,523 INFO L130 BoogieDeclarations]: Found specification of procedure printer_req_alloc [2022-02-20 21:37:07,523 INFO L138 BoogieDeclarations]: Found implementation of procedure printer_req_alloc [2022-02-20 21:37:07,523 INFO L130 BoogieDeclarations]: Found specification of procedure ##fun~$Pointer$~X~$Pointer$~TO~int [2022-02-20 21:37:07,523 INFO L138 BoogieDeclarations]: Found implementation of procedure ##fun~$Pointer$~X~$Pointer$~TO~int [2022-02-20 21:37:07,523 INFO L130 BoogieDeclarations]: Found specification of procedure mutex_lock_nested [2022-02-20 21:37:07,523 INFO L138 BoogieDeclarations]: Found implementation of procedure mutex_lock_nested [2022-02-20 21:37:07,523 INFO L130 BoogieDeclarations]: Found specification of procedure usb_ep_disable [2022-02-20 21:37:07,523 INFO L138 BoogieDeclarations]: Found implementation of procedure usb_ep_disable [2022-02-20 21:37:07,524 INFO L130 BoogieDeclarations]: Found specification of procedure __init_waitqueue_head [2022-02-20 21:37:07,524 INFO L138 BoogieDeclarations]: Found implementation of procedure __init_waitqueue_head [2022-02-20 21:37:07,524 INFO L130 BoogieDeclarations]: Found specification of procedure ldv_unregister_chrdev_region [2022-02-20 21:37:07,524 INFO L138 BoogieDeclarations]: Found implementation of procedure ldv_unregister_chrdev_region [2022-02-20 21:37:07,524 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-02-20 21:37:07,524 INFO L130 BoogieDeclarations]: Found specification of procedure ldv_handler_precall [2022-02-20 21:37:07,524 INFO L138 BoogieDeclarations]: Found implementation of procedure ldv_handler_precall [2022-02-20 21:37:07,524 INFO L130 BoogieDeclarations]: Found specification of procedure schedule [2022-02-20 21:37:07,525 INFO L138 BoogieDeclarations]: Found implementation of procedure schedule [2022-02-20 21:37:07,525 INFO L130 BoogieDeclarations]: Found specification of procedure read~unchecked~int [2022-02-20 21:37:07,525 INFO L130 BoogieDeclarations]: Found specification of procedure _copy_from_user [2022-02-20 21:37:07,525 INFO L138 BoogieDeclarations]: Found implementation of procedure _copy_from_user [2022-02-20 21:37:07,525 INFO L130 BoogieDeclarations]: Found specification of procedure finish_wait [2022-02-20 21:37:07,525 INFO L138 BoogieDeclarations]: Found implementation of procedure finish_wait [2022-02-20 21:37:07,525 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-02-20 21:37:07,525 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-02-20 21:37:07,526 INFO L130 BoogieDeclarations]: Found specification of procedure IS_ERR [2022-02-20 21:37:07,526 INFO L138 BoogieDeclarations]: Found implementation of procedure IS_ERR [2022-02-20 21:37:07,980 INFO L234 CfgBuilder]: Building ICFG [2022-02-20 21:37:07,982 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-02-20 21:37:22,150 INFO L275 CfgBuilder]: Performing block encoding [2022-02-20 21:37:22,174 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-02-20 21:37:22,174 INFO L299 CfgBuilder]: Removed 0 assume(true) statements. [2022-02-20 21:37:22,177 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 09:37:22 BoogieIcfgContainer [2022-02-20 21:37:22,178 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-02-20 21:37:22,179 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-02-20 21:37:22,179 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-02-20 21:37:22,182 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-02-20 21:37:22,182 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 20.02 09:37:05" (1/3) ... [2022-02-20 21:37:22,183 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@31853c42 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 09:37:22, skipping insertion in model container [2022-02-20 21:37:22,183 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 09:37:07" (2/3) ... [2022-02-20 21:37:22,183 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@31853c42 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 09:37:22, skipping insertion in model container [2022-02-20 21:37:22,183 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 09:37:22" (3/3) ... [2022-02-20 21:37:22,184 INFO L111 eAbstractionObserver]: Analyzing ICFG m0_drivers-usb-gadget-g_printer-ko--106_1a--2b9ec6c-1.i [2022-02-20 21:37:22,188 INFO L205 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-02-20 21:37:22,188 INFO L164 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-02-20 21:37:22,226 INFO L338 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-02-20 21:37:22,235 INFO L339 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=FPandBP, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=PETRI_NET, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=LoopsAndPotentialCycles, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP, mLoopAccelerationTechnique=FAST_UPR [2022-02-20 21:37:22,235 INFO L340 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-02-20 21:37:22,296 INFO L276 IsEmpty]: Start isEmpty. Operand has 1278 states, 894 states have (on average 1.407158836689038) internal successors, (1258), 934 states have internal predecessors, (1258), 317 states have call successors, (317), 65 states have call predecessors, (317), 65 states have return successors, (317), 314 states have call predecessors, (317), 317 states have call successors, (317) [2022-02-20 21:37:22,301 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 18 [2022-02-20 21:37:22,302 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 21:37:22,302 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 21:37:22,303 INFO L402 AbstractCegarLoop]: === Iteration 1 === Targeting ldv_errorErr0ASSERT_VIOLATIONERROR_FUNCTION === [ldv_errorErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 21:37:22,310 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 21:37:22,310 INFO L85 PathProgramCache]: Analyzing trace with hash -1087819150, now seen corresponding path program 1 times [2022-02-20 21:37:22,320 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 21:37:22,320 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [610030574] [2022-02-20 21:37:22,320 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 21:37:22,321 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 21:37:22,693 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:37:22,837 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 3 [2022-02-20 21:37:22,845 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:37:22,863 INFO L290 TraceCheckUtils]: 0: Hoare triple {1281#true} assume true; {1281#true} is VALID [2022-02-20 21:37:22,864 INFO L284 TraceCheckUtils]: 1: Hoare quadruple {1281#true} {1283#(= ~ldv_usb_gadget~0 0)} #3317#return; {1283#(= ~ldv_usb_gadget~0 0)} is VALID [2022-02-20 21:37:22,887 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-02-20 21:37:22,894 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:37:22,901 INFO L290 TraceCheckUtils]: 0: Hoare triple {1290#(and (= |old(#length)| |#length|) (= |old(#valid)| |#valid|))} ~size#1 := #in~size#1;assume -2147483648 <= #t~nondet89#1 && #t~nondet89#1 <= 2147483647; {1281#true} is VALID [2022-02-20 21:37:22,902 INFO L290 TraceCheckUtils]: 1: Hoare triple {1281#true} assume !(0 != #t~nondet89#1);havoc #t~nondet89#1;#res#1.base, #res#1.offset := 0, 0; {1281#true} is VALID [2022-02-20 21:37:22,902 INFO L290 TraceCheckUtils]: 2: Hoare triple {1281#true} assume true; {1281#true} is VALID [2022-02-20 21:37:22,903 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1281#true} {1283#(= ~ldv_usb_gadget~0 0)} #3319#return; {1283#(= ~ldv_usb_gadget~0 0)} is VALID [2022-02-20 21:37:22,914 INFO L290 TraceCheckUtils]: 0: Hoare triple {1281#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(56, 2);call #Ultimate.allocInit(28, 3);call #Ultimate.allocInit(166, 4);call #Ultimate.allocInit(27, 5);call #Ultimate.allocInit(13, 6);call #Ultimate.allocInit(24, 7);call #Ultimate.allocInit(14, 8);call #Ultimate.allocInit(33, 9);call #Ultimate.allocInit(15, 10);call #Ultimate.allocInit(20, 11);call #Ultimate.allocInit(15, 12);call #Ultimate.allocInit(21, 13);call #Ultimate.allocInit(15, 14);call #Ultimate.allocInit(33, 15);call #Ultimate.allocInit(15, 16);call #Ultimate.allocInit(22, 17);call #Ultimate.allocInit(15, 18);call #Ultimate.allocInit(25, 19);call #Ultimate.allocInit(15, 20);call #Ultimate.allocInit(45, 21);call #Ultimate.allocInit(15, 22);call #Ultimate.allocInit(39, 23);call #Ultimate.allocInit(15, 24);call #Ultimate.allocInit(46, 25);call #Ultimate.allocInit(15, 26);call #Ultimate.allocInit(36, 27);call #Ultimate.allocInit(15, 28);call #Ultimate.allocInit(44, 29);call #Ultimate.allocInit(15, 30);call #Ultimate.allocInit(57, 31);call #Ultimate.allocInit(15, 32);call #Ultimate.allocInit(25, 33);call #Ultimate.allocInit(15, 34);call #Ultimate.allocInit(25, 35);call #Ultimate.allocInit(15, 36);call #Ultimate.allocInit(11, 37);call #Ultimate.allocInit(15, 38);call #Ultimate.allocInit(24, 39);call #Ultimate.allocInit(5, 40);call write~init~int(102, 40, 0, 1);call write~init~int(117, 40, 1, 1);call write~init~int(108, 40, 2, 1);call write~init~int(108, 40, 3, 1);call write~init~int(0, 40, 4, 1);call #Ultimate.allocInit(5, 41);call write~init~int(104, 41, 0, 1);call write~init~int(105, 41, 1, 1);call write~init~int(103, 41, 2, 1);call write~init~int(104, 41, 3, 1);call write~init~int(0, 41, 4, 1);call #Ultimate.allocInit(2, 42);call write~init~int(63, 42, 0, 1);call write~init~int(0, 42, 1, 1);call #Ultimate.allocInit(39, 43);call #Ultimate.allocInit(15, 44);call #Ultimate.allocInit(27, 45);call #Ultimate.allocInit(15, 46);call #Ultimate.allocInit(37, 47);call #Ultimate.allocInit(15, 48);call #Ultimate.allocInit(39, 49);call #Ultimate.allocInit(15, 50);call #Ultimate.allocInit(36, 51);call #Ultimate.allocInit(15, 52);call #Ultimate.allocInit(37, 53);call #Ultimate.allocInit(15, 54);call #Ultimate.allocInit(35, 55);call #Ultimate.allocInit(15, 56);call #Ultimate.allocInit(36, 57);call #Ultimate.allocInit(15, 58);call #Ultimate.allocInit(42, 59);call #Ultimate.allocInit(15, 60);call #Ultimate.allocInit(22, 61);call #Ultimate.allocInit(15, 62);call #Ultimate.allocInit(40, 63);call #Ultimate.allocInit(15, 64);call #Ultimate.allocInit(31, 65);call #Ultimate.allocInit(15, 66);call #Ultimate.allocInit(24, 67);call #Ultimate.allocInit(15, 68);call #Ultimate.allocInit(11, 69);call #Ultimate.allocInit(15, 70);call #Ultimate.allocInit(19, 71);call #Ultimate.allocInit(11, 72);call #Ultimate.allocInit(15, 73);call #Ultimate.allocInit(15, 74);call #Ultimate.allocInit(282, 75);call #Ultimate.allocInit(282, 76);call #Ultimate.allocInit(10, 77);call #Ultimate.allocInit(43, 78);call #Ultimate.allocInit(15, 79);call #Ultimate.allocInit(35, 80);call #Ultimate.allocInit(15, 81);call #Ultimate.allocInit(32, 82);call #Ultimate.allocInit(14, 83);call #Ultimate.allocInit(27, 84);call #Ultimate.allocInit(27, 85);call #Ultimate.allocInit(21, 86);call #Ultimate.allocInit(22, 87);call #Ultimate.allocInit(33, 88);call #Ultimate.allocInit(15, 89);call #Ultimate.allocInit(31, 90);call #Ultimate.allocInit(15, 91);call #Ultimate.allocInit(45, 92);call #Ultimate.allocInit(15, 93);call #Ultimate.allocInit(19, 94);call #Ultimate.allocInit(31, 95);call #Ultimate.allocInit(15, 96);call #Ultimate.allocInit(38, 97);call #Ultimate.allocInit(15, 98);call #Ultimate.allocInit(40, 99);call #Ultimate.allocInit(15, 100);~epnum~0 := 0;~#printer_mutex~0.base, ~#printer_mutex~0.offset := 101, 0;call #Ultimate.allocInit(136, 101);call write~init~int(1, ~#printer_mutex~0.base, ~#printer_mutex~0.offset, 4);call write~init~int(0, ~#printer_mutex~0.base, 4 + ~#printer_mutex~0.offset, 4);call write~init~int(3735899821, ~#printer_mutex~0.base, 8 + ~#printer_mutex~0.offset, 4);call write~init~int(4294967295, ~#printer_mutex~0.base, 12 + ~#printer_mutex~0.offset, 4);call write~init~$Pointer$(0, -1, ~#printer_mutex~0.base, 16 + ~#printer_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_mutex~0.base, 24 + ~#printer_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_mutex~0.base, 32 + ~#printer_mutex~0.offset, 8);call write~init~$Pointer$(7, 0, ~#printer_mutex~0.base, 40 + ~#printer_mutex~0.offset, 8);call write~init~int(0, ~#printer_mutex~0.base, 48 + ~#printer_mutex~0.offset, 4);call write~init~int(0, ~#printer_mutex~0.base, 52 + ~#printer_mutex~0.offset, 8);call write~init~$Pointer$(~#printer_mutex~0.base, 60 + ~#printer_mutex~0.offset, ~#printer_mutex~0.base, 60 + ~#printer_mutex~0.offset, 8);call write~init~$Pointer$(~#printer_mutex~0.base, 60 + ~#printer_mutex~0.offset, ~#printer_mutex~0.base, 68 + ~#printer_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_mutex~0.base, 76 + ~#printer_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_mutex~0.base, 84 + ~#printer_mutex~0.offset, 8);call write~init~$Pointer$(~#printer_mutex~0.base, ~#printer_mutex~0.offset, ~#printer_mutex~0.base, 92 + ~#printer_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_mutex~0.base, 100 + ~#printer_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_mutex~0.base, 108 + ~#printer_mutex~0.offset, 8);call write~init~$Pointer$(8, 0, ~#printer_mutex~0.base, 116 + ~#printer_mutex~0.offset, 8);call write~init~int(0, ~#printer_mutex~0.base, 124 + ~#printer_mutex~0.offset, 4);call write~init~int(0, ~#printer_mutex~0.base, 128 + ~#printer_mutex~0.offset, 8);~#shortname~0.base, ~#shortname~0.offset := 102, 0;call #Ultimate.allocInit(8, 102);call write~init~int(112, ~#shortname~0.base, ~#shortname~0.offset, 1);call write~init~int(114, ~#shortname~0.base, 1 + ~#shortname~0.offset, 1);call write~init~int(105, ~#shortname~0.base, 2 + ~#shortname~0.offset, 1);call write~init~int(110, ~#shortname~0.base, 3 + ~#shortname~0.offset, 1);call write~init~int(116, ~#shortname~0.base, 4 + ~#shortname~0.offset, 1);call write~init~int(101, ~#shortname~0.base, 5 + ~#shortname~0.offset, 1);call write~init~int(114, ~#shortname~0.base, 6 + ~#shortname~0.offset, 1);call write~init~int(0, ~#shortname~0.base, 7 + ~#shortname~0.offset, 1);~#driver_desc~0.base, ~#driver_desc~0.offset := 103, 0;call #Ultimate.allocInit(15, 103);call write~init~int(80, ~#driver_desc~0.base, ~#driver_desc~0.offset, 1);call write~init~int(114, ~#driver_desc~0.base, 1 + ~#driver_desc~0.offset, 1);call write~init~int(105, ~#driver_desc~0.base, 2 + ~#driver_desc~0.offset, 1);call write~init~int(110, ~#driver_desc~0.base, 3 + ~#driver_desc~0.offset, 1);call write~init~int(116, ~#driver_desc~0.base, 4 + ~#driver_desc~0.offset, 1);call write~init~int(101, ~#driver_desc~0.base, 5 + ~#driver_desc~0.offset, 1);call write~init~int(114, ~#driver_desc~0.base, 6 + ~#driver_desc~0.offset, 1);call write~init~int(32, ~#driver_desc~0.base, 7 + ~#driver_desc~0.offset, 1);call write~init~int(71, ~#driver_desc~0.base, 8 + ~#driver_desc~0.offset, 1);call write~init~int(97, ~#driver_desc~0.base, 9 + ~#driver_desc~0.offset, 1);call write~init~int(100, ~#driver_desc~0.base, 10 + ~#driver_desc~0.offset, 1);call write~init~int(103, ~#driver_desc~0.base, 11 + ~#driver_desc~0.offset, 1);call write~init~int(101, ~#driver_desc~0.base, 12 + ~#driver_desc~0.offset, 1);call write~init~int(116, ~#driver_desc~0.base, 13 + ~#driver_desc~0.offset, 1);call write~init~int(0, ~#driver_desc~0.base, 14 + ~#driver_desc~0.offset, 1);~#g_printer_devno~0.base, ~#g_printer_devno~0.offset := 104, 0;call #Ultimate.allocInit(4, 104);call write~init~int(0, ~#g_printer_devno~0.base, ~#g_printer_devno~0.offset, 4);~usb_gadget_class~0.base, ~usb_gadget_class~0.offset := 0, 0;~#usb_printer_gadget~0.base, ~#usb_printer_gadget~0.offset := 105, 0;call #Ultimate.allocInit(750, 105);#memory_$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);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#usb_printer_gadget~0.base);~idVendor~0 := 0;~idProduct~0 := 0;~bcdDevice~0 := 0;~iManufacturer~0.base, ~iManufacturer~0.offset := 0, 0;~iProduct~0.base, ~iProduct~0.offset := 0, 0;~iSerialNum~0.base, ~iSerialNum~0.offset := 0, 0;~iPNPstring~0.base, ~iPNPstring~0.offset := 0, 0;~qlen~0 := 10;~#device_desc~0.base, ~#device_desc~0.offset := 106, 0;call #Ultimate.allocInit(18, 106);call write~init~int(18, ~#device_desc~0.base, ~#device_desc~0.offset, 1);call write~init~int(1, ~#device_desc~0.base, 1 + ~#device_desc~0.offset, 1);call write~init~int(512, ~#device_desc~0.base, 2 + ~#device_desc~0.offset, 2);call write~init~int(0, ~#device_desc~0.base, 4 + ~#device_desc~0.offset, 1);call write~init~int(0, ~#device_desc~0.base, 5 + ~#device_desc~0.offset, 1);call write~init~int(0, ~#device_desc~0.base, 6 + ~#device_desc~0.offset, 1);call write~init~int(0, ~#device_desc~0.base, 7 + ~#device_desc~0.offset, 1);call write~init~int(1317, ~#device_desc~0.base, 8 + ~#device_desc~0.offset, 2);call write~init~int(42152, ~#device_desc~0.base, 10 + ~#device_desc~0.offset, 2);call write~init~int(0, ~#device_desc~0.base, 12 + ~#device_desc~0.offset, 2);call write~init~int(1, ~#device_desc~0.base, 14 + ~#device_desc~0.offset, 1);call write~init~int(2, ~#device_desc~0.base, 15 + ~#device_desc~0.offset, 1);call write~init~int(3, ~#device_desc~0.base, 16 + ~#device_desc~0.offset, 1);call write~init~int(1, ~#device_desc~0.base, 17 + ~#device_desc~0.offset, 1);~#otg_desc~0.base, ~#otg_desc~0.offset := 107, 0;call #Ultimate.allocInit(3, 107);call write~init~int(3, ~#otg_desc~0.base, ~#otg_desc~0.offset, 1);call write~init~int(9, ~#otg_desc~0.base, 1 + ~#otg_desc~0.offset, 1);call write~init~int(1, ~#otg_desc~0.base, 2 + ~#otg_desc~0.offset, 1);~#config_desc~0.base, ~#config_desc~0.offset := 108, 0;call #Ultimate.allocInit(9, 108);call write~init~int(9, ~#config_desc~0.base, ~#config_desc~0.offset, 1);call write~init~int(2, ~#config_desc~0.base, 1 + ~#config_desc~0.offset, 1);call write~init~int(0, ~#config_desc~0.base, 2 + ~#config_desc~0.offset, 2);call write~init~int(1, ~#config_desc~0.base, 4 + ~#config_desc~0.offset, 1);call write~init~int(1, ~#config_desc~0.base, 5 + ~#config_desc~0.offset, 1);call write~init~int(0, ~#config_desc~0.base, 6 + ~#config_desc~0.offset, 1);call write~init~int(192, ~#config_desc~0.base, 7 + ~#config_desc~0.offset, 1);call write~init~int(1, ~#config_desc~0.base, 8 + ~#config_desc~0.offset, 1);~#intf_desc~0.base, ~#intf_desc~0.offset := 109, 0;call #Ultimate.allocInit(9, 109);call write~init~int(9, ~#intf_desc~0.base, ~#intf_desc~0.offset, 1);call write~init~int(4, ~#intf_desc~0.base, 1 + ~#intf_desc~0.offset, 1);call write~init~int(0, ~#intf_desc~0.base, 2 + ~#intf_desc~0.offset, 1);call write~init~int(0, ~#intf_desc~0.base, 3 + ~#intf_desc~0.offset, 1);call write~init~int(2, ~#intf_desc~0.base, 4 + ~#intf_desc~0.offset, 1);call write~init~int(7, ~#intf_desc~0.base, 5 + ~#intf_desc~0.offset, 1);call write~init~int(1, ~#intf_desc~0.base, 6 + ~#intf_desc~0.offset, 1);call write~init~int(2, ~#intf_desc~0.base, 7 + ~#intf_desc~0.offset, 1);call write~init~int(0, ~#intf_desc~0.base, 8 + ~#intf_desc~0.offset, 1);~#fs_ep_in_desc~0.base, ~#fs_ep_in_desc~0.offset := 110, 0;call #Ultimate.allocInit(9, 110);call write~init~int(7, ~#fs_ep_in_desc~0.base, ~#fs_ep_in_desc~0.offset, 1);call write~init~int(5, ~#fs_ep_in_desc~0.base, 1 + ~#fs_ep_in_desc~0.offset, 1);call write~init~int(128, ~#fs_ep_in_desc~0.base, 2 + ~#fs_ep_in_desc~0.offset, 1);call write~init~int(2, ~#fs_ep_in_desc~0.base, 3 + ~#fs_ep_in_desc~0.offset, 1);call write~init~int(0, ~#fs_ep_in_desc~0.base, 4 + ~#fs_ep_in_desc~0.offset, 2);call write~init~int(0, ~#fs_ep_in_desc~0.base, 6 + ~#fs_ep_in_desc~0.offset, 1);call write~init~int(0, ~#fs_ep_in_desc~0.base, 7 + ~#fs_ep_in_desc~0.offset, 1);call write~init~int(0, ~#fs_ep_in_desc~0.base, 8 + ~#fs_ep_in_desc~0.offset, 1);~#fs_ep_out_desc~0.base, ~#fs_ep_out_desc~0.offset := 111, 0;call #Ultimate.allocInit(9, 111);call write~init~int(7, ~#fs_ep_out_desc~0.base, ~#fs_ep_out_desc~0.offset, 1);call write~init~int(5, ~#fs_ep_out_desc~0.base, 1 + ~#fs_ep_out_desc~0.offset, 1);call write~init~int(0, ~#fs_ep_out_desc~0.base, 2 + ~#fs_ep_out_desc~0.offset, 1);call write~init~int(2, ~#fs_ep_out_desc~0.base, 3 + ~#fs_ep_out_desc~0.offset, 1);call write~init~int(0, ~#fs_ep_out_desc~0.base, 4 + ~#fs_ep_out_desc~0.offset, 2);call write~init~int(0, ~#fs_ep_out_desc~0.base, 6 + ~#fs_ep_out_desc~0.offset, 1);call write~init~int(0, ~#fs_ep_out_desc~0.base, 7 + ~#fs_ep_out_desc~0.offset, 1);call write~init~int(0, ~#fs_ep_out_desc~0.base, 8 + ~#fs_ep_out_desc~0.offset, 1);~#fs_printer_function~0.base, ~#fs_printer_function~0.offset := 112, 0;call #Ultimate.allocInit(88, 112);#memory_$Pointer$.base, #memory_$Pointer$.offset := ~initToZeroAtPointerBaseAddress~$Pointer$.base(#memory_$Pointer$.base, #memory_$Pointer$.offset, ~#fs_printer_function~0.base), ~initToZeroAtPointerBaseAddress~$Pointer$.offset(#memory_$Pointer$.base, #memory_$Pointer$.offset, ~#fs_printer_function~0.base);call write~unchecked~$Pointer$(~#otg_desc~0.base, ~#otg_desc~0.offset, ~#fs_printer_function~0.base, ~#fs_printer_function~0.offset, 8);call write~unchecked~$Pointer$(~#intf_desc~0.base, ~#intf_desc~0.offset, ~#fs_printer_function~0.base, 8 + ~#fs_printer_function~0.offset, 8);call write~unchecked~$Pointer$(~#fs_ep_in_desc~0.base, ~#fs_ep_in_desc~0.offset, ~#fs_printer_function~0.base, 16 + ~#fs_printer_function~0.offset, 8);call write~unchecked~$Pointer$(~#fs_ep_out_desc~0.base, ~#fs_ep_out_desc~0.offset, ~#fs_printer_function~0.base, 24 + ~#fs_printer_function~0.offset, 8);call write~unchecked~$Pointer$(0, 0, ~#fs_printer_function~0.base, 32 + ~#fs_printer_function~0.offset, 8);~#hs_ep_in_desc~0.base, ~#hs_ep_in_desc~0.offset := 113, 0;call #Ultimate.allocInit(9, 113);call write~init~int(7, ~#hs_ep_in_desc~0.base, ~#hs_ep_in_desc~0.offset, 1);call write~init~int(5, ~#hs_ep_in_desc~0.base, 1 + ~#hs_ep_in_desc~0.offset, 1);call write~init~int(0, ~#hs_ep_in_desc~0.base, 2 + ~#hs_ep_in_desc~0.offset, 1);call write~init~int(2, ~#hs_ep_in_desc~0.base, 3 + ~#hs_ep_in_desc~0.offset, 1);call write~init~int(512, ~#hs_ep_in_desc~0.base, 4 + ~#hs_ep_in_desc~0.offset, 2);call write~init~int(0, ~#hs_ep_in_desc~0.base, 6 + ~#hs_ep_in_desc~0.offset, 1);call write~init~int(0, ~#hs_ep_in_desc~0.base, 7 + ~#hs_ep_in_desc~0.offset, 1);call write~init~int(0, ~#hs_ep_in_desc~0.base, 8 + ~#hs_ep_in_desc~0.offset, 1);~#hs_ep_out_desc~0.base, ~#hs_ep_out_desc~0.offset := 114, 0;call #Ultimate.allocInit(9, 114);call write~init~int(7, ~#hs_ep_out_desc~0.base, ~#hs_ep_out_desc~0.offset, 1);call write~init~int(5, ~#hs_ep_out_desc~0.base, 1 + ~#hs_ep_out_desc~0.offset, 1);call write~init~int(0, ~#hs_ep_out_desc~0.base, 2 + ~#hs_ep_out_desc~0.offset, 1);call write~init~int(2, ~#hs_ep_out_desc~0.base, 3 + ~#hs_ep_out_desc~0.offset, 1);call write~init~int(512, ~#hs_ep_out_desc~0.base, 4 + ~#hs_ep_out_desc~0.offset, 2);call write~init~int(0, ~#hs_ep_out_desc~0.base, 6 + ~#hs_ep_out_desc~0.offset, 1);call write~init~int(0, ~#hs_ep_out_desc~0.base, 7 + ~#hs_ep_out_desc~0.offset, 1);call write~init~int(0, ~#hs_ep_out_desc~0.base, 8 + ~#hs_ep_out_desc~0.offset, 1);~#dev_qualifier~0.base, ~#dev_qualifier~0.offset := 115, 0;call #Ultimate.allocInit(10, 115);call write~init~int(10, ~#dev_qualifier~0.base, ~#dev_qualifier~0.offset, 1);call write~init~int(6, ~#dev_qualifier~0.base, 1 + ~#dev_qualifier~0.offset, 1);call write~init~int(512, ~#dev_qualifier~0.base, 2 + ~#dev_qualifier~0.offset, 2);call write~init~int(7, ~#dev_qualifier~0.base, 4 + ~#dev_qualifier~0.offset, 1);call write~init~int(0, ~#dev_qualifier~0.base, 5 + ~#dev_qualifier~0.offset, 1);call write~init~int(0, ~#dev_qualifier~0.base, 6 + ~#dev_qualifier~0.offset, 1);call write~init~int(0, ~#dev_qualifier~0.base, 7 + ~#dev_qualifier~0.offset, 1);call write~init~int(1, ~#dev_qualifier~0.base, 8 + ~#dev_qualifier~0.offset, 1);call write~init~int(0, ~#dev_qualifier~0.base, 9 + ~#dev_qualifier~0.offset, 1);~#hs_printer_function~0.base, ~#hs_printer_function~0.offset := 116, 0;call #Ultimate.allocInit(88, 116);#memory_$Pointer$.base, #memory_$Pointer$.offset := ~initToZeroAtPointerBaseAddress~$Pointer$.base(#memory_$Pointer$.base, #memory_$Pointer$.offset, ~#hs_printer_function~0.base), ~initToZeroAtPointerBaseAddress~$Pointer$.offset(#memory_$Pointer$.base, #memory_$Pointer$.offset, ~#hs_printer_function~0.base);call write~unchecked~$Pointer$(~#otg_desc~0.base, ~#otg_desc~0.offset, ~#hs_printer_function~0.base, ~#hs_printer_function~0.offset, 8);call write~unchecked~$Pointer$(~#intf_desc~0.base, ~#intf_desc~0.offset, ~#hs_printer_function~0.base, 8 + ~#hs_printer_function~0.offset, 8);call write~unchecked~$Pointer$(~#hs_ep_in_desc~0.base, ~#hs_ep_in_desc~0.offset, ~#hs_printer_function~0.base, 16 + ~#hs_printer_function~0.offset, 8);call write~unchecked~$Pointer$(~#hs_ep_out_desc~0.base, ~#hs_ep_out_desc~0.offset, ~#hs_printer_function~0.base, 24 + ~#hs_printer_function~0.offset, 8);call write~unchecked~$Pointer$(0, 0, ~#hs_printer_function~0.base, 32 + ~#hs_printer_function~0.offset, 8);~#manufacturer~0.base, ~#manufacturer~0.offset := 117, 0;call #Ultimate.allocInit(50, 117);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#manufacturer~0.base);~#product_desc~0.base, ~#product_desc~0.offset := 118, 0;call #Ultimate.allocInit(40, 118);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#product_desc~0.base);call write~unchecked~int(80, ~#product_desc~0.base, ~#product_desc~0.offset, 1);call write~unchecked~int(114, ~#product_desc~0.base, 1 + ~#product_desc~0.offset, 1);call write~unchecked~int(105, ~#product_desc~0.base, 2 + ~#product_desc~0.offset, 1);call write~unchecked~int(110, ~#product_desc~0.base, 3 + ~#product_desc~0.offset, 1);call write~unchecked~int(116, ~#product_desc~0.base, 4 + ~#product_desc~0.offset, 1);call write~unchecked~int(101, ~#product_desc~0.base, 5 + ~#product_desc~0.offset, 1);call write~unchecked~int(114, ~#product_desc~0.base, 6 + ~#product_desc~0.offset, 1);call write~unchecked~int(32, ~#product_desc~0.base, 7 + ~#product_desc~0.offset, 1);call write~unchecked~int(71, ~#product_desc~0.base, 8 + ~#product_desc~0.offset, 1);call write~unchecked~int(97, ~#product_desc~0.base, 9 + ~#product_desc~0.offset, 1);call write~unchecked~int(100, ~#product_desc~0.base, 10 + ~#product_desc~0.offset, 1);call write~unchecked~int(103, ~#product_desc~0.base, 11 + ~#product_desc~0.offset, 1);call write~unchecked~int(101, ~#product_desc~0.base, 12 + ~#product_desc~0.offset, 1);call write~unchecked~int(116, ~#product_desc~0.base, 13 + ~#product_desc~0.offset, 1);call write~unchecked~int(0, ~#product_desc~0.base, 14 + ~#product_desc~0.offset, 1);~#serial_num~0.base, ~#serial_num~0.offset := 119, 0;call #Ultimate.allocInit(40, 119);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#serial_num~0.base);call write~unchecked~int(49, ~#serial_num~0.base, ~#serial_num~0.offset, 1);call write~unchecked~int(0, ~#serial_num~0.base, 1 + ~#serial_num~0.offset, 1);~#pnp_string~0.base, ~#pnp_string~0.offset := 120, 0;call #Ultimate.allocInit(1024, 120);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#pnp_string~0.base);call write~unchecked~int(88, ~#pnp_string~0.base, ~#pnp_string~0.offset, 1);call write~unchecked~int(88, ~#pnp_string~0.base, 1 + ~#pnp_string~0.offset, 1);call write~unchecked~int(77, ~#pnp_string~0.base, 2 + ~#pnp_string~0.offset, 1);call write~unchecked~int(70, ~#pnp_string~0.base, 3 + ~#pnp_string~0.offset, 1);call write~unchecked~int(71, ~#pnp_string~0.base, 4 + ~#pnp_string~0.offset, 1);call write~unchecked~int(58, ~#pnp_string~0.base, 5 + ~#pnp_string~0.offset, 1);call write~unchecked~int(108, ~#pnp_string~0.base, 6 + ~#pnp_string~0.offset, 1);call write~unchecked~int(105, ~#pnp_string~0.base, 7 + ~#pnp_string~0.offset, 1);call write~unchecked~int(110, ~#pnp_string~0.base, 8 + ~#pnp_string~0.offset, 1);call write~unchecked~int(117, ~#pnp_string~0.base, 9 + ~#pnp_string~0.offset, 1);call write~unchecked~int(120, ~#pnp_string~0.base, 10 + ~#pnp_string~0.offset, 1);call write~unchecked~int(59, ~#pnp_string~0.base, 11 + ~#pnp_string~0.offset, 1);call write~unchecked~int(77, ~#pnp_string~0.base, 12 + ~#pnp_string~0.offset, 1);call write~unchecked~int(68, ~#pnp_string~0.base, 13 + ~#pnp_string~0.offset, 1);call write~unchecked~int(76, ~#pnp_string~0.base, 14 + ~#pnp_string~0.offset, 1);call write~unchecked~int(58, ~#pnp_string~0.base, 15 + ~#pnp_string~0.offset, 1);call write~unchecked~int(103, ~#pnp_string~0.base, 16 + ~#pnp_string~0.offset, 1);call write~unchecked~int(95, ~#pnp_string~0.base, 17 + ~#pnp_string~0.offset, 1);call write~unchecked~int(112, ~#pnp_string~0.base, 18 + ~#pnp_string~0.offset, 1);call write~unchecked~int(114, ~#pnp_string~0.base, 19 + ~#pnp_string~0.offset, 1);call write~unchecked~int(105, ~#pnp_string~0.base, 20 + ~#pnp_string~0.offset, 1);call write~unchecked~int(110, ~#pnp_string~0.base, 21 + ~#pnp_string~0.offset, 1);call write~unchecked~int(116, ~#pnp_string~0.base, 22 + ~#pnp_string~0.offset, 1);call write~unchecked~int(101, ~#pnp_string~0.base, 23 + ~#pnp_string~0.offset, 1);call write~unchecked~int(114, ~#pnp_string~0.base, 24 + ~#pnp_string~0.offset, 1);call write~unchecked~int(59, ~#pnp_string~0.base, 25 + ~#pnp_string~0.offset, 1);call write~unchecked~int(67, ~#pnp_string~0.base, 26 + ~#pnp_string~0.offset, 1);call write~unchecked~int(76, ~#pnp_string~0.base, 27 + ~#pnp_string~0.offset, 1);call write~unchecked~int(83, ~#pnp_string~0.base, 28 + ~#pnp_string~0.offset, 1);call write~unchecked~int(58, ~#pnp_string~0.base, 29 + ~#pnp_string~0.offset, 1);call write~unchecked~int(80, ~#pnp_string~0.base, 30 + ~#pnp_string~0.offset, 1);call write~unchecked~int(82, ~#pnp_string~0.base, 31 + ~#pnp_string~0.offset, 1);call write~unchecked~int(73, ~#pnp_string~0.base, 32 + ~#pnp_string~0.offset, 1);call write~unchecked~int(78, ~#pnp_string~0.base, 33 + ~#pnp_string~0.offset, 1);call write~unchecked~int(84, ~#pnp_string~0.base, 34 + ~#pnp_string~0.offset, 1);call write~unchecked~int(69, ~#pnp_string~0.base, 35 + ~#pnp_string~0.offset, 1);call write~unchecked~int(82, ~#pnp_string~0.base, 36 + ~#pnp_string~0.offset, 1);call write~unchecked~int(59, ~#pnp_string~0.base, 37 + ~#pnp_string~0.offset, 1);call write~unchecked~int(83, ~#pnp_string~0.base, 38 + ~#pnp_string~0.offset, 1);call write~unchecked~int(78, ~#pnp_string~0.base, 39 + ~#pnp_string~0.offset, 1);call write~unchecked~int(58, ~#pnp_string~0.base, 40 + ~#pnp_string~0.offset, 1);call write~unchecked~int(49, ~#pnp_string~0.base, 41 + ~#pnp_string~0.offset, 1);call write~unchecked~int(59, ~#pnp_string~0.base, 42 + ~#pnp_string~0.offset, 1);call write~unchecked~int(0, ~#pnp_string~0.base, 43 + ~#pnp_string~0.offset, 1);~#strings~0.base, ~#strings~0.offset := 121, 0;call #Ultimate.allocInit(36, 121);call write~init~int(1, ~#strings~0.base, ~#strings~0.offset, 1);call write~init~$Pointer$(~#manufacturer~0.base, ~#manufacturer~0.offset, ~#strings~0.base, 1 + ~#strings~0.offset, 8);call write~init~int(2, ~#strings~0.base, 9 + ~#strings~0.offset, 1);call write~init~$Pointer$(~#product_desc~0.base, ~#product_desc~0.offset, ~#strings~0.base, 10 + ~#strings~0.offset, 8);call write~init~int(3, ~#strings~0.base, 18 + ~#strings~0.offset, 1);call write~init~$Pointer$(~#serial_num~0.base, ~#serial_num~0.offset, ~#strings~0.base, 19 + ~#strings~0.offset, 8);call write~init~int(0, ~#strings~0.base, 27 + ~#strings~0.offset, 1);call write~init~$Pointer$(0, 0, ~#strings~0.base, 28 + ~#strings~0.offset, 8);~#stringtab~0.base, ~#stringtab~0.offset := 122, 0;call #Ultimate.allocInit(10, 122);call write~init~int(1033, ~#stringtab~0.base, ~#stringtab~0.offset, 2);call write~init~$Pointer$(~#strings~0.base, ~#strings~0.offset, ~#stringtab~0.base, 2 + ~#stringtab~0.offset, 8);~#printer_io_operations~0.base, ~#printer_io_operations~0.offset := 123, 0;call #Ultimate.allocInit(200, 123);call write~init~$Pointer$(~#__this_module~0.base, ~#__this_module~0.offset, ~#printer_io_operations~0.base, ~#printer_io_operations~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_io_operations~0.base, 8 + ~#printer_io_operations~0.offset, 8);call write~init~$Pointer$(#funAddr~printer_read.base, #funAddr~printer_read.offset, ~#printer_io_operations~0.base, 16 + ~#printer_io_operations~0.offset, 8);call write~init~$Pointer$(#funAddr~printer_write.base, #funAddr~printer_write.offset, ~#printer_io_operations~0.base, 24 + ~#printer_io_operations~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_io_operations~0.base, 32 + ~#printer_io_operations~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_io_operations~0.base, 40 + ~#printer_io_operations~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_io_operations~0.base, 48 + ~#printer_io_operations~0.offset, 8);call write~init~$Pointer$(#funAddr~printer_poll.base, #funAddr~printer_poll.offset, ~#printer_io_operations~0.base, 56 + ~#printer_io_operations~0.offset, 8);call write~init~$Pointer$(#funAddr~printer_ioctl.base, #funAddr~printer_ioctl.offset, ~#printer_io_operations~0.base, 64 + ~#printer_io_operations~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_io_operations~0.base, 72 + ~#printer_io_operations~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_io_operations~0.base, 80 + ~#printer_io_operations~0.offset, 8);call write~init~$Pointer$(#funAddr~printer_open.base, #funAddr~printer_open.offset, ~#printer_io_operations~0.base, 88 + ~#printer_io_operations~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_io_operations~0.base, 96 + ~#printer_io_operations~0.offset, 8);call write~init~$Pointer$(#funAddr~printer_close.base, #funAddr~printer_close.offset, ~#printer_io_operations~0.base, 104 + ~#printer_io_operations~0.offset, 8);call write~init~$Pointer$(#funAddr~printer_fsync.base, #funAddr~printer_fsync.offset, ~#printer_io_operations~0.base, 112 + ~#printer_io_operations~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_io_operations~0.base, 120 + ~#printer_io_operations~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_io_operations~0.base, 128 + ~#printer_io_operations~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_io_operations~0.base, 136 + ~#printer_io_operations~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_io_operations~0.base, 144 + ~#printer_io_operations~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_io_operations~0.base, 152 + ~#printer_io_operations~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_io_operations~0.base, 160 + ~#printer_io_operations~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_io_operations~0.base, 168 + ~#printer_io_operations~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_io_operations~0.base, 176 + ~#printer_io_operations~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_io_operations~0.base, 184 + ~#printer_io_operations~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_io_operations~0.base, 192 + ~#printer_io_operations~0.offset, 8);~#printer_driver~0.base, ~#printer_driver~0.offset := 124, 0;call #Ultimate.allocInit(157, 124);call write~init~$Pointer$(~#driver_desc~0.base, ~#driver_desc~0.offset, ~#printer_driver~0.base, ~#printer_driver~0.offset, 8);call write~init~int(3, ~#printer_driver~0.base, 8 + ~#printer_driver~0.offset, 4);call write~init~$Pointer$(#funAddr~printer_bind.base, #funAddr~printer_bind.offset, ~#printer_driver~0.base, 12 + ~#printer_driver~0.offset, 8);call write~init~$Pointer$(#funAddr~printer_unbind.base, #funAddr~printer_unbind.offset, ~#printer_driver~0.base, 20 + ~#printer_driver~0.offset, 8);call write~init~$Pointer$(#funAddr~printer_setup.base, #funAddr~printer_setup.offset, ~#printer_driver~0.base, 28 + ~#printer_driver~0.offset, 8);call write~init~$Pointer$(#funAddr~printer_disconnect.base, #funAddr~printer_disconnect.offset, ~#printer_driver~0.base, 36 + ~#printer_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_driver~0.base, 44 + ~#printer_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_driver~0.base, 52 + ~#printer_driver~0.offset, 8);call write~init~$Pointer$(~#shortname~0.base, ~#shortname~0.offset, ~#printer_driver~0.base, 60 + ~#printer_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_driver~0.base, 68 + ~#printer_driver~0.offset, 8);call write~init~$Pointer$(~#__this_module~0.base, ~#__this_module~0.offset, ~#printer_driver~0.base, 76 + ~#printer_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_driver~0.base, 84 + ~#printer_driver~0.offset, 8);call write~init~int(0, ~#printer_driver~0.base, 92 + ~#printer_driver~0.offset, 1);call write~init~$Pointer$(0, 0, ~#printer_driver~0.base, 93 + ~#printer_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_driver~0.base, 101 + ~#printer_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_driver~0.base, 109 + ~#printer_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_driver~0.base, 117 + ~#printer_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_driver~0.base, 125 + ~#printer_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_driver~0.base, 133 + ~#printer_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_driver~0.base, 141 + ~#printer_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_driver~0.base, 149 + ~#printer_driver~0.offset, 8);~LDV_IN_INTERRUPT~0 := 0;~ldv_usb_gadget_class~0 := 0;~ldv_usb_gadget_chrdev~0 := 0;~ldv_usb_gadget~0 := 0; {1283#(= ~ldv_usb_gadget~0 0)} is VALID [2022-02-20 21:37:22,916 INFO L290 TraceCheckUtils]: 1: Hoare triple {1283#(= ~ldv_usb_gadget~0 0)} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret691#1, main_#t~nondet692#1, main_#t~switch693#1, main_#t~ret694#1, main_#t~ret695#1, main_#t~ret696#1, main_#t~ret697#1, main_#t~ret698#1, main_#t~ret699#1, main_#t~ret700#1, main_#t~ret701#1, main_#t~ret702#1, main_#t~nondet703#1, main_~var_group1~0#1.base, main_~var_group1~0#1.offset, main_~var_group2~0#1.base, main_~var_group2~0#1.offset, main_~res_printer_open_4~0#1, main_~var_printer_read_7_p1~0#1.base, main_~var_printer_read_7_p1~0#1.offset, main_~var_printer_read_7_p2~0#1, main_~var_printer_read_7_p3~0#1.base, main_~var_printer_read_7_p3~0#1.offset, main_~res_printer_read_7~0#1, main_~var_printer_write_8_p1~0#1.base, main_~var_printer_write_8_p1~0#1.offset, main_~var_printer_write_8_p2~0#1, main_~var_printer_write_8_p3~0#1.base, main_~var_printer_write_8_p3~0#1.offset, main_~res_printer_write_8~0#1, main_~var_printer_fsync_9_p1~0#1, main_~var_printer_poll_10_p1~0#1.base, main_~var_printer_poll_10_p1~0#1.offset, main_~var_printer_ioctl_11_p1~0#1, main_~var_printer_ioctl_11_p2~0#1, main_~var_group3~0#1.base, main_~var_group3~0#1.offset, main_~var_printer_setup_19_p1~0#1.base, main_~var_printer_setup_19_p1~0#1.offset, main_~ldv_s_printer_io_operations_file_operations~0#1, main_~ldv_s_printer_driver_usb_gadget_driver~0#1, main_~tmp~37#1, main_~tmp___0~18#1, main_~tmp___1~13#1;havoc main_~var_group1~0#1.base, main_~var_group1~0#1.offset;havoc main_~var_group2~0#1.base, main_~var_group2~0#1.offset;havoc main_~res_printer_open_4~0#1;havoc main_~var_printer_read_7_p1~0#1.base, main_~var_printer_read_7_p1~0#1.offset;havoc main_~var_printer_read_7_p2~0#1;havoc main_~var_printer_read_7_p3~0#1.base, main_~var_printer_read_7_p3~0#1.offset;havoc main_~res_printer_read_7~0#1;havoc main_~var_printer_write_8_p1~0#1.base, main_~var_printer_write_8_p1~0#1.offset;havoc main_~var_printer_write_8_p2~0#1;havoc main_~var_printer_write_8_p3~0#1.base, main_~var_printer_write_8_p3~0#1.offset;havoc main_~res_printer_write_8~0#1;havoc main_~var_printer_fsync_9_p1~0#1;havoc main_~var_printer_poll_10_p1~0#1.base, main_~var_printer_poll_10_p1~0#1.offset;havoc main_~var_printer_ioctl_11_p1~0#1;havoc main_~var_printer_ioctl_11_p2~0#1;havoc main_~var_group3~0#1.base, main_~var_group3~0#1.offset;havoc main_~var_printer_setup_19_p1~0#1.base, main_~var_printer_setup_19_p1~0#1.offset;havoc main_~ldv_s_printer_io_operations_file_operations~0#1;havoc main_~ldv_s_printer_driver_usb_gadget_driver~0#1;havoc main_~tmp~37#1;havoc main_~tmp___0~18#1;havoc main_~tmp___1~13#1;main_~ldv_s_printer_io_operations_file_operations~0#1 := 0;main_~ldv_s_printer_driver_usb_gadget_driver~0#1 := 0;~LDV_IN_INTERRUPT~0 := 1;assume { :begin_inline_ldv_initialize } true; {1283#(= ~ldv_usb_gadget~0 0)} is VALID [2022-02-20 21:37:22,916 INFO L290 TraceCheckUtils]: 2: Hoare triple {1283#(= ~ldv_usb_gadget~0 0)} assume { :end_inline_ldv_initialize } true; {1283#(= ~ldv_usb_gadget~0 0)} is VALID [2022-02-20 21:37:22,917 INFO L272 TraceCheckUtils]: 3: Hoare triple {1283#(= ~ldv_usb_gadget~0 0)} call ldv_handler_precall(); {1281#true} is VALID [2022-02-20 21:37:22,917 INFO L290 TraceCheckUtils]: 4: Hoare triple {1281#true} assume true; {1281#true} is VALID [2022-02-20 21:37:22,917 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {1281#true} {1283#(= ~ldv_usb_gadget~0 0)} #3317#return; {1283#(= ~ldv_usb_gadget~0 0)} is VALID [2022-02-20 21:37:22,918 INFO L290 TraceCheckUtils]: 6: Hoare triple {1283#(= ~ldv_usb_gadget~0 0)} assume { :begin_inline_init } true;havoc init_#res#1;havoc init_#t~ret678#1.base, init_#t~ret678#1.offset, init_#t~ret679#1, init_#t~ret680#1, init_#t~nondet681#1, init_#t~ret682#1, init_#t~nondet683#1, init_#t~ret684#1, init_#t~mem685#1, init_#t~nondet686#1, init_~status~4#1, init_~tmp~36#1.base, init_~tmp~36#1.offset, init_~tmp___0~17#1, init_~tmp___1~12#1;havoc init_~status~4#1;havoc init_~tmp~36#1.base, init_~tmp~36#1.offset;havoc init_~tmp___0~17#1;havoc init_~tmp___1~12#1;assume { :begin_inline_ldv_create_class } true;havoc ldv_create_class_#res#1.base, ldv_create_class_#res#1.offset;havoc ldv_create_class_#t~ret713#1.base, ldv_create_class_#t~ret713#1.offset, ldv_create_class_~is_got~0#1.base, ldv_create_class_~is_got~0#1.offset;havoc ldv_create_class_~is_got~0#1.base, ldv_create_class_~is_got~0#1.offset; {1283#(= ~ldv_usb_gadget~0 0)} is VALID [2022-02-20 21:37:22,918 INFO L272 TraceCheckUtils]: 7: Hoare triple {1283#(= ~ldv_usb_gadget~0 0)} call ldv_create_class_#t~ret713#1.base, ldv_create_class_#t~ret713#1.offset := ldv_malloc(120); {1290#(and (= |old(#length)| |#length|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 21:37:22,919 INFO L290 TraceCheckUtils]: 8: Hoare triple {1290#(and (= |old(#length)| |#length|) (= |old(#valid)| |#valid|))} ~size#1 := #in~size#1;assume -2147483648 <= #t~nondet89#1 && #t~nondet89#1 <= 2147483647; {1281#true} is VALID [2022-02-20 21:37:22,919 INFO L290 TraceCheckUtils]: 9: Hoare triple {1281#true} assume !(0 != #t~nondet89#1);havoc #t~nondet89#1;#res#1.base, #res#1.offset := 0, 0; {1281#true} is VALID [2022-02-20 21:37:22,919 INFO L290 TraceCheckUtils]: 10: Hoare triple {1281#true} assume true; {1281#true} is VALID [2022-02-20 21:37:22,920 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {1281#true} {1283#(= ~ldv_usb_gadget~0 0)} #3319#return; {1283#(= ~ldv_usb_gadget~0 0)} is VALID [2022-02-20 21:37:22,920 INFO L290 TraceCheckUtils]: 12: Hoare triple {1283#(= ~ldv_usb_gadget~0 0)} ldv_create_class_~is_got~0#1.base, ldv_create_class_~is_got~0#1.offset := ldv_create_class_#t~ret713#1.base, ldv_create_class_#t~ret713#1.offset;havoc ldv_create_class_#t~ret713#1.base, ldv_create_class_#t~ret713#1.offset; {1283#(= ~ldv_usb_gadget~0 0)} is VALID [2022-02-20 21:37:22,921 INFO L290 TraceCheckUtils]: 13: Hoare triple {1283#(= ~ldv_usb_gadget~0 0)} assume (ldv_create_class_~is_got~0#1.base + ldv_create_class_~is_got~0#1.offset) % 18446744073709551616 <= 18446744073709547521; {1283#(= ~ldv_usb_gadget~0 0)} is VALID [2022-02-20 21:37:22,921 INFO L290 TraceCheckUtils]: 14: Hoare triple {1283#(= ~ldv_usb_gadget~0 0)} assume !(0 == ~ldv_usb_gadget~0); {1282#false} is VALID [2022-02-20 21:37:22,921 INFO L272 TraceCheckUtils]: 15: Hoare triple {1282#false} call ldv_error(); {1282#false} is VALID [2022-02-20 21:37:22,921 INFO L290 TraceCheckUtils]: 16: Hoare triple {1282#false} assume !false; {1282#false} is VALID [2022-02-20 21:37:22,922 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 21:37:22,922 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 21:37:22,922 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [610030574] [2022-02-20 21:37:22,923 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [610030574] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 21:37:22,923 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 21:37:22,923 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-02-20 21:37:22,924 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [154054402] [2022-02-20 21:37:22,925 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 21:37:22,929 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) Word has length 17 [2022-02-20 21:37:22,930 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 21:37:22,933 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 21:37:23,000 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 17 edges. 17 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 21:37:23,000 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-02-20 21:37:23,001 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 21:37:23,034 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-02-20 21:37:23,038 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-02-20 21:37:23,045 INFO L87 Difference]: Start difference. First operand has 1278 states, 894 states have (on average 1.407158836689038) internal successors, (1258), 934 states have internal predecessors, (1258), 317 states have call successors, (317), 65 states have call predecessors, (317), 65 states have return successors, (317), 314 states have call predecessors, (317), 317 states have call successors, (317) Second operand has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 21:37:27,137 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.03s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [] [2022-02-20 21:37:51,292 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 21:37:51,292 INFO L93 Difference]: Finished difference Result 4165 states and 6365 transitions. [2022-02-20 21:37:51,292 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 21:37:51,293 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) Word has length 17 [2022-02-20 21:37:51,293 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 21:37:51,294 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 21:37:51,483 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 6365 transitions. [2022-02-20 21:37:51,484 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 21:37:51,649 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 6365 transitions. [2022-02-20 21:37:51,650 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 6365 transitions. [2022-02-20 21:37:56,146 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 6365 edges. 6365 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 21:37:56,573 INFO L225 Difference]: With dead ends: 4165 [2022-02-20 21:37:56,573 INFO L226 Difference]: Without dead ends: 2887 [2022-02-20 21:37:56,585 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 8 GetRequests, 5 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=9, Invalid=11, Unknown=0, NotChecked=0, Total=20 [2022-02-20 21:37:56,588 INFO L933 BasicCegarLoop]: 2052 mSDtfsCounter, 3067 mSDsluCounter, 2185 mSDsCounter, 0 mSdLazyCounter, 1393 mSolverCounterSat, 922 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 6.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 3364 SdHoareTripleChecker+Valid, 4237 SdHoareTripleChecker+Invalid, 2316 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.1s SdHoareTripleChecker+Time, 922 IncrementalHoareTripleChecker+Valid, 1393 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 6.9s IncrementalHoareTripleChecker+Time [2022-02-20 21:37:56,591 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [3364 Valid, 4237 Invalid, 2316 Unknown, 0 Unchecked, 0.1s Time], IncrementalHoareTripleChecker [922 Valid, 1393 Invalid, 1 Unknown, 0 Unchecked, 6.9s Time] [2022-02-20 21:37:56,606 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 2887 states. [2022-02-20 21:37:56,732 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 2887 to 2330. [2022-02-20 21:37:56,733 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 21:37:56,749 INFO L82 GeneralOperation]: Start isEquivalent. First operand 2887 states. Second operand has 2330 states, 1616 states have (on average 1.3545792079207921) internal successors, (2189), 1674 states have internal predecessors, (2189), 593 states have call successors, (593), 122 states have call predecessors, (593), 120 states have return successors, (584), 577 states have call predecessors, (584), 584 states have call successors, (584) [2022-02-20 21:37:56,756 INFO L74 IsIncluded]: Start isIncluded. First operand 2887 states. Second operand has 2330 states, 1616 states have (on average 1.3545792079207921) internal successors, (2189), 1674 states have internal predecessors, (2189), 593 states have call successors, (593), 122 states have call predecessors, (593), 120 states have return successors, (584), 577 states have call predecessors, (584), 584 states have call successors, (584) [2022-02-20 21:37:56,762 INFO L87 Difference]: Start difference. First operand 2887 states. Second operand has 2330 states, 1616 states have (on average 1.3545792079207921) internal successors, (2189), 1674 states have internal predecessors, (2189), 593 states have call successors, (593), 122 states have call predecessors, (593), 120 states have return successors, (584), 577 states have call predecessors, (584), 584 states have call successors, (584) [2022-02-20 21:37:57,010 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 21:37:57,010 INFO L93 Difference]: Finished difference Result 2887 states and 4275 transitions. [2022-02-20 21:37:57,011 INFO L276 IsEmpty]: Start isEmpty. Operand 2887 states and 4275 transitions. [2022-02-20 21:37:57,029 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 21:37:57,030 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 21:37:57,036 INFO L74 IsIncluded]: Start isIncluded. First operand has 2330 states, 1616 states have (on average 1.3545792079207921) internal successors, (2189), 1674 states have internal predecessors, (2189), 593 states have call successors, (593), 122 states have call predecessors, (593), 120 states have return successors, (584), 577 states have call predecessors, (584), 584 states have call successors, (584) Second operand 2887 states. [2022-02-20 21:37:57,041 INFO L87 Difference]: Start difference. First operand has 2330 states, 1616 states have (on average 1.3545792079207921) internal successors, (2189), 1674 states have internal predecessors, (2189), 593 states have call successors, (593), 122 states have call predecessors, (593), 120 states have return successors, (584), 577 states have call predecessors, (584), 584 states have call successors, (584) Second operand 2887 states. [2022-02-20 21:37:57,285 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 21:37:57,290 INFO L93 Difference]: Finished difference Result 2887 states and 4275 transitions. [2022-02-20 21:37:57,290 INFO L276 IsEmpty]: Start isEmpty. Operand 2887 states and 4275 transitions. [2022-02-20 21:37:57,300 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 21:37:57,301 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 21:37:57,301 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 21:37:57,301 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 21:37:57,307 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 2330 states, 1616 states have (on average 1.3545792079207921) internal successors, (2189), 1674 states have internal predecessors, (2189), 593 states have call successors, (593), 122 states have call predecessors, (593), 120 states have return successors, (584), 577 states have call predecessors, (584), 584 states have call successors, (584) [2022-02-20 21:37:57,556 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2330 states to 2330 states and 3366 transitions. [2022-02-20 21:37:57,559 INFO L78 Accepts]: Start accepts. Automaton has 2330 states and 3366 transitions. Word has length 17 [2022-02-20 21:37:57,559 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 21:37:57,559 INFO L470 AbstractCegarLoop]: Abstraction has 2330 states and 3366 transitions. [2022-02-20 21:37:57,560 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 21:37:57,560 INFO L276 IsEmpty]: Start isEmpty. Operand 2330 states and 3366 transitions. [2022-02-20 21:37:57,560 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 19 [2022-02-20 21:37:57,560 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 21:37:57,560 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 21:37:57,561 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-02-20 21:37:57,561 INFO L402 AbstractCegarLoop]: === Iteration 2 === Targeting ldv_errorErr0ASSERT_VIOLATIONERROR_FUNCTION === [ldv_errorErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 21:37:57,561 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 21:37:57,561 INFO L85 PathProgramCache]: Analyzing trace with hash 636307650, now seen corresponding path program 1 times [2022-02-20 21:37:57,562 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 21:37:57,562 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [518579362] [2022-02-20 21:37:57,562 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 21:37:57,562 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 21:37:57,674 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:37:57,752 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 3 [2022-02-20 21:37:57,754 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:37:57,759 INFO L290 TraceCheckUtils]: 0: Hoare triple {16050#true} assume true; {16050#true} is VALID [2022-02-20 21:37:57,759 INFO L284 TraceCheckUtils]: 1: Hoare quadruple {16050#true} {16052#(= ~ldv_usb_gadget_class~0 0)} #3317#return; {16052#(= ~ldv_usb_gadget_class~0 0)} is VALID [2022-02-20 21:37:57,781 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-02-20 21:37:57,785 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:37:57,791 INFO L290 TraceCheckUtils]: 0: Hoare triple {16059#(and (= |old(#length)| |#length|) (= |old(#valid)| |#valid|))} ~size#1 := #in~size#1;assume -2147483648 <= #t~nondet89#1 && #t~nondet89#1 <= 2147483647; {16050#true} is VALID [2022-02-20 21:37:57,792 INFO L290 TraceCheckUtils]: 1: Hoare triple {16050#true} assume !(0 != #t~nondet89#1);havoc #t~nondet89#1;#res#1.base, #res#1.offset := 0, 0; {16050#true} is VALID [2022-02-20 21:37:57,793 INFO L290 TraceCheckUtils]: 2: Hoare triple {16050#true} assume true; {16050#true} is VALID [2022-02-20 21:37:57,793 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {16050#true} {16052#(= ~ldv_usb_gadget_class~0 0)} #3319#return; {16052#(= ~ldv_usb_gadget_class~0 0)} is VALID [2022-02-20 21:37:57,794 INFO L290 TraceCheckUtils]: 0: Hoare triple {16050#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(56, 2);call #Ultimate.allocInit(28, 3);call #Ultimate.allocInit(166, 4);call #Ultimate.allocInit(27, 5);call #Ultimate.allocInit(13, 6);call #Ultimate.allocInit(24, 7);call #Ultimate.allocInit(14, 8);call #Ultimate.allocInit(33, 9);call #Ultimate.allocInit(15, 10);call #Ultimate.allocInit(20, 11);call #Ultimate.allocInit(15, 12);call #Ultimate.allocInit(21, 13);call #Ultimate.allocInit(15, 14);call #Ultimate.allocInit(33, 15);call #Ultimate.allocInit(15, 16);call #Ultimate.allocInit(22, 17);call #Ultimate.allocInit(15, 18);call #Ultimate.allocInit(25, 19);call #Ultimate.allocInit(15, 20);call #Ultimate.allocInit(45, 21);call #Ultimate.allocInit(15, 22);call #Ultimate.allocInit(39, 23);call #Ultimate.allocInit(15, 24);call #Ultimate.allocInit(46, 25);call #Ultimate.allocInit(15, 26);call #Ultimate.allocInit(36, 27);call #Ultimate.allocInit(15, 28);call #Ultimate.allocInit(44, 29);call #Ultimate.allocInit(15, 30);call #Ultimate.allocInit(57, 31);call #Ultimate.allocInit(15, 32);call #Ultimate.allocInit(25, 33);call #Ultimate.allocInit(15, 34);call #Ultimate.allocInit(25, 35);call #Ultimate.allocInit(15, 36);call #Ultimate.allocInit(11, 37);call #Ultimate.allocInit(15, 38);call #Ultimate.allocInit(24, 39);call #Ultimate.allocInit(5, 40);call write~init~int(102, 40, 0, 1);call write~init~int(117, 40, 1, 1);call write~init~int(108, 40, 2, 1);call write~init~int(108, 40, 3, 1);call write~init~int(0, 40, 4, 1);call #Ultimate.allocInit(5, 41);call write~init~int(104, 41, 0, 1);call write~init~int(105, 41, 1, 1);call write~init~int(103, 41, 2, 1);call write~init~int(104, 41, 3, 1);call write~init~int(0, 41, 4, 1);call #Ultimate.allocInit(2, 42);call write~init~int(63, 42, 0, 1);call write~init~int(0, 42, 1, 1);call #Ultimate.allocInit(39, 43);call #Ultimate.allocInit(15, 44);call #Ultimate.allocInit(27, 45);call #Ultimate.allocInit(15, 46);call #Ultimate.allocInit(37, 47);call #Ultimate.allocInit(15, 48);call #Ultimate.allocInit(39, 49);call #Ultimate.allocInit(15, 50);call #Ultimate.allocInit(36, 51);call #Ultimate.allocInit(15, 52);call #Ultimate.allocInit(37, 53);call #Ultimate.allocInit(15, 54);call #Ultimate.allocInit(35, 55);call #Ultimate.allocInit(15, 56);call #Ultimate.allocInit(36, 57);call #Ultimate.allocInit(15, 58);call #Ultimate.allocInit(42, 59);call #Ultimate.allocInit(15, 60);call #Ultimate.allocInit(22, 61);call #Ultimate.allocInit(15, 62);call #Ultimate.allocInit(40, 63);call #Ultimate.allocInit(15, 64);call #Ultimate.allocInit(31, 65);call #Ultimate.allocInit(15, 66);call #Ultimate.allocInit(24, 67);call #Ultimate.allocInit(15, 68);call #Ultimate.allocInit(11, 69);call #Ultimate.allocInit(15, 70);call #Ultimate.allocInit(19, 71);call #Ultimate.allocInit(11, 72);call #Ultimate.allocInit(15, 73);call #Ultimate.allocInit(15, 74);call #Ultimate.allocInit(282, 75);call #Ultimate.allocInit(282, 76);call #Ultimate.allocInit(10, 77);call #Ultimate.allocInit(43, 78);call #Ultimate.allocInit(15, 79);call #Ultimate.allocInit(35, 80);call #Ultimate.allocInit(15, 81);call #Ultimate.allocInit(32, 82);call #Ultimate.allocInit(14, 83);call #Ultimate.allocInit(27, 84);call #Ultimate.allocInit(27, 85);call #Ultimate.allocInit(21, 86);call #Ultimate.allocInit(22, 87);call #Ultimate.allocInit(33, 88);call #Ultimate.allocInit(15, 89);call #Ultimate.allocInit(31, 90);call #Ultimate.allocInit(15, 91);call #Ultimate.allocInit(45, 92);call #Ultimate.allocInit(15, 93);call #Ultimate.allocInit(19, 94);call #Ultimate.allocInit(31, 95);call #Ultimate.allocInit(15, 96);call #Ultimate.allocInit(38, 97);call #Ultimate.allocInit(15, 98);call #Ultimate.allocInit(40, 99);call #Ultimate.allocInit(15, 100);~epnum~0 := 0;~#printer_mutex~0.base, ~#printer_mutex~0.offset := 101, 0;call #Ultimate.allocInit(136, 101);call write~init~int(1, ~#printer_mutex~0.base, ~#printer_mutex~0.offset, 4);call write~init~int(0, ~#printer_mutex~0.base, 4 + ~#printer_mutex~0.offset, 4);call write~init~int(3735899821, ~#printer_mutex~0.base, 8 + ~#printer_mutex~0.offset, 4);call write~init~int(4294967295, ~#printer_mutex~0.base, 12 + ~#printer_mutex~0.offset, 4);call write~init~$Pointer$(0, -1, ~#printer_mutex~0.base, 16 + ~#printer_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_mutex~0.base, 24 + ~#printer_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_mutex~0.base, 32 + ~#printer_mutex~0.offset, 8);call write~init~$Pointer$(7, 0, ~#printer_mutex~0.base, 40 + ~#printer_mutex~0.offset, 8);call write~init~int(0, ~#printer_mutex~0.base, 48 + ~#printer_mutex~0.offset, 4);call write~init~int(0, ~#printer_mutex~0.base, 52 + ~#printer_mutex~0.offset, 8);call write~init~$Pointer$(~#printer_mutex~0.base, 60 + ~#printer_mutex~0.offset, ~#printer_mutex~0.base, 60 + ~#printer_mutex~0.offset, 8);call write~init~$Pointer$(~#printer_mutex~0.base, 60 + ~#printer_mutex~0.offset, ~#printer_mutex~0.base, 68 + ~#printer_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_mutex~0.base, 76 + ~#printer_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_mutex~0.base, 84 + ~#printer_mutex~0.offset, 8);call write~init~$Pointer$(~#printer_mutex~0.base, ~#printer_mutex~0.offset, ~#printer_mutex~0.base, 92 + ~#printer_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_mutex~0.base, 100 + ~#printer_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_mutex~0.base, 108 + ~#printer_mutex~0.offset, 8);call write~init~$Pointer$(8, 0, ~#printer_mutex~0.base, 116 + ~#printer_mutex~0.offset, 8);call write~init~int(0, ~#printer_mutex~0.base, 124 + ~#printer_mutex~0.offset, 4);call write~init~int(0, ~#printer_mutex~0.base, 128 + ~#printer_mutex~0.offset, 8);~#shortname~0.base, ~#shortname~0.offset := 102, 0;call #Ultimate.allocInit(8, 102);call write~init~int(112, ~#shortname~0.base, ~#shortname~0.offset, 1);call write~init~int(114, ~#shortname~0.base, 1 + ~#shortname~0.offset, 1);call write~init~int(105, ~#shortname~0.base, 2 + ~#shortname~0.offset, 1);call write~init~int(110, ~#shortname~0.base, 3 + ~#shortname~0.offset, 1);call write~init~int(116, ~#shortname~0.base, 4 + ~#shortname~0.offset, 1);call write~init~int(101, ~#shortname~0.base, 5 + ~#shortname~0.offset, 1);call write~init~int(114, ~#shortname~0.base, 6 + ~#shortname~0.offset, 1);call write~init~int(0, ~#shortname~0.base, 7 + ~#shortname~0.offset, 1);~#driver_desc~0.base, ~#driver_desc~0.offset := 103, 0;call #Ultimate.allocInit(15, 103);call write~init~int(80, ~#driver_desc~0.base, ~#driver_desc~0.offset, 1);call write~init~int(114, ~#driver_desc~0.base, 1 + ~#driver_desc~0.offset, 1);call write~init~int(105, ~#driver_desc~0.base, 2 + ~#driver_desc~0.offset, 1);call write~init~int(110, ~#driver_desc~0.base, 3 + ~#driver_desc~0.offset, 1);call write~init~int(116, ~#driver_desc~0.base, 4 + ~#driver_desc~0.offset, 1);call write~init~int(101, ~#driver_desc~0.base, 5 + ~#driver_desc~0.offset, 1);call write~init~int(114, ~#driver_desc~0.base, 6 + ~#driver_desc~0.offset, 1);call write~init~int(32, ~#driver_desc~0.base, 7 + ~#driver_desc~0.offset, 1);call write~init~int(71, ~#driver_desc~0.base, 8 + ~#driver_desc~0.offset, 1);call write~init~int(97, ~#driver_desc~0.base, 9 + ~#driver_desc~0.offset, 1);call write~init~int(100, ~#driver_desc~0.base, 10 + ~#driver_desc~0.offset, 1);call write~init~int(103, ~#driver_desc~0.base, 11 + ~#driver_desc~0.offset, 1);call write~init~int(101, ~#driver_desc~0.base, 12 + ~#driver_desc~0.offset, 1);call write~init~int(116, ~#driver_desc~0.base, 13 + ~#driver_desc~0.offset, 1);call write~init~int(0, ~#driver_desc~0.base, 14 + ~#driver_desc~0.offset, 1);~#g_printer_devno~0.base, ~#g_printer_devno~0.offset := 104, 0;call #Ultimate.allocInit(4, 104);call write~init~int(0, ~#g_printer_devno~0.base, ~#g_printer_devno~0.offset, 4);~usb_gadget_class~0.base, ~usb_gadget_class~0.offset := 0, 0;~#usb_printer_gadget~0.base, ~#usb_printer_gadget~0.offset := 105, 0;call #Ultimate.allocInit(750, 105);#memory_$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);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#usb_printer_gadget~0.base);~idVendor~0 := 0;~idProduct~0 := 0;~bcdDevice~0 := 0;~iManufacturer~0.base, ~iManufacturer~0.offset := 0, 0;~iProduct~0.base, ~iProduct~0.offset := 0, 0;~iSerialNum~0.base, ~iSerialNum~0.offset := 0, 0;~iPNPstring~0.base, ~iPNPstring~0.offset := 0, 0;~qlen~0 := 10;~#device_desc~0.base, ~#device_desc~0.offset := 106, 0;call #Ultimate.allocInit(18, 106);call write~init~int(18, ~#device_desc~0.base, ~#device_desc~0.offset, 1);call write~init~int(1, ~#device_desc~0.base, 1 + ~#device_desc~0.offset, 1);call write~init~int(512, ~#device_desc~0.base, 2 + ~#device_desc~0.offset, 2);call write~init~int(0, ~#device_desc~0.base, 4 + ~#device_desc~0.offset, 1);call write~init~int(0, ~#device_desc~0.base, 5 + ~#device_desc~0.offset, 1);call write~init~int(0, ~#device_desc~0.base, 6 + ~#device_desc~0.offset, 1);call write~init~int(0, ~#device_desc~0.base, 7 + ~#device_desc~0.offset, 1);call write~init~int(1317, ~#device_desc~0.base, 8 + ~#device_desc~0.offset, 2);call write~init~int(42152, ~#device_desc~0.base, 10 + ~#device_desc~0.offset, 2);call write~init~int(0, ~#device_desc~0.base, 12 + ~#device_desc~0.offset, 2);call write~init~int(1, ~#device_desc~0.base, 14 + ~#device_desc~0.offset, 1);call write~init~int(2, ~#device_desc~0.base, 15 + ~#device_desc~0.offset, 1);call write~init~int(3, ~#device_desc~0.base, 16 + ~#device_desc~0.offset, 1);call write~init~int(1, ~#device_desc~0.base, 17 + ~#device_desc~0.offset, 1);~#otg_desc~0.base, ~#otg_desc~0.offset := 107, 0;call #Ultimate.allocInit(3, 107);call write~init~int(3, ~#otg_desc~0.base, ~#otg_desc~0.offset, 1);call write~init~int(9, ~#otg_desc~0.base, 1 + ~#otg_desc~0.offset, 1);call write~init~int(1, ~#otg_desc~0.base, 2 + ~#otg_desc~0.offset, 1);~#config_desc~0.base, ~#config_desc~0.offset := 108, 0;call #Ultimate.allocInit(9, 108);call write~init~int(9, ~#config_desc~0.base, ~#config_desc~0.offset, 1);call write~init~int(2, ~#config_desc~0.base, 1 + ~#config_desc~0.offset, 1);call write~init~int(0, ~#config_desc~0.base, 2 + ~#config_desc~0.offset, 2);call write~init~int(1, ~#config_desc~0.base, 4 + ~#config_desc~0.offset, 1);call write~init~int(1, ~#config_desc~0.base, 5 + ~#config_desc~0.offset, 1);call write~init~int(0, ~#config_desc~0.base, 6 + ~#config_desc~0.offset, 1);call write~init~int(192, ~#config_desc~0.base, 7 + ~#config_desc~0.offset, 1);call write~init~int(1, ~#config_desc~0.base, 8 + ~#config_desc~0.offset, 1);~#intf_desc~0.base, ~#intf_desc~0.offset := 109, 0;call #Ultimate.allocInit(9, 109);call write~init~int(9, ~#intf_desc~0.base, ~#intf_desc~0.offset, 1);call write~init~int(4, ~#intf_desc~0.base, 1 + ~#intf_desc~0.offset, 1);call write~init~int(0, ~#intf_desc~0.base, 2 + ~#intf_desc~0.offset, 1);call write~init~int(0, ~#intf_desc~0.base, 3 + ~#intf_desc~0.offset, 1);call write~init~int(2, ~#intf_desc~0.base, 4 + ~#intf_desc~0.offset, 1);call write~init~int(7, ~#intf_desc~0.base, 5 + ~#intf_desc~0.offset, 1);call write~init~int(1, ~#intf_desc~0.base, 6 + ~#intf_desc~0.offset, 1);call write~init~int(2, ~#intf_desc~0.base, 7 + ~#intf_desc~0.offset, 1);call write~init~int(0, ~#intf_desc~0.base, 8 + ~#intf_desc~0.offset, 1);~#fs_ep_in_desc~0.base, ~#fs_ep_in_desc~0.offset := 110, 0;call #Ultimate.allocInit(9, 110);call write~init~int(7, ~#fs_ep_in_desc~0.base, ~#fs_ep_in_desc~0.offset, 1);call write~init~int(5, ~#fs_ep_in_desc~0.base, 1 + ~#fs_ep_in_desc~0.offset, 1);call write~init~int(128, ~#fs_ep_in_desc~0.base, 2 + ~#fs_ep_in_desc~0.offset, 1);call write~init~int(2, ~#fs_ep_in_desc~0.base, 3 + ~#fs_ep_in_desc~0.offset, 1);call write~init~int(0, ~#fs_ep_in_desc~0.base, 4 + ~#fs_ep_in_desc~0.offset, 2);call write~init~int(0, ~#fs_ep_in_desc~0.base, 6 + ~#fs_ep_in_desc~0.offset, 1);call write~init~int(0, ~#fs_ep_in_desc~0.base, 7 + ~#fs_ep_in_desc~0.offset, 1);call write~init~int(0, ~#fs_ep_in_desc~0.base, 8 + ~#fs_ep_in_desc~0.offset, 1);~#fs_ep_out_desc~0.base, ~#fs_ep_out_desc~0.offset := 111, 0;call #Ultimate.allocInit(9, 111);call write~init~int(7, ~#fs_ep_out_desc~0.base, ~#fs_ep_out_desc~0.offset, 1);call write~init~int(5, ~#fs_ep_out_desc~0.base, 1 + ~#fs_ep_out_desc~0.offset, 1);call write~init~int(0, ~#fs_ep_out_desc~0.base, 2 + ~#fs_ep_out_desc~0.offset, 1);call write~init~int(2, ~#fs_ep_out_desc~0.base, 3 + ~#fs_ep_out_desc~0.offset, 1);call write~init~int(0, ~#fs_ep_out_desc~0.base, 4 + ~#fs_ep_out_desc~0.offset, 2);call write~init~int(0, ~#fs_ep_out_desc~0.base, 6 + ~#fs_ep_out_desc~0.offset, 1);call write~init~int(0, ~#fs_ep_out_desc~0.base, 7 + ~#fs_ep_out_desc~0.offset, 1);call write~init~int(0, ~#fs_ep_out_desc~0.base, 8 + ~#fs_ep_out_desc~0.offset, 1);~#fs_printer_function~0.base, ~#fs_printer_function~0.offset := 112, 0;call #Ultimate.allocInit(88, 112);#memory_$Pointer$.base, #memory_$Pointer$.offset := ~initToZeroAtPointerBaseAddress~$Pointer$.base(#memory_$Pointer$.base, #memory_$Pointer$.offset, ~#fs_printer_function~0.base), ~initToZeroAtPointerBaseAddress~$Pointer$.offset(#memory_$Pointer$.base, #memory_$Pointer$.offset, ~#fs_printer_function~0.base);call write~unchecked~$Pointer$(~#otg_desc~0.base, ~#otg_desc~0.offset, ~#fs_printer_function~0.base, ~#fs_printer_function~0.offset, 8);call write~unchecked~$Pointer$(~#intf_desc~0.base, ~#intf_desc~0.offset, ~#fs_printer_function~0.base, 8 + ~#fs_printer_function~0.offset, 8);call write~unchecked~$Pointer$(~#fs_ep_in_desc~0.base, ~#fs_ep_in_desc~0.offset, ~#fs_printer_function~0.base, 16 + ~#fs_printer_function~0.offset, 8);call write~unchecked~$Pointer$(~#fs_ep_out_desc~0.base, ~#fs_ep_out_desc~0.offset, ~#fs_printer_function~0.base, 24 + ~#fs_printer_function~0.offset, 8);call write~unchecked~$Pointer$(0, 0, ~#fs_printer_function~0.base, 32 + ~#fs_printer_function~0.offset, 8);~#hs_ep_in_desc~0.base, ~#hs_ep_in_desc~0.offset := 113, 0;call #Ultimate.allocInit(9, 113);call write~init~int(7, ~#hs_ep_in_desc~0.base, ~#hs_ep_in_desc~0.offset, 1);call write~init~int(5, ~#hs_ep_in_desc~0.base, 1 + ~#hs_ep_in_desc~0.offset, 1);call write~init~int(0, ~#hs_ep_in_desc~0.base, 2 + ~#hs_ep_in_desc~0.offset, 1);call write~init~int(2, ~#hs_ep_in_desc~0.base, 3 + ~#hs_ep_in_desc~0.offset, 1);call write~init~int(512, ~#hs_ep_in_desc~0.base, 4 + ~#hs_ep_in_desc~0.offset, 2);call write~init~int(0, ~#hs_ep_in_desc~0.base, 6 + ~#hs_ep_in_desc~0.offset, 1);call write~init~int(0, ~#hs_ep_in_desc~0.base, 7 + ~#hs_ep_in_desc~0.offset, 1);call write~init~int(0, ~#hs_ep_in_desc~0.base, 8 + ~#hs_ep_in_desc~0.offset, 1);~#hs_ep_out_desc~0.base, ~#hs_ep_out_desc~0.offset := 114, 0;call #Ultimate.allocInit(9, 114);call write~init~int(7, ~#hs_ep_out_desc~0.base, ~#hs_ep_out_desc~0.offset, 1);call write~init~int(5, ~#hs_ep_out_desc~0.base, 1 + ~#hs_ep_out_desc~0.offset, 1);call write~init~int(0, ~#hs_ep_out_desc~0.base, 2 + ~#hs_ep_out_desc~0.offset, 1);call write~init~int(2, ~#hs_ep_out_desc~0.base, 3 + ~#hs_ep_out_desc~0.offset, 1);call write~init~int(512, ~#hs_ep_out_desc~0.base, 4 + ~#hs_ep_out_desc~0.offset, 2);call write~init~int(0, ~#hs_ep_out_desc~0.base, 6 + ~#hs_ep_out_desc~0.offset, 1);call write~init~int(0, ~#hs_ep_out_desc~0.base, 7 + ~#hs_ep_out_desc~0.offset, 1);call write~init~int(0, ~#hs_ep_out_desc~0.base, 8 + ~#hs_ep_out_desc~0.offset, 1);~#dev_qualifier~0.base, ~#dev_qualifier~0.offset := 115, 0;call #Ultimate.allocInit(10, 115);call write~init~int(10, ~#dev_qualifier~0.base, ~#dev_qualifier~0.offset, 1);call write~init~int(6, ~#dev_qualifier~0.base, 1 + ~#dev_qualifier~0.offset, 1);call write~init~int(512, ~#dev_qualifier~0.base, 2 + ~#dev_qualifier~0.offset, 2);call write~init~int(7, ~#dev_qualifier~0.base, 4 + ~#dev_qualifier~0.offset, 1);call write~init~int(0, ~#dev_qualifier~0.base, 5 + ~#dev_qualifier~0.offset, 1);call write~init~int(0, ~#dev_qualifier~0.base, 6 + ~#dev_qualifier~0.offset, 1);call write~init~int(0, ~#dev_qualifier~0.base, 7 + ~#dev_qualifier~0.offset, 1);call write~init~int(1, ~#dev_qualifier~0.base, 8 + ~#dev_qualifier~0.offset, 1);call write~init~int(0, ~#dev_qualifier~0.base, 9 + ~#dev_qualifier~0.offset, 1);~#hs_printer_function~0.base, ~#hs_printer_function~0.offset := 116, 0;call #Ultimate.allocInit(88, 116);#memory_$Pointer$.base, #memory_$Pointer$.offset := ~initToZeroAtPointerBaseAddress~$Pointer$.base(#memory_$Pointer$.base, #memory_$Pointer$.offset, ~#hs_printer_function~0.base), ~initToZeroAtPointerBaseAddress~$Pointer$.offset(#memory_$Pointer$.base, #memory_$Pointer$.offset, ~#hs_printer_function~0.base);call write~unchecked~$Pointer$(~#otg_desc~0.base, ~#otg_desc~0.offset, ~#hs_printer_function~0.base, ~#hs_printer_function~0.offset, 8);call write~unchecked~$Pointer$(~#intf_desc~0.base, ~#intf_desc~0.offset, ~#hs_printer_function~0.base, 8 + ~#hs_printer_function~0.offset, 8);call write~unchecked~$Pointer$(~#hs_ep_in_desc~0.base, ~#hs_ep_in_desc~0.offset, ~#hs_printer_function~0.base, 16 + ~#hs_printer_function~0.offset, 8);call write~unchecked~$Pointer$(~#hs_ep_out_desc~0.base, ~#hs_ep_out_desc~0.offset, ~#hs_printer_function~0.base, 24 + ~#hs_printer_function~0.offset, 8);call write~unchecked~$Pointer$(0, 0, ~#hs_printer_function~0.base, 32 + ~#hs_printer_function~0.offset, 8);~#manufacturer~0.base, ~#manufacturer~0.offset := 117, 0;call #Ultimate.allocInit(50, 117);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#manufacturer~0.base);~#product_desc~0.base, ~#product_desc~0.offset := 118, 0;call #Ultimate.allocInit(40, 118);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#product_desc~0.base);call write~unchecked~int(80, ~#product_desc~0.base, ~#product_desc~0.offset, 1);call write~unchecked~int(114, ~#product_desc~0.base, 1 + ~#product_desc~0.offset, 1);call write~unchecked~int(105, ~#product_desc~0.base, 2 + ~#product_desc~0.offset, 1);call write~unchecked~int(110, ~#product_desc~0.base, 3 + ~#product_desc~0.offset, 1);call write~unchecked~int(116, ~#product_desc~0.base, 4 + ~#product_desc~0.offset, 1);call write~unchecked~int(101, ~#product_desc~0.base, 5 + ~#product_desc~0.offset, 1);call write~unchecked~int(114, ~#product_desc~0.base, 6 + ~#product_desc~0.offset, 1);call write~unchecked~int(32, ~#product_desc~0.base, 7 + ~#product_desc~0.offset, 1);call write~unchecked~int(71, ~#product_desc~0.base, 8 + ~#product_desc~0.offset, 1);call write~unchecked~int(97, ~#product_desc~0.base, 9 + ~#product_desc~0.offset, 1);call write~unchecked~int(100, ~#product_desc~0.base, 10 + ~#product_desc~0.offset, 1);call write~unchecked~int(103, ~#product_desc~0.base, 11 + ~#product_desc~0.offset, 1);call write~unchecked~int(101, ~#product_desc~0.base, 12 + ~#product_desc~0.offset, 1);call write~unchecked~int(116, ~#product_desc~0.base, 13 + ~#product_desc~0.offset, 1);call write~unchecked~int(0, ~#product_desc~0.base, 14 + ~#product_desc~0.offset, 1);~#serial_num~0.base, ~#serial_num~0.offset := 119, 0;call #Ultimate.allocInit(40, 119);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#serial_num~0.base);call write~unchecked~int(49, ~#serial_num~0.base, ~#serial_num~0.offset, 1);call write~unchecked~int(0, ~#serial_num~0.base, 1 + ~#serial_num~0.offset, 1);~#pnp_string~0.base, ~#pnp_string~0.offset := 120, 0;call #Ultimate.allocInit(1024, 120);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#pnp_string~0.base);call write~unchecked~int(88, ~#pnp_string~0.base, ~#pnp_string~0.offset, 1);call write~unchecked~int(88, ~#pnp_string~0.base, 1 + ~#pnp_string~0.offset, 1);call write~unchecked~int(77, ~#pnp_string~0.base, 2 + ~#pnp_string~0.offset, 1);call write~unchecked~int(70, ~#pnp_string~0.base, 3 + ~#pnp_string~0.offset, 1);call write~unchecked~int(71, ~#pnp_string~0.base, 4 + ~#pnp_string~0.offset, 1);call write~unchecked~int(58, ~#pnp_string~0.base, 5 + ~#pnp_string~0.offset, 1);call write~unchecked~int(108, ~#pnp_string~0.base, 6 + ~#pnp_string~0.offset, 1);call write~unchecked~int(105, ~#pnp_string~0.base, 7 + ~#pnp_string~0.offset, 1);call write~unchecked~int(110, ~#pnp_string~0.base, 8 + ~#pnp_string~0.offset, 1);call write~unchecked~int(117, ~#pnp_string~0.base, 9 + ~#pnp_string~0.offset, 1);call write~unchecked~int(120, ~#pnp_string~0.base, 10 + ~#pnp_string~0.offset, 1);call write~unchecked~int(59, ~#pnp_string~0.base, 11 + ~#pnp_string~0.offset, 1);call write~unchecked~int(77, ~#pnp_string~0.base, 12 + ~#pnp_string~0.offset, 1);call write~unchecked~int(68, ~#pnp_string~0.base, 13 + ~#pnp_string~0.offset, 1);call write~unchecked~int(76, ~#pnp_string~0.base, 14 + ~#pnp_string~0.offset, 1);call write~unchecked~int(58, ~#pnp_string~0.base, 15 + ~#pnp_string~0.offset, 1);call write~unchecked~int(103, ~#pnp_string~0.base, 16 + ~#pnp_string~0.offset, 1);call write~unchecked~int(95, ~#pnp_string~0.base, 17 + ~#pnp_string~0.offset, 1);call write~unchecked~int(112, ~#pnp_string~0.base, 18 + ~#pnp_string~0.offset, 1);call write~unchecked~int(114, ~#pnp_string~0.base, 19 + ~#pnp_string~0.offset, 1);call write~unchecked~int(105, ~#pnp_string~0.base, 20 + ~#pnp_string~0.offset, 1);call write~unchecked~int(110, ~#pnp_string~0.base, 21 + ~#pnp_string~0.offset, 1);call write~unchecked~int(116, ~#pnp_string~0.base, 22 + ~#pnp_string~0.offset, 1);call write~unchecked~int(101, ~#pnp_string~0.base, 23 + ~#pnp_string~0.offset, 1);call write~unchecked~int(114, ~#pnp_string~0.base, 24 + ~#pnp_string~0.offset, 1);call write~unchecked~int(59, ~#pnp_string~0.base, 25 + ~#pnp_string~0.offset, 1);call write~unchecked~int(67, ~#pnp_string~0.base, 26 + ~#pnp_string~0.offset, 1);call write~unchecked~int(76, ~#pnp_string~0.base, 27 + ~#pnp_string~0.offset, 1);call write~unchecked~int(83, ~#pnp_string~0.base, 28 + ~#pnp_string~0.offset, 1);call write~unchecked~int(58, ~#pnp_string~0.base, 29 + ~#pnp_string~0.offset, 1);call write~unchecked~int(80, ~#pnp_string~0.base, 30 + ~#pnp_string~0.offset, 1);call write~unchecked~int(82, ~#pnp_string~0.base, 31 + ~#pnp_string~0.offset, 1);call write~unchecked~int(73, ~#pnp_string~0.base, 32 + ~#pnp_string~0.offset, 1);call write~unchecked~int(78, ~#pnp_string~0.base, 33 + ~#pnp_string~0.offset, 1);call write~unchecked~int(84, ~#pnp_string~0.base, 34 + ~#pnp_string~0.offset, 1);call write~unchecked~int(69, ~#pnp_string~0.base, 35 + ~#pnp_string~0.offset, 1);call write~unchecked~int(82, ~#pnp_string~0.base, 36 + ~#pnp_string~0.offset, 1);call write~unchecked~int(59, ~#pnp_string~0.base, 37 + ~#pnp_string~0.offset, 1);call write~unchecked~int(83, ~#pnp_string~0.base, 38 + ~#pnp_string~0.offset, 1);call write~unchecked~int(78, ~#pnp_string~0.base, 39 + ~#pnp_string~0.offset, 1);call write~unchecked~int(58, ~#pnp_string~0.base, 40 + ~#pnp_string~0.offset, 1);call write~unchecked~int(49, ~#pnp_string~0.base, 41 + ~#pnp_string~0.offset, 1);call write~unchecked~int(59, ~#pnp_string~0.base, 42 + ~#pnp_string~0.offset, 1);call write~unchecked~int(0, ~#pnp_string~0.base, 43 + ~#pnp_string~0.offset, 1);~#strings~0.base, ~#strings~0.offset := 121, 0;call #Ultimate.allocInit(36, 121);call write~init~int(1, ~#strings~0.base, ~#strings~0.offset, 1);call write~init~$Pointer$(~#manufacturer~0.base, ~#manufacturer~0.offset, ~#strings~0.base, 1 + ~#strings~0.offset, 8);call write~init~int(2, ~#strings~0.base, 9 + ~#strings~0.offset, 1);call write~init~$Pointer$(~#product_desc~0.base, ~#product_desc~0.offset, ~#strings~0.base, 10 + ~#strings~0.offset, 8);call write~init~int(3, ~#strings~0.base, 18 + ~#strings~0.offset, 1);call write~init~$Pointer$(~#serial_num~0.base, ~#serial_num~0.offset, ~#strings~0.base, 19 + ~#strings~0.offset, 8);call write~init~int(0, ~#strings~0.base, 27 + ~#strings~0.offset, 1);call write~init~$Pointer$(0, 0, ~#strings~0.base, 28 + ~#strings~0.offset, 8);~#stringtab~0.base, ~#stringtab~0.offset := 122, 0;call #Ultimate.allocInit(10, 122);call write~init~int(1033, ~#stringtab~0.base, ~#stringtab~0.offset, 2);call write~init~$Pointer$(~#strings~0.base, ~#strings~0.offset, ~#stringtab~0.base, 2 + ~#stringtab~0.offset, 8);~#printer_io_operations~0.base, ~#printer_io_operations~0.offset := 123, 0;call #Ultimate.allocInit(200, 123);call write~init~$Pointer$(~#__this_module~0.base, ~#__this_module~0.offset, ~#printer_io_operations~0.base, ~#printer_io_operations~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_io_operations~0.base, 8 + ~#printer_io_operations~0.offset, 8);call write~init~$Pointer$(#funAddr~printer_read.base, #funAddr~printer_read.offset, ~#printer_io_operations~0.base, 16 + ~#printer_io_operations~0.offset, 8);call write~init~$Pointer$(#funAddr~printer_write.base, #funAddr~printer_write.offset, ~#printer_io_operations~0.base, 24 + ~#printer_io_operations~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_io_operations~0.base, 32 + ~#printer_io_operations~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_io_operations~0.base, 40 + ~#printer_io_operations~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_io_operations~0.base, 48 + ~#printer_io_operations~0.offset, 8);call write~init~$Pointer$(#funAddr~printer_poll.base, #funAddr~printer_poll.offset, ~#printer_io_operations~0.base, 56 + ~#printer_io_operations~0.offset, 8);call write~init~$Pointer$(#funAddr~printer_ioctl.base, #funAddr~printer_ioctl.offset, ~#printer_io_operations~0.base, 64 + ~#printer_io_operations~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_io_operations~0.base, 72 + ~#printer_io_operations~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_io_operations~0.base, 80 + ~#printer_io_operations~0.offset, 8);call write~init~$Pointer$(#funAddr~printer_open.base, #funAddr~printer_open.offset, ~#printer_io_operations~0.base, 88 + ~#printer_io_operations~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_io_operations~0.base, 96 + ~#printer_io_operations~0.offset, 8);call write~init~$Pointer$(#funAddr~printer_close.base, #funAddr~printer_close.offset, ~#printer_io_operations~0.base, 104 + ~#printer_io_operations~0.offset, 8);call write~init~$Pointer$(#funAddr~printer_fsync.base, #funAddr~printer_fsync.offset, ~#printer_io_operations~0.base, 112 + ~#printer_io_operations~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_io_operations~0.base, 120 + ~#printer_io_operations~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_io_operations~0.base, 128 + ~#printer_io_operations~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_io_operations~0.base, 136 + ~#printer_io_operations~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_io_operations~0.base, 144 + ~#printer_io_operations~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_io_operations~0.base, 152 + ~#printer_io_operations~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_io_operations~0.base, 160 + ~#printer_io_operations~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_io_operations~0.base, 168 + ~#printer_io_operations~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_io_operations~0.base, 176 + ~#printer_io_operations~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_io_operations~0.base, 184 + ~#printer_io_operations~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_io_operations~0.base, 192 + ~#printer_io_operations~0.offset, 8);~#printer_driver~0.base, ~#printer_driver~0.offset := 124, 0;call #Ultimate.allocInit(157, 124);call write~init~$Pointer$(~#driver_desc~0.base, ~#driver_desc~0.offset, ~#printer_driver~0.base, ~#printer_driver~0.offset, 8);call write~init~int(3, ~#printer_driver~0.base, 8 + ~#printer_driver~0.offset, 4);call write~init~$Pointer$(#funAddr~printer_bind.base, #funAddr~printer_bind.offset, ~#printer_driver~0.base, 12 + ~#printer_driver~0.offset, 8);call write~init~$Pointer$(#funAddr~printer_unbind.base, #funAddr~printer_unbind.offset, ~#printer_driver~0.base, 20 + ~#printer_driver~0.offset, 8);call write~init~$Pointer$(#funAddr~printer_setup.base, #funAddr~printer_setup.offset, ~#printer_driver~0.base, 28 + ~#printer_driver~0.offset, 8);call write~init~$Pointer$(#funAddr~printer_disconnect.base, #funAddr~printer_disconnect.offset, ~#printer_driver~0.base, 36 + ~#printer_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_driver~0.base, 44 + ~#printer_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_driver~0.base, 52 + ~#printer_driver~0.offset, 8);call write~init~$Pointer$(~#shortname~0.base, ~#shortname~0.offset, ~#printer_driver~0.base, 60 + ~#printer_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_driver~0.base, 68 + ~#printer_driver~0.offset, 8);call write~init~$Pointer$(~#__this_module~0.base, ~#__this_module~0.offset, ~#printer_driver~0.base, 76 + ~#printer_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_driver~0.base, 84 + ~#printer_driver~0.offset, 8);call write~init~int(0, ~#printer_driver~0.base, 92 + ~#printer_driver~0.offset, 1);call write~init~$Pointer$(0, 0, ~#printer_driver~0.base, 93 + ~#printer_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_driver~0.base, 101 + ~#printer_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_driver~0.base, 109 + ~#printer_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_driver~0.base, 117 + ~#printer_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_driver~0.base, 125 + ~#printer_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_driver~0.base, 133 + ~#printer_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_driver~0.base, 141 + ~#printer_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#printer_driver~0.base, 149 + ~#printer_driver~0.offset, 8);~LDV_IN_INTERRUPT~0 := 0;~ldv_usb_gadget_class~0 := 0;~ldv_usb_gadget_chrdev~0 := 0;~ldv_usb_gadget~0 := 0; {16052#(= ~ldv_usb_gadget_class~0 0)} is VALID [2022-02-20 21:37:57,795 INFO L290 TraceCheckUtils]: 1: Hoare triple {16052#(= ~ldv_usb_gadget_class~0 0)} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret691#1, main_#t~nondet692#1, main_#t~switch693#1, main_#t~ret694#1, main_#t~ret695#1, main_#t~ret696#1, main_#t~ret697#1, main_#t~ret698#1, main_#t~ret699#1, main_#t~ret700#1, main_#t~ret701#1, main_#t~ret702#1, main_#t~nondet703#1, main_~var_group1~0#1.base, main_~var_group1~0#1.offset, main_~var_group2~0#1.base, main_~var_group2~0#1.offset, main_~res_printer_open_4~0#1, main_~var_printer_read_7_p1~0#1.base, main_~var_printer_read_7_p1~0#1.offset, main_~var_printer_read_7_p2~0#1, main_~var_printer_read_7_p3~0#1.base, main_~var_printer_read_7_p3~0#1.offset, main_~res_printer_read_7~0#1, main_~var_printer_write_8_p1~0#1.base, main_~var_printer_write_8_p1~0#1.offset, main_~var_printer_write_8_p2~0#1, main_~var_printer_write_8_p3~0#1.base, main_~var_printer_write_8_p3~0#1.offset, main_~res_printer_write_8~0#1, main_~var_printer_fsync_9_p1~0#1, main_~var_printer_poll_10_p1~0#1.base, main_~var_printer_poll_10_p1~0#1.offset, main_~var_printer_ioctl_11_p1~0#1, main_~var_printer_ioctl_11_p2~0#1, main_~var_group3~0#1.base, main_~var_group3~0#1.offset, main_~var_printer_setup_19_p1~0#1.base, main_~var_printer_setup_19_p1~0#1.offset, main_~ldv_s_printer_io_operations_file_operations~0#1, main_~ldv_s_printer_driver_usb_gadget_driver~0#1, main_~tmp~37#1, main_~tmp___0~18#1, main_~tmp___1~13#1;havoc main_~var_group1~0#1.base, main_~var_group1~0#1.offset;havoc main_~var_group2~0#1.base, main_~var_group2~0#1.offset;havoc main_~res_printer_open_4~0#1;havoc main_~var_printer_read_7_p1~0#1.base, main_~var_printer_read_7_p1~0#1.offset;havoc main_~var_printer_read_7_p2~0#1;havoc main_~var_printer_read_7_p3~0#1.base, main_~var_printer_read_7_p3~0#1.offset;havoc main_~res_printer_read_7~0#1;havoc main_~var_printer_write_8_p1~0#1.base, main_~var_printer_write_8_p1~0#1.offset;havoc main_~var_printer_write_8_p2~0#1;havoc main_~var_printer_write_8_p3~0#1.base, main_~var_printer_write_8_p3~0#1.offset;havoc main_~res_printer_write_8~0#1;havoc main_~var_printer_fsync_9_p1~0#1;havoc main_~var_printer_poll_10_p1~0#1.base, main_~var_printer_poll_10_p1~0#1.offset;havoc main_~var_printer_ioctl_11_p1~0#1;havoc main_~var_printer_ioctl_11_p2~0#1;havoc main_~var_group3~0#1.base, main_~var_group3~0#1.offset;havoc main_~var_printer_setup_19_p1~0#1.base, main_~var_printer_setup_19_p1~0#1.offset;havoc main_~ldv_s_printer_io_operations_file_operations~0#1;havoc main_~ldv_s_printer_driver_usb_gadget_driver~0#1;havoc main_~tmp~37#1;havoc main_~tmp___0~18#1;havoc main_~tmp___1~13#1;main_~ldv_s_printer_io_operations_file_operations~0#1 := 0;main_~ldv_s_printer_driver_usb_gadget_driver~0#1 := 0;~LDV_IN_INTERRUPT~0 := 1;assume { :begin_inline_ldv_initialize } true; {16052#(= ~ldv_usb_gadget_class~0 0)} is VALID [2022-02-20 21:37:57,795 INFO L290 TraceCheckUtils]: 2: Hoare triple {16052#(= ~ldv_usb_gadget_class~0 0)} assume { :end_inline_ldv_initialize } true; {16052#(= ~ldv_usb_gadget_class~0 0)} is VALID [2022-02-20 21:37:57,795 INFO L272 TraceCheckUtils]: 3: Hoare triple {16052#(= ~ldv_usb_gadget_class~0 0)} call ldv_handler_precall(); {16050#true} is VALID [2022-02-20 21:37:57,795 INFO L290 TraceCheckUtils]: 4: Hoare triple {16050#true} assume true; {16050#true} is VALID [2022-02-20 21:37:57,796 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {16050#true} {16052#(= ~ldv_usb_gadget_class~0 0)} #3317#return; {16052#(= ~ldv_usb_gadget_class~0 0)} is VALID [2022-02-20 21:37:57,796 INFO L290 TraceCheckUtils]: 6: Hoare triple {16052#(= ~ldv_usb_gadget_class~0 0)} assume { :begin_inline_init } true;havoc init_#res#1;havoc init_#t~ret678#1.base, init_#t~ret678#1.offset, init_#t~ret679#1, init_#t~ret680#1, init_#t~nondet681#1, init_#t~ret682#1, init_#t~nondet683#1, init_#t~ret684#1, init_#t~mem685#1, init_#t~nondet686#1, init_~status~4#1, init_~tmp~36#1.base, init_~tmp~36#1.offset, init_~tmp___0~17#1, init_~tmp___1~12#1;havoc init_~status~4#1;havoc init_~tmp~36#1.base, init_~tmp~36#1.offset;havoc init_~tmp___0~17#1;havoc init_~tmp___1~12#1;assume { :begin_inline_ldv_create_class } true;havoc ldv_create_class_#res#1.base, ldv_create_class_#res#1.offset;havoc ldv_create_class_#t~ret713#1.base, ldv_create_class_#t~ret713#1.offset, ldv_create_class_~is_got~0#1.base, ldv_create_class_~is_got~0#1.offset;havoc ldv_create_class_~is_got~0#1.base, ldv_create_class_~is_got~0#1.offset; {16052#(= ~ldv_usb_gadget_class~0 0)} is VALID [2022-02-20 21:37:57,797 INFO L272 TraceCheckUtils]: 7: Hoare triple {16052#(= ~ldv_usb_gadget_class~0 0)} call ldv_create_class_#t~ret713#1.base, ldv_create_class_#t~ret713#1.offset := ldv_malloc(120); {16059#(and (= |old(#length)| |#length|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 21:37:57,797 INFO L290 TraceCheckUtils]: 8: Hoare triple {16059#(and (= |old(#length)| |#length|) (= |old(#valid)| |#valid|))} ~size#1 := #in~size#1;assume -2147483648 <= #t~nondet89#1 && #t~nondet89#1 <= 2147483647; {16050#true} is VALID [2022-02-20 21:37:57,797 INFO L290 TraceCheckUtils]: 9: Hoare triple {16050#true} assume !(0 != #t~nondet89#1);havoc #t~nondet89#1;#res#1.base, #res#1.offset := 0, 0; {16050#true} is VALID [2022-02-20 21:37:57,797 INFO L290 TraceCheckUtils]: 10: Hoare triple {16050#true} assume true; {16050#true} is VALID [2022-02-20 21:37:57,798 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {16050#true} {16052#(= ~ldv_usb_gadget_class~0 0)} #3319#return; {16052#(= ~ldv_usb_gadget_class~0 0)} is VALID [2022-02-20 21:37:57,798 INFO L290 TraceCheckUtils]: 12: Hoare triple {16052#(= ~ldv_usb_gadget_class~0 0)} ldv_create_class_~is_got~0#1.base, ldv_create_class_~is_got~0#1.offset := ldv_create_class_#t~ret713#1.base, ldv_create_class_#t~ret713#1.offset;havoc ldv_create_class_#t~ret713#1.base, ldv_create_class_#t~ret713#1.offset; {16052#(= ~ldv_usb_gadget_class~0 0)} is VALID [2022-02-20 21:37:57,798 INFO L290 TraceCheckUtils]: 13: Hoare triple {16052#(= ~ldv_usb_gadget_class~0 0)} assume (ldv_create_class_~is_got~0#1.base + ldv_create_class_~is_got~0#1.offset) % 18446744073709551616 <= 18446744073709547521; {16052#(= ~ldv_usb_gadget_class~0 0)} is VALID [2022-02-20 21:37:57,799 INFO L290 TraceCheckUtils]: 14: Hoare triple {16052#(= ~ldv_usb_gadget_class~0 0)} assume 0 == ~ldv_usb_gadget~0; {16052#(= ~ldv_usb_gadget_class~0 0)} is VALID [2022-02-20 21:37:57,799 INFO L290 TraceCheckUtils]: 15: Hoare triple {16052#(= ~ldv_usb_gadget_class~0 0)} assume !(0 == ~ldv_usb_gadget_class~0); {16051#false} is VALID [2022-02-20 21:37:57,799 INFO L272 TraceCheckUtils]: 16: Hoare triple {16051#false} call ldv_error(); {16051#false} is VALID [2022-02-20 21:37:57,799 INFO L290 TraceCheckUtils]: 17: Hoare triple {16051#false} assume !false; {16051#false} is VALID [2022-02-20 21:37:57,800 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 21:37:57,800 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 21:37:57,801 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [518579362] [2022-02-20 21:37:57,801 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [518579362] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 21:37:57,801 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 21:37:57,802 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-02-20 21:37:57,802 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [479529170] [2022-02-20 21:37:57,802 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 21:37:57,803 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 3.25) internal successors, (13), 3 states have internal predecessors, (13), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) Word has length 18 [2022-02-20 21:37:57,804 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 21:37:57,804 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 3.25) internal successors, (13), 3 states have internal predecessors, (13), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 21:37:57,858 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 18 edges. 18 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 21:37:57,859 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-02-20 21:37:57,860 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 21:37:57,860 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-02-20 21:37:57,860 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-02-20 21:37:57,861 INFO L87 Difference]: Start difference. First operand 2330 states and 3366 transitions. Second operand has 4 states, 4 states have (on average 3.25) internal successors, (13), 3 states have internal predecessors, (13), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 21:38:01,950 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 []