The size of the wormhole entry point depends on its mass.

Wormhole_radius =
   (Wormhole_mass ^ (WrmEntryPowerX100 / 100)) / 2

Note that PHost uses the exact fractional value internally. Ufos will report Trunc(Wormhole_radius) (versions up to 3.3d always report 5).

Endpoint Movement: Wormhole endpoints move each turn. They move towards their waypoint up to WrmDisplacement lightyears in X/Y direction, and add some random jitter of WrmRandDisplacement.

Endpoint_displacement =
   Waypoint_displacement + Random_displacement
   ...where
      Random_displacement =
         Random(1 + 2*WrmRandDisplacement) - WrmRandDisplacement
      Waypoint_displacement =
         Waypoint_position - Endpoint_position
         ...at most WrmDisplacement
         ...at least -WrmDisplacement

Size changes: Wormholes change their mass and instability each turn.

Mass_change =
   WrmMassAdd + Random(1 + 2*WrmRandMass) - WrmRandMass

Instability_change =
   -WrmStabilityAddX10 / 10 + Random(1 + 2*WrmRandStability) - WrmRandStability

The mass is an integer in the range 1..32767, the instability is a possibly fractional value in range 0..100. Note that if the mass drops to zero by this process, the wormhole dies, and PHost will set the start and end coordinates to (0,0).