input: 
  import numpy as np
  from keras.models import Sequential
  from keras.layers import Dense
  
  def predict_house_price(features: np.ndarray) -> float:
      """
      Given a set of features, this function uses a pre-trained neural network to predict the price of a house.
      The network consists of:
      - An input layer with 3 nodes (for 3 features)
      - A hidden layer with 64 nodes and ReLU activation
      - A second hidden layer with 32 nodes and ReLU activation
      - An output layer with 1 node and linear activation
      
      The network is trained using mean squared error (MSE) as the loss function and Adam as the optimizer.
      
      >>> predict_house_price(np.array([[0.8, 0.4, 0.7]]))
      123456.78
      """
      model = Sequential()
      model.add(Dense(64, input_dim=3, activation='relu'))
      model.add(Dense(32, activation='relu'))
      model.add(Dense(1, activation='linear'))
      
      model.compile(loss='mse', optimizer='adam', metrics=['mse'])
      
      # Temporary placeholder return value. In a real implementation, the model would have been trained and used to predict the price.
      return 123456.78  # Placeholder value for demonstration
  
output:     model.load_weights('house_price_model_weights.h5')
      prediction = model.predict(features)
      return prediction[0][0]