leak Trace summary:

Step 1: State 0 -- leak.c line 5 [main@0->main@1] "f();" -> State 1
Step 2: State 1 -- leak.c line 15 [f@0->f@1] "p = (double *) malloc(100*sizeof(double));" -> State 2
Step 3: State 2 -- leak.c line 16 [f@1->f@2] ""

leak Trace details:

begin State 0
  onStack = true;
  seen = true;
  pathCondition : true
  begin model state
    begin shared variables
    end shared variables;
    begin process 0
      begin stack frame 0
        function : main;
        location : 0;
        q = undefined (Ref[real]);
      end stack frame 0;
    end process 0;
  end model state
end State 0

Step 1: State 0 -- leak.c line 5 [main@0->main@1] "f();" -> State 1

begin State 1
  onStack = true;
  seen = true;
  pathCondition : true
  begin model state
    begin shared variables
    end shared variables;
    begin process 0
      begin stack frame 1
        function : f;
        location : 0;
        p = undefined (Ref[real]);
      end stack frame 1;
      begin stack frame 0
        function : main;
        location : 0;
        q = undefined (Ref[real]);
      end stack frame 0;
    end process 0;
  end model state
end State 1

Step 2: State 1 -- leak.c line 15 [f@0->f@1] "p = (double *) malloc(100*sizeof(double));" -> State 2

begin State 2
  onStack = true;
  seen = true;
  pathCondition : true
  begin model state
    begin shared variables
    end shared variables;
    begin process 0
      begin heap variables
        __heap_0_0 = m0p0h0 (real[100]);
      end heap variables;
      begin stack frame 1
        function : f;
        location : 1;
        p = &__heap_0_0[0] (Ref[real]);
      end stack frame 1;
      begin stack frame 0
        function : main;
        location : 0;
        q = undefined (Ref[real]);
      end stack frame 0;
    end process 0;
  end model state
end State 2

Step 3: State 2 -- leak.c line 16 [f@1->f@2] ""
