code: def log_probability_split_within_tree(
      tree: Tree, mutation: GrowMutation
  ) -> float:
      """
      The log probability of the particular grow mutation being selected conditional on growing a given tree
      i.e.
      log(P(mutation | node)P(node| tree)
  
      """
      prob_node_chosen_to_split_on = -np.log(
          n_splittable_leaf_nodes(tree)
      )
      prob_split_chosen = log_probability_split_within_node(mutation)
      return prob_node_chosen_to_split_on + prob_split_chosen
  
imports: from typing import List
  import numpy
  from ...model import Model
  from ...mutation import TreeMutation, GrowMutation, PruneMutation
  from ...node import LeafNode, TreeNode
  from ...samplers.treemutation import TreeMutationLikelihoodRatio
  from ...sigma import Sigma
  from ...tree import Tree
label_desc: Use image node_id 4 for calling a global function with example usage: log_probability_split_within_tree(tree, mutation) and returns: unknown