code: def execute(self, sensor_graph, scope_stack):
          
  
          if self.subtract_stream.stream_type != DataStream.ConstantType:
              raise SensorGraphSemanticError("You can only subtract a constant value currently", stream=self.subtract_stream)
  
          parent = scope_stack[-1]
          alloc = parent.allocator
  
          trigger_stream, trigger_cond = parent.trigger_chain()
  
          sensor_graph.add_node(u"({} always && {} {}) => {} using {}".format(self.subtract_stream, trigger_stream, trigger_cond, self.stream, 'subtract_afromb'))
  
          value = self.default
          if value is None:
              value = 0
  
          if self.default is not None and self.subtract_stream in sensor_graph.constant_database:
              raise SensorGraphSemanticError("Attempted to set the same constant stream twice", stream=self.subtract_stream, new_value=self.default)
          elif self.default is None and self.subtract_stream in sensor_graph.constant_database:
              return
  
          sensor_graph.add_constant(self.subtract_stream, value)
docs: Execute this statement on the sensor_graph given the current scope tree.
  
          This adds a single node to the sensor graph with subtract as the function
          so that the current scope's trigger stream has the subtract_stream's value
          subtracted from it.
  
          Args:
              sensor_graph (SensorGraph): The sensor graph that we are building or
                  modifying
              scope_stack (list(Scope)): A stack of nested scopes that may influence
                  how this statement allocates clocks or other stream resources.