./Ultimate.py --spec ../../sv-benchmarks/c/Systems_DeviceDriversLinux64_ReachSafety.prp --file ../../sv-benchmarks/c/ldv-linux-4.2-rc1/linux-4.2-rc1.tar.xz-08_1a-drivers--media--usb--dvb-usb--dvb-usb-dw2102.ko-entry_point_false-unreach-call.cil.out.c --full-output --architecture 64bit -------------------------------------------------------------------------------- Checking for ERROR reachability Using default analysis Version 1dbac8bc Calling Ultimate with: java -Dosgi.configuration.area=/tmp/vcloud-vcloud-master/worker/working_dir_a4e66660-83d6-4a9f-a71f-be2cb493b977/bin-2019/utaipan/data/config -Xmx12G -Xms1G -jar /tmp/vcloud-vcloud-master/worker/working_dir_a4e66660-83d6-4a9f-a71f-be2cb493b977/bin-2019/utaipan/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata /tmp/vcloud-vcloud-master/worker/working_dir_a4e66660-83d6-4a9f-a71f-be2cb493b977/bin-2019/utaipan/data -tc /tmp/vcloud-vcloud-master/worker/working_dir_a4e66660-83d6-4a9f-a71f-be2cb493b977/bin-2019/utaipan/config/TaipanReach.xml -i ../../sv-benchmarks/c/ldv-linux-4.2-rc1/linux-4.2-rc1.tar.xz-08_1a-drivers--media--usb--dvb-usb--dvb-usb-dw2102.ko-entry_point_false-unreach-call.cil.out.c -s /tmp/vcloud-vcloud-master/worker/working_dir_a4e66660-83d6-4a9f-a71f-be2cb493b977/bin-2019/utaipan/config/svcomp-Reach-64bit-Taipan_Default-EXP.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /tmp/vcloud-vcloud-master/worker/working_dir_a4e66660-83d6-4a9f-a71f-be2cb493b977/bin-2019/utaipan --witnessprinter.witness.filename witness.graphml --witnessprinter.write.witness.besides.input.file false --witnessprinter.graph.data.specification CHECK( init(main()), LTL(G ! call(__VERIFIER_error())) ) --witnessprinter.graph.data.producer Taipan --witnessprinter.graph.data.architecture 64bit --witnessprinter.graph.data.programhash 376329abad475ff6ee2e0567154b80368a099ba6 ............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................ Execution finished normally Writing output log to file Ultimate.log Result: ERROR: TYPE ERROR --- Real Ultimate output --- This is Ultimate 0.1.23-1dbac8b [2018-11-10 07:47:30,330 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-10 07:47:30,331 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-10 07:47:30,337 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-10 07:47:30,337 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-10 07:47:30,338 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-10 07:47:30,339 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-10 07:47:30,340 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-10 07:47:30,341 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-10 07:47:30,342 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-10 07:47:30,342 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-10 07:47:30,342 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-10 07:47:30,343 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-10 07:47:30,344 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-10 07:47:30,344 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-10 07:47:30,345 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-10 07:47:30,346 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-10 07:47:30,347 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-10 07:47:30,348 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-10 07:47:30,349 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-10 07:47:30,349 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-10 07:47:30,350 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-10 07:47:30,351 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-10 07:47:30,351 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-10 07:47:30,352 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-10 07:47:30,352 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-10 07:47:30,353 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-10 07:47:30,353 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-10 07:47:30,353 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-10 07:47:30,354 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-10 07:47:30,354 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-10 07:47:30,355 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-10 07:47:30,355 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-10 07:47:30,355 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-10 07:47:30,356 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-10 07:47:30,356 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-10 07:47:30,357 INFO L98 SettingsManager]: Beginning loading settings from /tmp/vcloud-vcloud-master/worker/working_dir_a4e66660-83d6-4a9f-a71f-be2cb493b977/bin-2019/utaipan/config/svcomp-Reach-64bit-Taipan_Default-EXP.epf [2018-11-10 07:47:30,364 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-10 07:47:30,364 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-10 07:47:30,365 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-10 07:47:30,365 INFO L133 SettingsManager]: * User list type=DISABLED [2018-11-10 07:47:30,365 INFO L133 SettingsManager]: * calls to implemented procedures=false [2018-11-10 07:47:30,365 INFO L131 SettingsManager]: Preferences of Abstract Interpretation differ from their defaults: [2018-11-10 07:47:30,365 INFO L133 SettingsManager]: * Explicit value domain=true [2018-11-10 07:47:30,366 INFO L133 SettingsManager]: * Abstract domain for RCFG-of-the-future=PoormanAbstractDomain [2018-11-10 07:47:30,366 INFO L133 SettingsManager]: * Octagon Domain=false [2018-11-10 07:47:30,366 INFO L133 SettingsManager]: * Abstract domain=CompoundDomain [2018-11-10 07:47:30,366 INFO L133 SettingsManager]: * Log string format=TERM [2018-11-10 07:47:30,366 INFO L133 SettingsManager]: * Check feasibility of abstract posts with an SMT solver=true [2018-11-10 07:47:30,366 INFO L133 SettingsManager]: * Use the RCFG-of-the-future interface=true [2018-11-10 07:47:30,366 INFO L133 SettingsManager]: * Interval Domain=false [2018-11-10 07:47:30,367 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-10 07:47:30,367 INFO L133 SettingsManager]: * Overapproximate operations on floating types=true [2018-11-10 07:47:30,367 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-10 07:47:30,367 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-10 07:47:30,367 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-10 07:47:30,368 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-10 07:47:30,368 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-10 07:47:30,368 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-10 07:47:30,368 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-10 07:47:30,368 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-11-10 07:47:30,368 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-10 07:47:30,368 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2018-11-10 07:47:30,369 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-10 07:47:30,369 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-10 07:47:30,369 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-10 07:47:30,369 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-10 07:47:30,369 INFO L133 SettingsManager]: * Trace refinement strategy=TAIPAN [2018-11-10 07:47:30,369 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-10 07:47:30,369 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2018-11-10 07:47:30,369 INFO L133 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2018-11-10 07:47:30,370 INFO L133 SettingsManager]: * To the following directory=dump/ [2018-11-10 07:47:30,370 INFO L133 SettingsManager]: * Abstract interpretation Mode=USE_PREDICATES 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 -> /tmp/vcloud-vcloud-master/worker/working_dir_a4e66660-83d6-4a9f-a71f-be2cb493b977/bin-2019/utaipan 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(__VERIFIER_error())) ) Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data producer -> Taipan 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 -> 376329abad475ff6ee2e0567154b80368a099ba6 [2018-11-10 07:47:30,393 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-10 07:47:30,402 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-10 07:47:30,405 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-10 07:47:30,406 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-10 07:47:30,406 INFO L276 PluginConnector]: CDTParser initialized [2018-11-10 07:47:30,407 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /tmp/vcloud-vcloud-master/worker/working_dir_a4e66660-83d6-4a9f-a71f-be2cb493b977/bin-2019/utaipan/../../sv-benchmarks/c/ldv-linux-4.2-rc1/linux-4.2-rc1.tar.xz-08_1a-drivers--media--usb--dvb-usb--dvb-usb-dw2102.ko-entry_point_false-unreach-call.cil.out.c [2018-11-10 07:47:30,451 INFO L218 CDTParser]: Created temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_a4e66660-83d6-4a9f-a71f-be2cb493b977/bin-2019/utaipan/data/98da6655c/097da888457241f59e93408f46cff028/FLAGc7be129ce [2018-11-10 07:47:31,006 INFO L298 CDTParser]: Found 1 translation units. [2018-11-10 07:47:31,006 INFO L158 CDTParser]: Scanning /tmp/vcloud-vcloud-master/worker/working_dir_a4e66660-83d6-4a9f-a71f-be2cb493b977/sv-benchmarks/c/ldv-linux-4.2-rc1/linux-4.2-rc1.tar.xz-08_1a-drivers--media--usb--dvb-usb--dvb-usb-dw2102.ko-entry_point_false-unreach-call.cil.out.c [2018-11-10 07:47:31,032 INFO L346 CDTParser]: About to delete temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_a4e66660-83d6-4a9f-a71f-be2cb493b977/bin-2019/utaipan/data/98da6655c/097da888457241f59e93408f46cff028/FLAGc7be129ce [2018-11-10 07:47:31,042 INFO L354 CDTParser]: Successfully deleted /tmp/vcloud-vcloud-master/worker/working_dir_a4e66660-83d6-4a9f-a71f-be2cb493b977/bin-2019/utaipan/data/98da6655c/097da888457241f59e93408f46cff028 [2018-11-10 07:47:31,044 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-10 07:47:31,045 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-10 07:47:31,046 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-10 07:47:31,046 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-10 07:47:31,049 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-10 07:47:31,049 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 10.11 07:47:31" (1/1) ... [2018-11-10 07:47:31,051 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@4c0de95e and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.11 07:47:31, skipping insertion in model container [2018-11-10 07:47:31,051 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 10.11 07:47:31" (1/1) ... [2018-11-10 07:47:31,056 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-10 07:47:31,131 INFO L174 MainTranslator]: Built tables and reachable declarations [2018-11-10 07:47:33,298 INFO L202 PostProcessor]: Analyzing one entry point: main [2018-11-10 07:47:33,429 INFO L189 MainTranslator]: Completed pre-run [2018-11-10 07:47:34,361 INFO L202 PostProcessor]: Analyzing one entry point: main [2018-11-10 07:47:34,521 INFO L193 MainTranslator]: Completed translation [2018-11-10 07:47:34,521 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.11 07:47:34 WrapperNode [2018-11-10 07:47:34,521 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-10 07:47:34,522 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-10 07:47:34,522 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-10 07:47:34,522 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-10 07:47:34,527 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.11 07:47:34" (1/1) ... [2018-11-10 07:47:34,543 ERROR L1123 TypeChecker]: C: static int tt_s2_4600_read_status(struct dvb_frontend *fe , enum fe_status *status ) { struct dvb_usb_adapter *d ; struct dw2102_state *st ; int ret ; { d = (struct dvb_usb_adapter *)(fe->dvb)->priv; st = (struct dw2102_state *)(d->dev)->priv; ret = (*(st->fe_read_status))(fe, status); if (((unsigned int )*status & 16U) != 0U && (unsigned int )st->last_lock == 0U) { su3000_streaming_ctrl(d, 1); } else { } st->last_lock = ((unsigned int )*status & 16U) != 0U; return (ret); } } [8785-8803]: Modifies clause contains ~dw2104_properties~0 which is not a global variable [2018-11-10 07:47:34,543 ERROR L1123 TypeChecker]: C: (*(st->fe_read_status))(fe, status) [8794]: Modifies clause contains ~dw2104_properties~0 which is not a global variable [2018-11-10 07:47:34,544 ERROR L1123 TypeChecker]: C: static int dw2102_load_firmware(struct usb_device *dev , struct firmware const *frmwr ) { u8 *b ; u8 *p ; int ret ; int i ; u8 reset ; u8 reset16[7U] ; struct firmware const *fw ; void *tmp ; int tmp___0 ; int tmp___1 ; int tmp___2 ; { ret = 0; reset16[0] = 0U; reset16[1] = 0U; reset16[2] = 0U; reset16[3] = 0U; reset16[4] = 0U; reset16[5] = 0U; reset16[6] = 0U; switch ((int )dev->descriptor.idProduct) { case 8449: ret = request_firmware(& fw, "dvb-usb-dw2101.fw", & dev->dev); if (ret != 0) { printk("\vdw2102: did not find the firmware file. (%s) Please see linux/Documentation/dvb/ for more details on firmware-problems.\n", (char *)"dvb-usb-dw2101.fw"); return (ret); } else { } goto ldv_49010; default: fw = frmwr; goto ldv_49010; } ldv_49010: printk("\016dw2102: start downloading DW210X firmware\n"); tmp = kmalloc(fw->size, 208U); p = (u8 *)tmp; reset = 1U; dw210x_op_rw(dev, 160, 32658, 0, & reset, 1, 1); dw210x_op_rw(dev, 160, 58880, 0, & reset, 1, 1); if ((unsigned long )p != (unsigned long )((u8 *)0U)) { memmove((void *)p, (void const *)fw->data, fw->size); i = 0; goto ldv_49014; ldv_49013: b = p + (unsigned long )i; tmp___0 = dw210x_op_rw(dev, 160, (int )((u16 )i), 0, b, 64, 1); if (tmp___0 != 64) { printk("\vdw2102: error while transferring firmware\n"); ret = -22; goto ldv_49012; } else { } i = i + 64; ldv_49014: ; if ((unsigned long )i < (unsigned long )fw->size) { goto ldv_49013; } else { } ldv_49012: reset = 0U; if (ret != 0) { printk("\vdw2102: could not restart the USB controller CPU.\n"); ret = -22; } else { tmp___1 = dw210x_op_rw(dev, 160, 32658, 0, & reset, 1, 1); if (tmp___1 != 1) { printk("\vdw2102: could not restart the USB controller CPU.\n"); ret = -22; } else { } } if (ret != 0) { printk("\vdw2102: could not restart the USB controller CPU.\n"); ret = -22; } else { tmp___2 = dw210x_op_rw(dev, 160, 58880, 0, & reset, 1, 1); if (tmp___2 != 1) { printk("\vdw2102: could not restart the USB controller CPU.\n"); ret = -22; } else { } } switch ((int )dev->descriptor.idProduct) { case 54864: dw2104_properties.rc.core.rc_codes = (char *)"rc-tevii-nec"; case 8452: reset = 1U; dw210x_op_rw(dev, 196, 0, 0, & reset, 1, 1); case 12545: reset = 0U; dw210x_op_rw(dev, 191, 64, 0, & reset, 0, 1); goto ldv_49018; case 100: ; case 8450: dw210x_op_rw(dev, 191, 64, 0, & reset, 0, 1); dw210x_op_rw(dev, 185, 0, 0, (u8 *)(& reset16), 2, 0); dw210x_op_rw(dev, 181, 0, 0, (u8 *)(& reset16), 2, 0); if ((unsigned int )reset16[0] == 161U || (unsigned int )reset16[0] == 128U) { dw2102_properties.i2c_algo = & dw2102_i2c_algo; ((struct dvb_usb_adapter_properties *)(& dw2102_properties.adapter))->fe[0].tuner_attach = & dw2102_tuner_attach; goto ldv_49018; } else { reset16[0] = 208U; reset16[1] = 1U; reset16[2] = 0U; dw210x_op_rw(dev, 194, 0, 0, (u8 *)(& reset16), 3, 1); dw210x_op_rw(dev, 195, 209, 0, (u8 *)(& reset16), 3, 0); if ((unsigned int )reset16[2] == 17U) { dw2102_properties.i2c_algo = & dw2102_earda_i2c_algo; goto ldv_49018; } else { } } case 8449: dw210x_op_rw(dev, 188, 48, 0, (u8 *)(& reset16), 2, 0); dw210x_op_rw(dev, 186, 0, 0, (u8 *)(& reset16), 7, 0); dw210x_op_rw(dev, 186, 0, 0, (u8 *)(& reset16), 7, 0); dw210x_op_rw(dev, 185, 0, 0, (u8 *)(& reset16), 2, 0); goto ldv_49018; } ldv_49018: msleep(100U); kfree((void const *)p); } else { } return (ret); } } [10499-10638]: Modifies clause contains ~dw2104_properties~0 which is not a global variable [2018-11-10 07:47:34,544 ERROR L1123 TypeChecker]: C: int main(void) { int ldvarg1 ; struct dvb_frontend *ldvarg0 ; void *tmp ; u8 *ldvarg4 ; void *tmp___0 ; struct firmware *ldvarg3 ; void *tmp___1 ; struct usb_device *ldvarg2 ; void *tmp___2 ; int ldvarg5 ; struct i2c_msg *ldvarg6 ; void *tmp___3 ; int *ldvarg8 ; void *tmp___4 ; struct dvb_usb_device_properties *ldvarg11 ; void *tmp___5 ; u8 *ldvarg7 ; void *tmp___6 ; struct dvb_usb_device_description **ldvarg10 ; void *tmp___7 ; int ldvarg12 ; struct usb_device *ldvarg9 ; void *tmp___8 ; struct usb_device_id *ldvarg13 ; void *tmp___9 ; int ldvarg14 ; struct i2c_msg *ldvarg15 ; void *tmp___10 ; struct i2c_msg *ldvarg17 ; void *tmp___11 ; int ldvarg16 ; int ldvarg18 ; struct i2c_msg *ldvarg19 ; void *tmp___12 ; struct firmware *ldvarg21 ; void *tmp___13 ; struct usb_device *ldvarg20 ; void *tmp___14 ; u8 *ldvarg22 ; void *tmp___15 ; int *ldvarg24 ; void *tmp___16 ; struct dvb_usb_device_properties *ldvarg27 ; void *tmp___17 ; struct dvb_usb_device_description **ldvarg26 ; void *tmp___18 ; struct usb_device *ldvarg25 ; void *tmp___19 ; u8 *ldvarg23 ; void *tmp___20 ; int ldvarg28 ; struct dvb_frontend *ldvarg29 ; void *tmp___21 ; int ldvarg30 ; u32 ldvarg32 ; struct dvb_frontend *ldvarg31 ; void *tmp___22 ; u32 ldvarg33 ; struct i2c_msg *ldvarg35 ; void *tmp___23 ; int ldvarg34 ; struct i2c_msg *ldvarg37 ; void *tmp___24 ; int ldvarg36 ; struct firmware *ldvarg39 ; void *tmp___25 ; u8 *ldvarg40 ; void *tmp___26 ; struct usb_device *ldvarg38 ; void *tmp___27 ; struct dvb_usb_device_properties *ldvarg45 ; void *tmp___28 ; u8 *ldvarg41 ; void *tmp___29 ; struct usb_device *ldvarg43 ; void *tmp___30 ; int *ldvarg42 ; void *tmp___31 ; struct dvb_usb_device_description **ldvarg44 ; void *tmp___32 ; int ldvarg46 ; struct i2c_msg *ldvarg48 ; void *tmp___33 ; int ldvarg47 ; struct dvb_frontend *ldvarg49 ; void *tmp___34 ; int ldvarg50 ; struct usb_device *ldvarg51 ; void *tmp___35 ; u8 *ldvarg53 ; void *tmp___36 ; struct firmware *ldvarg52 ; void *tmp___37 ; int tmp___38 ; int tmp___39 ; int tmp___40 ; int tmp___41 ; int tmp___42 ; int tmp___43 ; int tmp___44 ; int tmp___45 ; int tmp___46 ; int tmp___47 ; int tmp___48 ; int tmp___49 ; int tmp___50 ; int tmp___51 ; int tmp___52 ; int tmp___53 ; int tmp___54 ; int tmp___55 ; int tmp___56 ; int tmp___57 ; int tmp___58 ; { tmp = ldv_init_zalloc(1304UL); ldvarg0 = (struct dvb_frontend *)tmp; tmp___0 = ldv_init_zalloc(1UL); ldvarg4 = (u8 *)tmp___0; tmp___1 = ldv_init_zalloc(32UL); ldvarg3 = (struct firmware *)tmp___1; tmp___2 = ldv_init_zalloc(2032UL); ldvarg2 = (struct usb_device *)tmp___2; tmp___3 = ldv_init_zalloc(16UL); ldvarg6 = (struct i2c_msg *)tmp___3; tmp___4 = ldv_init_zalloc(4UL); ldvarg8 = (int *)tmp___4; tmp___5 = ldv_init_zalloc(3696UL); ldvarg11 = (struct dvb_usb_device_properties *)tmp___5; tmp___6 = ldv_init_zalloc(1UL); ldvarg7 = (u8 *)tmp___6; tmp___7 = ldv_init_zalloc(8UL); ldvarg10 = (struct dvb_usb_device_description **)tmp___7; tmp___8 = ldv_init_zalloc(2032UL); ldvarg9 = (struct usb_device *)tmp___8; tmp___9 = ldv_init_zalloc(32UL); ldvarg13 = (struct usb_device_id *)tmp___9; tmp___10 = ldv_init_zalloc(16UL); ldvarg15 = (struct i2c_msg *)tmp___10; tmp___11 = ldv_init_zalloc(16UL); ldvarg17 = (struct i2c_msg *)tmp___11; tmp___12 = ldv_init_zalloc(16UL); ldvarg19 = (struct i2c_msg *)tmp___12; tmp___13 = ldv_init_zalloc(32UL); ldvarg21 = (struct firmware *)tmp___13; tmp___14 = ldv_init_zalloc(2032UL); ldvarg20 = (struct usb_device *)tmp___14; tmp___15 = ldv_init_zalloc(1UL); ldvarg22 = (u8 *)tmp___15; tmp___16 = ldv_init_zalloc(4UL); ldvarg24 = (int *)tmp___16; tmp___17 = ldv_init_zalloc(3696UL); ldvarg27 = (struct dvb_usb_device_properties *)tmp___17; tmp___18 = ldv_init_zalloc(8UL); ldvarg26 = (struct dvb_usb_device_description **)tmp___18; tmp___19 = ldv_init_zalloc(2032UL); ldvarg25 = (struct usb_device *)tmp___19; tmp___20 = ldv_init_zalloc(1UL); ldvarg23 = (u8 *)tmp___20; tmp___21 = ldv_init_zalloc(1304UL); ldvarg29 = (struct dvb_frontend *)tmp___21; tmp___22 = ldv_init_zalloc(1304UL); ldvarg31 = (struct dvb_frontend *)tmp___22; tmp___23 = ldv_init_zalloc(16UL); ldvarg35 = (struct i2c_msg *)tmp___23; tmp___24 = ldv_init_zalloc(16UL); ldvarg37 = (struct i2c_msg *)tmp___24; tmp___25 = ldv_init_zalloc(32UL); ldvarg39 = (struct firmware *)tmp___25; tmp___26 = ldv_init_zalloc(1UL); ldvarg40 = (u8 *)tmp___26; tmp___27 = ldv_init_zalloc(2032UL); ldvarg38 = (struct usb_device *)tmp___27; tmp___28 = ldv_init_zalloc(3696UL); ldvarg45 = (struct dvb_usb_device_properties *)tmp___28; tmp___29 = ldv_init_zalloc(1UL); ldvarg41 = (u8 *)tmp___29; tmp___30 = ldv_init_zalloc(2032UL); ldvarg43 = (struct usb_device *)tmp___30; tmp___31 = ldv_init_zalloc(4UL); ldvarg42 = (int *)tmp___31; tmp___32 = ldv_init_zalloc(8UL); ldvarg44 = (struct dvb_usb_device_description **)tmp___32; tmp___33 = ldv_init_zalloc(16UL); ldvarg48 = (struct i2c_msg *)tmp___33; tmp___34 = ldv_init_zalloc(1304UL); ldvarg49 = (struct dvb_frontend *)tmp___34; tmp___35 = ldv_init_zalloc(2032UL); ldvarg51 = (struct usb_device *)tmp___35; tmp___36 = ldv_init_zalloc(1UL); ldvarg53 = (u8 *)tmp___36; tmp___37 = ldv_init_zalloc(32UL); ldvarg52 = (struct firmware *)tmp___37; ldv_initialize(); ldv_memset((void *)(& ldvarg1), 0, 4UL); ldv_memset((void *)(& ldvarg5), 0, 4UL); ldv_memset((void *)(& ldvarg12), 0, 4UL); ldv_memset((void *)(& ldvarg14), 0, 4UL); ldv_memset((void *)(& ldvarg16), 0, 4UL); ldv_memset((void *)(& ldvarg18), 0, 4UL); ldv_memset((void *)(& ldvarg28), 0, 4UL); ldv_memset((void *)(& ldvarg30), 0, 4UL); ldv_memset((void *)(& ldvarg32), 0, 4UL); ldv_memset((void *)(& ldvarg33), 0, 4UL); ldv_memset((void *)(& ldvarg34), 0, 4UL); ldv_memset((void *)(& ldvarg36), 0, 4UL); ldv_memset((void *)(& ldvarg46), 0, 4UL); ldv_memset((void *)(& ldvarg47), 0, 4UL); ldv_memset((void *)(& ldvarg50), 0, 4UL); ldv_state_variable_11 = 0; ldv_state_variable_7 = 0; ldv_state_variable_17 = 0; ldv_state_variable_2 = 0; ldv_state_variable_1 = 0; ldv_state_variable_18 = 0; ref_cnt = 0; ldv_state_variable_0 = 1; ldv_state_variable_16 = 0; ldv_state_variable_13 = 0; ldv_state_variable_6 = 0; ldv_state_variable_3 = 0; ldv_state_variable_9 = 0; ldv_state_variable_12 = 0; ldv_state_variable_14 = 0; ldv_state_variable_15 = 0; ldv_state_variable_8 = 0; ldv_state_variable_4 = 0; ldv_state_variable_19 = 0; ldv_state_variable_10 = 0; ldv_state_variable_5 = 0; ldv_49380: tmp___38 = __VERIFIER_nondet_int(); switch (tmp___38) { case 0: ; if (ldv_state_variable_11 != 0) { tmp___39 = __VERIFIER_nondet_int(); switch (tmp___39) { case 0: ; if (ldv_state_variable_11 == 1) { dw210x_led_ctrl(ldvarg0, ldvarg1); ldv_state_variable_11 = 1; } else { } goto ldv_49259; default: ldv_stop(); } ldv_49259: ; } else { } goto ldv_49261; case 1: ; if (ldv_state_variable_7 != 0) { tmp___40 = __VERIFIER_nondet_int(); switch (tmp___40) { case 0: ; if (ldv_state_variable_7 == 2) { dw210x_read_mac_address(dw2104_properties_group0, ldvarg4); ldv_state_variable_7 = 2; } else { } goto ldv_49264; case 1: ; if (ldv_state_variable_7 == 1) { dw2102_load_firmware(ldvarg2, (struct firmware const *)ldvarg3); ldv_state_variable_7 = 1; } else { } if (ldv_state_variable_7 == 2) { dw2102_load_firmware(ldvarg2, (struct firmware const *)ldvarg3); ldv_state_variable_7 = 2; } else { } goto ldv_49264; case 2: ; if (ldv_state_variable_7 == 1) { dw2102_rc_query(dw2104_properties_group0); ldv_state_variable_7 = 1; } else { } if (ldv_state_variable_7 == 2) { dw2102_rc_query(dw2104_properties_group0); ldv_state_variable_7 = 2; } else { } goto ldv_49264; case 3: ; if (ldv_state_variable_7 == 2) { ldv_release_7(); ldv_state_variable_7 = 1; ref_cnt = ref_cnt - 1; } else { } goto ldv_49264; case 4: ; if (ldv_state_variable_7 == 1) { ldv_probe_7(); ldv_state_variable_7 = 2; ref_cnt = ref_cnt + 1; } else { } goto ldv_49264; default: ldv_stop(); } ldv_49264: ; } else { } goto ldv_49261; case 2: ; if (ldv_state_variable_17 != 0) { tmp___41 = __VERIFIER_nondet_int(); switch (tmp___41) { case 0: ; if (ldv_state_variable_17 == 1) { dw2102_earda_i2c_transfer(dw2102_earda_i2c_algo_group0, ldvarg6, ldvarg5); ldv_state_variable_17 = 1; } else { } goto ldv_49272; case 1: ; if (ldv_state_variable_17 == 1) { dw210x_i2c_func(dw2102_earda_i2c_algo_group0); ldv_state_variable_17 = 1; } else { } goto ldv_49272; default: ldv_stop(); } ldv_49272: ; } else { } goto ldv_49261; case 3: ; if (ldv_state_variable_2 != 0) { tmp___42 = __VERIFIER_nondet_int(); switch (tmp___42) { case 0: ; if (ldv_state_variable_2 == 1) { su3000_power_ctrl(tt_s2_4600_properties_group0, ldvarg12); ldv_state_variable_2 = 1; } else { } if (ldv_state_variable_2 == 2) { su3000_power_ctrl(tt_s2_4600_properties_group0, ldvarg12); ldv_state_variable_2 = 2; } else { } goto ldv_49277; case 1: ; if (ldv_state_variable_2 == 1) { su3000_identify_state(ldvarg9, ldvarg11, ldvarg10, ldvarg8); ldv_state_variable_2 = 1; } else { } if (ldv_state_variable_2 == 2) { su3000_identify_state(ldvarg9, ldvarg11, ldvarg10, ldvarg8); ldv_state_variable_2 = 2; } else { } goto ldv_49277; case 2: ; if (ldv_state_variable_2 == 2) { su3000_read_mac_address(tt_s2_4600_properties_group0, ldvarg7); ldv_state_variable_2 = 2; } else { } goto ldv_49277; case 3: ; if (ldv_state_variable_2 == 1) { su3000_rc_query(tt_s2_4600_properties_group0); ldv_state_variable_2 = 1; } else { } if (ldv_state_variable_2 == 2) { su3000_rc_query(tt_s2_4600_properties_group0); ldv_state_variable_2 = 2; } else { } goto ldv_49277; case 4: ; if (ldv_state_variable_2 == 2) { ldv_release_2(); ldv_state_variable_2 = 1; ref_cnt = ref_cnt - 1; } else { } goto ldv_49277; case 5: ; if (ldv_state_variable_2 == 1) { ldv_probe_2(); ldv_state_variable_2 = 2; ref_cnt = ref_cnt + 1; } else { } goto ldv_49277; default: ldv_stop(); } ldv_49277: ; } else { } goto ldv_49261; case 4: ; if (ldv_state_variable_1 != 0) { tmp___43 = __VERIFIER_nondet_int(); switch (tmp___43) { case 0: ; if (ldv_state_variable_1 == 1) { ldv_retval_0 = dw2102_probe(dw2102_driver_group1, (struct usb_device_id const *)ldvarg13); if (ldv_retval_0 == 0) { ldv_state_variable_1 = 2; ref_cnt = ref_cnt + 1; } else { } } else { } goto ldv_49286; case 1: ; if (ldv_state_variable_1 == 2 && usb_counter == 0) { dw2102_disconnect(dw2102_driver_group1); ldv_state_variable_1 = 1; ref_cnt = ref_cnt - 1; } else { } goto ldv_49286; default: ldv_stop(); } ldv_49286: ; } else { } goto ldv_49261; case 5: ; if (ldv_state_variable_18 != 0) { tmp___44 = __VERIFIER_nondet_int(); switch (tmp___44) { case 0: ; if (ldv_state_variable_18 == 1) { dw2102_serit_i2c_transfer(dw2102_serit_i2c_algo_group0, ldvarg15, ldvarg14); ldv_state_variable_18 = 1; } else { } goto ldv_49291; case 1: ; if (ldv_state_variable_18 == 1) { dw210x_i2c_func(dw2102_serit_i2c_algo_group0); ldv_state_variable_18 = 1; } else { } goto ldv_49291; default: ldv_stop(); } ldv_49291: ; } else { } goto ldv_49261; case 6: ; if (ldv_state_variable_0 != 0) { tmp___45 = __VERIFIER_nondet_int(); switch (tmp___45) { case 0: ; if (ldv_state_variable_0 == 3 && ref_cnt == 0) { dw2102_driver_exit(); ldv_state_variable_0 = 2; goto ldv_final; } else { } goto ldv_49297; case 1: ; if (ldv_state_variable_0 == 1) { ldv_retval_1 = dw2102_driver_init(); if (ldv_retval_1 == 0) { ldv_state_variable_0 = 3; ldv_state_variable_5 = 1; ldv_initialize_dvb_usb_device_properties_5(); ldv_state_variable_10 = 1; ldv_state_variable_19 = 1; ldv_initialize_i2c_algorithm_19(); ldv_state_variable_4 = 1; ldv_initialize_dvb_usb_device_properties_4(); ldv_state_variable_8 = 1; ldv_initialize_dvb_usb_device_properties_8(); ldv_state_variable_15 = 1; ldv_initialize_i2c_algorithm_15(); ldv_state_variable_14 = 1; ldv_initialize_i2c_algorithm_14(); ldv_state_variable_12 = 1; ldv_state_variable_9 = 1; ldv_state_variable_3 = 1; ldv_initialize_dvb_usb_device_properties_3(); ldv_state_variable_6 = 1; ldv_initialize_dvb_usb_device_properties_6(); ldv_state_variable_13 = 1; ldv_initialize_i2c_algorithm_13(); ldv_state_variable_16 = 1; ldv_initialize_i2c_algorithm_16(); ldv_state_variable_18 = 1; ldv_initialize_i2c_algorithm_18(); ldv_state_variable_2 = 1; ldv_initialize_dvb_usb_device_properties_2(); ldv_state_variable_17 = 1; ldv_initialize_i2c_algorithm_17(); ldv_state_variable_7 = 1; ldv_initialize_dvb_usb_device_properties_7(); ldv_state_variable_11 = 1; } else { } if (ldv_retval_1 != 0) { ldv_state_variable_0 = 2; goto ldv_final; } else { } } else { } goto ldv_49297; default: ldv_stop(); } ldv_49297: ; } else { } goto ldv_49261; case 7: ; if (ldv_state_variable_16 != 0) { tmp___46 = __VERIFIER_nondet_int(); switch (tmp___46) { case 0: ; if (ldv_state_variable_16 == 1) { dw2104_i2c_transfer(dw2104_i2c_algo_group0, ldvarg17, ldvarg16); ldv_state_variable_16 = 1; } else { } goto ldv_49302; case 1: ; if (ldv_state_variable_16 == 1) { dw210x_i2c_func(dw2104_i2c_algo_group0); ldv_state_variable_16 = 1; } else { } goto ldv_49302; default: ldv_stop(); } ldv_49302: ; } else { } goto ldv_49261; case 8: ; if (ldv_state_variable_13 != 0) { tmp___47 = __VERIFIER_nondet_int(); switch (tmp___47) { case 0: ; if (ldv_state_variable_13 == 1) { su3000_i2c_transfer(su3000_i2c_algo_group0, ldvarg19, ldvarg18); ldv_state_variable_13 = 1; } else { } goto ldv_49307; case 1: ; if (ldv_state_variable_13 == 1) { dw210x_i2c_func(su3000_i2c_algo_group0); ldv_state_variable_13 = 1; } else { } goto ldv_49307; default: ldv_stop(); } ldv_49307: ; } else { } goto ldv_49261; case 9: ; if (ldv_state_variable_6 != 0) { tmp___48 = __VERIFIER_nondet_int(); switch (tmp___48) { case 0: ; if (ldv_state_variable_6 == 2) { dw210x_read_mac_address(dw3101_properties_group0, ldvarg22); ldv_state_variable_6 = 2; } else { } goto ldv_49312; case 1: ; if (ldv_state_variable_6 == 1) { dw2102_load_firmware(ldvarg20, (struct firmware const *)ldvarg21); ldv_state_variable_6 = 1; } else { } if (ldv_state_variable_6 == 2) { dw2102_load_firmware(ldvarg20, (struct firmware const *)ldvarg21); ldv_state_variable_6 = 2; } else { } goto ldv_49312; case 2: ; if (ldv_state_variable_6 == 1) { dw2102_rc_query(dw3101_properties_group0); ldv_state_variable_6 = 1; } else { } if (ldv_state_variable_6 == 2) { dw2102_rc_query(dw3101_properties_group0); ldv_state_variable_6 = 2; } else { } goto ldv_49312; case 3: ; if (ldv_state_variable_6 == 2) { ldv_release_6(); ldv_state_variable_6 = 1; ref_cnt = ref_cnt - 1; } else { } goto ldv_49312; case 4: ; if (ldv_state_variable_6 == 1) { ldv_probe_6(); ldv_state_variable_6 = 2; ref_cnt = ref_cnt + 1; } else { } goto ldv_49312; default: ldv_stop(); } ldv_49312: ; } else { } goto ldv_49261; case 10: ; if (ldv_state_variable_3 != 0) { tmp___49 = __VERIFIER_nondet_int(); switch (tmp___49) { case 0: ; if (ldv_state_variable_3 == 1) { su3000_power_ctrl(t220_properties_group0, ldvarg28); ldv_state_variable_3 = 1; } else { } if (ldv_state_variable_3 == 2) { su3000_power_ctrl(t220_properties_group0, ldvarg28); ldv_state_variable_3 = 2; } else { } goto ldv_49320; case 1: ; if (ldv_state_variable_3 == 1) { su3000_identify_state(ldvarg25, ldvarg27, ldvarg26, ldvarg24); ldv_state_variable_3 = 1; } else { } if (ldv_state_variable_3 == 2) { su3000_identify_state(ldvarg25, ldvarg27, ldvarg26, ldvarg24); ldv_state_variable_3 = 2; } else { } goto ldv_49320; case 2: ; if (ldv_state_variable_3 == 2) { su3000_read_mac_address(t220_properties_group0, ldvarg23); ldv_state_variable_3 = 2; } else { } goto ldv_49320; case 3: ; if (ldv_state_variable_3 == 1) { su3000_rc_query(t220_properties_group0); ldv_state_variable_3 = 1; } else { } if (ldv_state_variable_3 == 2) { su3000_rc_query(t220_properties_group0); ldv_state_variable_3 = 2; } else { } goto ldv_49320; case 4: ; if (ldv_state_variable_3 == 2) { ldv_release_3(); ldv_state_variable_3 = 1; ref_cnt = ref_cnt - 1; } else { } goto ldv_49320; case 5: ; if (ldv_state_variable_3 == 1) { ldv_probe_3(); ldv_state_variable_3 = 2; ref_cnt = ref_cnt + 1; } else { } goto ldv_49320; default: ldv_stop(); } ldv_49320: ; } else { } goto ldv_49261; case 11: ; if (ldv_state_variable_9 != 0) { tmp___50 = __VERIFIER_nondet_int(); switch (tmp___50) { case 0: ; if (ldv_state_variable_9 == 1) { dw210x_led_ctrl(ldvarg29, ldvarg30); ldv_state_variable_9 = 1; } else { } goto ldv_49329; default: ldv_stop(); } ldv_49329: ; } else { } goto ldv_49261; case 12: ; if (ldv_state_variable_12 != 0) { tmp___51 = __VERIFIER_nondet_int(); switch (tmp___51) { case 0: ; if (ldv_state_variable_12 == 1) { sharp_z0194a_set_symbol_rate(ldvarg31, ldvarg33, ldvarg32); ldv_state_variable_12 = 1; } else { } goto ldv_49333; default: ldv_stop(); } ldv_49333: ; } else { } goto ldv_49261; case 13: ; if (ldv_state_variable_14 != 0) { tmp___52 = __VERIFIER_nondet_int(); switch (tmp___52) { case 0: ; if (ldv_state_variable_14 == 1) { s6x0_i2c_transfer(s6x0_i2c_algo_group0, ldvarg35, ldvarg34); ldv_state_variable_14 = 1; } else { } goto ldv_49337; case 1: ; if (ldv_state_variable_14 == 1) { dw210x_i2c_func(s6x0_i2c_algo_group0); ldv_state_variable_14 = 1; } else { } goto ldv_49337; default: ldv_stop(); } ldv_49337: ; } else { } goto ldv_49261; case 14: ; if (ldv_state_variable_15 != 0) { tmp___53 = __VERIFIER_nondet_int(); switch (tmp___53) { case 0: ; if (ldv_state_variable_15 == 1) { dw3101_i2c_transfer(dw3101_i2c_algo_group0, ldvarg37, ldvarg36); ldv_state_variable_15 = 1; } else { } goto ldv_49342; case 1: ; if (ldv_state_variable_15 == 1) { dw210x_i2c_func(dw3101_i2c_algo_group0); ldv_state_variable_15 = 1; } else { } goto ldv_49342; default: ldv_stop(); } ldv_49342: ; } else { } goto ldv_49261; case 15: ; if (ldv_state_variable_8 != 0) { tmp___54 = __VERIFIER_nondet_int(); switch (tmp___54) { case 0: ; if (ldv_state_variable_8 == 2) { dw210x_read_mac_address(dw2102_properties_group0, ldvarg40); ldv_state_variable_8 = 2; } else { } goto ldv_49347; case 1: ; if (ldv_state_variable_8 == 1) { dw2102_load_firmware(ldvarg38, (struct firmware const *)ldvarg39); ldv_state_variable_8 = 1; } else { } if (ldv_state_variable_8 == 2) { dw2102_load_firmware(ldvarg38, (struct firmware const *)ldvarg39); ldv_state_variable_8 = 2; } else { } goto ldv_49347; case 2: ; if (ldv_state_variable_8 == 1) { dw2102_rc_query(dw2102_properties_group0); ldv_state_variable_8 = 1; } else { } if (ldv_state_variable_8 == 2) { dw2102_rc_query(dw2102_properties_group0); ldv_state_variable_8 = 2; } else { } goto ldv_49347; case 3: ; if (ldv_state_variable_8 == 2) { ldv_release_8(); ldv_state_variable_8 = 1; ref_cnt = ref_cnt - 1; } else { } goto ldv_49347; case 4: ; if (ldv_state_variable_8 == 1) { ldv_probe_8(); ldv_state_variable_8 = 2; ref_cnt = ref_cnt + 1; } else { } goto ldv_49347; default: ldv_stop(); } ldv_49347: ; } else { } goto ldv_49261; case 16: ; if (ldv_state_variable_4 != 0) { tmp___55 = __VERIFIER_nondet_int(); switch (tmp___55) { case 0: ; if (ldv_state_variable_4 == 1) { su3000_power_ctrl(su3000_properties_group0, ldvarg46); ldv_state_variable_4 = 1; } else { } if (ldv_state_variable_4 == 2) { su3000_power_ctrl(su3000_properties_group0, ldvarg46); ldv_state_variable_4 = 2; } else { } goto ldv_49355; case 1: ; if (ldv_state_variable_4 == 1) { su3000_identify_state(ldvarg43, ldvarg45, ldvarg44, ldvarg42); ldv_state_variable_4 = 1; } else { } if (ldv_state_variable_4 == 2) { su3000_identify_state(ldvarg43, ldvarg45, ldvarg44, ldvarg42); ldv_state_variable_4 = 2; } else { } goto ldv_49355; case 2: ; if (ldv_state_variable_4 == 2) { su3000_read_mac_address(su3000_properties_group0, ldvarg41); ldv_state_variable_4 = 2; } else { } goto ldv_49355; case 3: ; if (ldv_state_variable_4 == 1) { su3000_rc_query(su3000_properties_group0); ldv_state_variable_4 = 1; } else { } if (ldv_state_variable_4 == 2) { su3000_rc_query(su3000_properties_group0); ldv_state_variable_4 = 2; } else { } goto ldv_49355; case 4: ; if (ldv_state_variable_4 == 2) { ldv_release_4(); ldv_state_variable_4 = 1; ref_cnt = ref_cnt - 1; } else { } goto ldv_49355; case 5: ; if (ldv_state_variable_4 == 1) { ldv_probe_4(); ldv_state_variable_4 = 2; ref_cnt = ref_cnt + 1; } else { } goto ldv_49355; default: ldv_stop(); } ldv_49355: ; } else { } goto ldv_49261; case 17: ; if (ldv_state_variable_19 != 0) { tmp___56 = __VERIFIER_nondet_int(); switch (tmp___56) { case 0: ; if (ldv_state_variable_19 == 1) { dw2102_i2c_transfer(dw2102_i2c_algo_group0, ldvarg48, ldvarg47); ldv_state_variable_19 = 1; } else { } goto ldv_49364; case 1: ; if (ldv_state_variable_19 == 1) { dw210x_i2c_func(dw2102_i2c_algo_group0); ldv_state_variable_19 = 1; } else { } goto ldv_49364; default: ldv_stop(); } ldv_49364: ; } else { } goto ldv_49261; case 18: ; if (ldv_state_variable_10 != 0) { tmp___57 = __VERIFIER_nondet_int(); switch (tmp___57) { case 0: ; if (ldv_state_variable_10 == 1) { dw210x_led_ctrl(ldvarg49, ldvarg50); ldv_state_variable_10 = 1; } else { } goto ldv_49369; default: ldv_stop(); } ldv_49369: ; } else { } goto ldv_49261; case 19: ; if (ldv_state_variable_5 != 0) { tmp___58 = __VERIFIER_nondet_int(); switch (tmp___58) { case 0: ; if (ldv_state_variable_5 == 2) { s6x0_read_mac_address(s6x0_properties_group0, ldvarg53); ldv_state_variable_5 = 2; } else { } goto ldv_49373; case 1: ; if (ldv_state_variable_5 == 1) { dw2102_load_firmware(ldvarg51, (struct firmware const *)ldvarg52); ldv_state_variable_5 = 1; } else { } if (ldv_state_variable_5 == 2) { dw2102_load_firmware(ldvarg51, (struct firmware const *)ldvarg52); ldv_state_variable_5 = 2; } else { } goto ldv_49373; case 2: ; if (ldv_state_variable_5 == 1) { dw2102_rc_query(s6x0_properties_group0); ldv_state_variable_5 = 1; } else { } if (ldv_state_variable_5 == 2) { dw2102_rc_query(s6x0_properties_group0); ldv_state_variable_5 = 2; } else { } goto ldv_49373; case 3: ; if (ldv_state_variable_5 == 2) { ldv_release_5(); ldv_state_variable_5 = 1; ref_cnt = ref_cnt - 1; } else { } goto ldv_49373; case 4: ; if (ldv_state_variable_5 == 1) { ldv_probe_5(); ldv_state_variable_5 = 2; ref_cnt = ref_cnt + 1; } else { } goto ldv_49373; default: ldv_stop(); } ldv_49373: ; } else { } goto ldv_49261; default: ldv_stop(); } ldv_49261: ; goto ldv_49380; ldv_final: ldv_check_final_state(); return 0; } } [11134-12264]: Modifies clause contains ~dw2104_properties~0 which is not a global variable [2018-11-10 07:47:34,546 ERROR L1123 TypeChecker]: : Modifies clause contains ~dw2104_properties~0 which is not a global variable [2018-11-10 07:47:34,585 ERROR L1123 TypeChecker]: C: dw2104_properties [10593]: Variable ~dw2104_properties~0 modified in procedure dw2102_load_firmware but not declared [2018-11-10 07:47:34,592 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.11 07:47:34" (1/1) ... [2018-11-10 07:47:34,593 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-10 07:47:34,593 INFO L184 ToolchainWalker]: Toolchain execution was canceled (user or tool) before executing de.uni_freiburg.informatik.ultimate.boogie.preprocessor [2018-11-10 07:47:34,593 INFO L168 Benchmark]: Toolchain (without parser) took 3548.89 ms. Allocated memory was 1.0 GB in the beginning and 1.5 GB in the end (delta: 497.0 MB). Free memory was 943.0 MB in the beginning and 887.6 MB in the end (delta: 55.4 MB). Peak memory consumption was 552.4 MB. Max. memory is 11.5 GB. [2018-11-10 07:47:34,596 INFO L168 Benchmark]: CDTParser took 0.16 ms. Allocated memory is still 1.0 GB. Free memory is still 985.6 MB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-10 07:47:34,596 INFO L168 Benchmark]: CACSL2BoogieTranslator took 3475.81 ms. Allocated memory was 1.0 GB in the beginning and 1.5 GB in the end (delta: 497.0 MB). Free memory was 943.0 MB in the beginning and 899.8 MB in the end (delta: 43.2 MB). Peak memory consumption was 614.5 MB. Max. memory is 11.5 GB. [2018-11-10 07:47:34,597 INFO L168 Benchmark]: Boogie Procedure Inliner took 70.84 ms. Allocated memory is still 1.5 GB. Free memory was 899.8 MB in the beginning and 887.6 MB in the end (delta: 12.2 MB). Peak memory consumption was 12.2 MB. Max. memory is 11.5 GB. [2018-11-10 07:47:34,600 INFO L336 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.16 ms. Allocated memory is still 1.0 GB. Free memory is still 985.6 MB. There was no memory consumed. Max. memory is 11.5 GB. * CACSL2BoogieTranslator took 3475.81 ms. Allocated memory was 1.0 GB in the beginning and 1.5 GB in the end (delta: 497.0 MB). Free memory was 943.0 MB in the beginning and 899.8 MB in the end (delta: 43.2 MB). Peak memory consumption was 614.5 MB. Max. memory is 11.5 GB. * Boogie Procedure Inliner took 70.84 ms. Allocated memory is still 1.5 GB. Free memory was 899.8 MB in the beginning and 887.6 MB in the end (delta: 12.2 MB). Peak memory consumption was 12.2 MB. Max. memory is 11.5 GB. * Results from de.uni_freiburg.informatik.ultimate.boogie.preprocessor: - TypeErrorResult [Line: 8785]: Type Error Modifies clause contains ~dw2104_properties~0 which is not a global variable - TypeErrorResult [Line: 8794]: Type Error Modifies clause contains ~dw2104_properties~0 which is not a global variable - TypeErrorResult [Line: 10499]: Type Error Modifies clause contains ~dw2104_properties~0 which is not a global variable - TypeErrorResult [Line: 11134]: Type Error Modifies clause contains ~dw2104_properties~0 which is not a global variable - TypeErrorResult [Line: -1]: Type Error Modifies clause contains ~dw2104_properties~0 which is not a global variable - TypeErrorResult [Line: 10593]: Type Error Variable ~dw2104_properties~0 modified in procedure dw2102_load_firmware but not declared RESULT: Ultimate could not prove your program: Toolchain returned no result. Received shutdown request...