This should be rewritten for `coords = a` as:

```python
b = a[np.array([[0, 1, 3, 4], [7, 3, 6, 4], [4, 5, 1, 6], [1, 6, 3, 4], [2, 6, 3, 1]])] 
np.sum(np.abs(np.linalg.det(b[:, :-1]-b[:, 1:]))) / 6.0
```

This is more the 2x faster than calling these functions:

```python
In [70]: %timeit c4(np.array([a[0], a[1], a[3], a[4]])) + c4(np.array([a[7], a[3], a[6], a[4]])) + c4(np.array([a[4], a[5], a[1], a[6]])) + c4(np.array([a[1], a[6], a[3], a[4]])) + c4(np.array([a[2], a[6], a[3], a[1]]))
10000 loops, best of 3: 126 µs per loop

In [72]: %timeit b = a[np.array([[0, 1, 3, 4], [7, 3, 6, 4], [4, 5, 1, 6], [1, 6, 3, 4], [2, 6, 3, 1]])]; np.sum(np.abs(np.linalg.det(b[:, :-1]-b[:, 1:]))) / 6.0
10000 loops, best of 3: 49.8 µs per loop
```