simpleMPI Trace summary:

Step 1: State 0 -- simpleMPI.c line 12 [main@0->main@1] "MPI_Init(&argc, &argv);" -> State 1
Step 2: State 1 --  [MPI_Init@0->MPI_Init@1] "" -> State 2
Step 3: State 2 -- simpleMPI.c line 13 [main@1->main@2] "MPI_Comm_rank(MPI_COMM_WORLD, &myrank);" -> State 3
Step 4: State 3 -- libmpi.c line 103 [MPI_Comm_rank@0->MPI_Comm_rank@1] "assert comm == MPI_COMM_WORLD;" -> State 4
Step 5: State 4 -- libmpi.c line 104 [MPI_Comm_rank@1->MPI_Comm_rank@2] "*rank = PID;" -> State 5
Step 6: State 5

simpleMPI Trace details:

begin state 0
  save = true
  onStack = true;
  seen = true;
  pathCondition : X6 + -1 >= 0
  begin model state
    begin shared variables
      MPIX_COMM_RECORD_NULL = edu.udel.cis.vsl.tass.dynamic.impl.value.RecordValue@ce2eaeec (Record[MPIX_Comm_Record; id:int]);
      MPI_REQUEST_NULL = X1 (Ref[Record[MPIX_Comm_Record; id:int]]);
      MPIX_STATUS_NULL = edu.udel.cis.vsl.tass.dynamic.impl.value.RecordValue@e97bee6 (Record[MPI_Status; MPI_SOURCE:int, MPI_TAG:int, SIZE:int]);
      MPI_STATUS_IGNORE = X5 (Ref[Record[MPI_Status; MPI_SOURCE:int, MPI_TAG:int, SIZE:int]]);
      argc = X6 (int);
    end shared variables;
    begin process 0
      begin global variables
        MPIX_State = undefined (int);
        argv = undefined (Ref[Ref[char]]);
        nprocs = undefined (int);
        myrank = undefined (int);
      end global variables;
      begin stack frame 0
        function : main;
        location : 0;
        buf = undefined (real);
      end stack frame 0;
    end process 0;
  end model state
end state 0.

Step 1: State 0 -- simpleMPI.c line 12 [main@0->main@1] "MPI_Init(&argc, &argv);" -> State 1

begin state 1
  save = false
  onStack = true;
  seen = true;
  pathCondition : X6 + -1 >= 0
  begin model state
    begin shared variables
      MPIX_COMM_RECORD_NULL = edu.udel.cis.vsl.tass.dynamic.impl.value.RecordValue@ce2eaeec (Record[MPIX_Comm_Record; id:int]);
      MPI_REQUEST_NULL = X1 (Ref[Record[MPIX_Comm_Record; id:int]]);
      MPIX_STATUS_NULL = edu.udel.cis.vsl.tass.dynamic.impl.value.RecordValue@e97bee6 (Record[MPI_Status; MPI_SOURCE:int, MPI_TAG:int, SIZE:int]);
      MPI_STATUS_IGNORE = X5 (Ref[Record[MPI_Status; MPI_SOURCE:int, MPI_TAG:int, SIZE:int]]);
      argc = X6 (int);
    end shared variables;
    begin process 0
      begin global variables
        MPIX_State = undefined (int);
        argv = undefined (Ref[Ref[char]]);
        nprocs = undefined (int);
        myrank = undefined (int);
      end global variables;
      begin stack frame 1
        function : MPI_Init;
        location : 0;
        argc = &argc;
        argv = &argv;
      end stack frame 1;
      begin stack frame 0
        function : main;
        location : 0;
        buf = undefined (real);
      end stack frame 0;
    end process 0;
  end model state
end state 1.

Step 2: State 1 --  [MPI_Init@0->MPI_Init@1] "" -> State 2

begin state 2
  save = false
  onStack = true;
  seen = true;
  pathCondition : X6 + -1 >= 0
  begin model state
    begin shared variables
      MPIX_COMM_RECORD_NULL = edu.udel.cis.vsl.tass.dynamic.impl.value.RecordValue@ce2eaeec (Record[MPIX_Comm_Record; id:int]);
      MPI_REQUEST_NULL = X1 (Ref[Record[MPIX_Comm_Record; id:int]]);
      MPIX_STATUS_NULL = edu.udel.cis.vsl.tass.dynamic.impl.value.RecordValue@e97bee6 (Record[MPI_Status; MPI_SOURCE:int, MPI_TAG:int, SIZE:int]);
      MPI_STATUS_IGNORE = X5 (Ref[Record[MPI_Status; MPI_SOURCE:int, MPI_TAG:int, SIZE:int]]);
      argc = X6 (int);
    end shared variables;
    begin process 0
      begin global variables
        MPIX_State = undefined (int);
        argv = undefined (Ref[Ref[char]]);
        nprocs = undefined (int);
        myrank = undefined (int);
      end global variables;
      begin stack frame 0
        function : main;
        location : 1;
        buf = undefined (real);
      end stack frame 0;
    end process 0;
  end model state
end state 2.

Step 3: State 2 -- simpleMPI.c line 13 [main@1->main@2] "MPI_Comm_rank(MPI_COMM_WORLD, &myrank);" -> State 3

begin state 3
  save = false
  onStack = true;
  seen = true;
  pathCondition : X6 + -1 >= 0
  begin model state
    begin shared variables
      MPIX_COMM_RECORD_NULL = edu.udel.cis.vsl.tass.dynamic.impl.value.RecordValue@ce2eaeec (Record[MPIX_Comm_Record; id:int]);
      MPI_REQUEST_NULL = X1 (Ref[Record[MPIX_Comm_Record; id:int]]);
      MPIX_STATUS_NULL = edu.udel.cis.vsl.tass.dynamic.impl.value.RecordValue@e97bee6 (Record[MPI_Status; MPI_SOURCE:int, MPI_TAG:int, SIZE:int]);
      MPI_STATUS_IGNORE = X5 (Ref[Record[MPI_Status; MPI_SOURCE:int, MPI_TAG:int, SIZE:int]]);
      argc = X6 (int);
    end shared variables;
    begin process 0
      begin global variables
        MPIX_State = undefined (int);
        argv = undefined (Ref[Ref[char]]);
        nprocs = undefined (int);
        myrank = undefined (int);
      end global variables;
      begin stack frame 1
        function : MPI_Comm_rank;
        location : 0;
        comm = 1;
        rank = &myrank;
      end stack frame 1;
      begin stack frame 0
        function : main;
        location : 1;
        buf = undefined (real);
      end stack frame 0;
    end process 0;
  end model state
end state 3.

Step 4: State 3 -- libmpi.c line 103 [MPI_Comm_rank@0->MPI_Comm_rank@1] "assert comm == MPI_COMM_WORLD;" -> State 4

begin state 4
  save = false
  onStack = true;
  seen = true;
  pathCondition : X6 + -1 >= 0
  begin model state
    begin shared variables
      MPIX_COMM_RECORD_NULL = edu.udel.cis.vsl.tass.dynamic.impl.value.RecordValue@ce2eaeec (Record[MPIX_Comm_Record; id:int]);
      MPI_REQUEST_NULL = X1 (Ref[Record[MPIX_Comm_Record; id:int]]);
      MPIX_STATUS_NULL = edu.udel.cis.vsl.tass.dynamic.impl.value.RecordValue@e97bee6 (Record[MPI_Status; MPI_SOURCE:int, MPI_TAG:int, SIZE:int]);
      MPI_STATUS_IGNORE = X5 (Ref[Record[MPI_Status; MPI_SOURCE:int, MPI_TAG:int, SIZE:int]]);
      argc = X6 (int);
    end shared variables;
    begin process 0
      begin global variables
        MPIX_State = undefined (int);
        argv = undefined (Ref[Ref[char]]);
        nprocs = undefined (int);
        myrank = undefined (int);
      end global variables;
      begin stack frame 1
        function : MPI_Comm_rank;
        location : 1;
        comm = 1;
        rank = &myrank;
      end stack frame 1;
      begin stack frame 0
        function : main;
        location : 1;
        buf = undefined (real);
      end stack frame 0;
    end process 0;
  end model state
end state 4.

Step 5: State 4 -- libmpi.c line 104 [MPI_Comm_rank@1->MPI_Comm_rank@2] "*rank = PID;" -> State 5

begin state 5
  save = false
  onStack = true;
  seen = true;
  pathCondition : X6 + -1 >= 0
  begin model state
    begin shared variables
      MPIX_COMM_RECORD_NULL = edu.udel.cis.vsl.tass.dynamic.impl.value.RecordValue@ce2eaeec (Record[MPIX_Comm_Record; id:int]);
      MPI_REQUEST_NULL = X1 (Ref[Record[MPIX_Comm_Record; id:int]]);
      MPIX_STATUS_NULL = edu.udel.cis.vsl.tass.dynamic.impl.value.RecordValue@e97bee6 (Record[MPI_Status; MPI_SOURCE:int, MPI_TAG:int, SIZE:int]);
      MPI_STATUS_IGNORE = X5 (Ref[Record[MPI_Status; MPI_SOURCE:int, MPI_TAG:int, SIZE:int]]);
      argc = X6 (int);
    end shared variables;
    begin process 0
      begin global variables
        MPIX_State = undefined (int);
        argv = undefined (Ref[Ref[char]]);
        nprocs = undefined (int);
        myrank = 0 (int);
      end global variables;
      begin stack frame 1
        function : MPI_Comm_rank;
        location : 2;
        comm = 1;
        rank = &myrank;
      end stack frame 1;
      begin stack frame 0
        function : main;
        location : 1;
        buf = undefined (real);
      end stack frame 0;
    end process 0;
  end model state
end state 5.

Step 6: State 5
