The p_fc instruction

The p_fc instruction reserves a hart on the same core (it does not fork yet; fork is effective only after the following p_jal has been issued).
The next function call instruction (p_jal ra, t0, f in the example) sends the continuation address .L1 as the starting point of the allocated hart (core 0, hart 0 is the allocating hart and core 0, hart 1 is the allocated hart).
In the example, after the p_jal ra, t0, f instruction, the current hart fetches f (i.e. code portion (2)) and the new hart fetches .L1.
As both harts reside on the same core, they alternate fetch and execution. Each hart hides the other hart latencies.