Do you have indexes on time_intervals and timespans? The first thing that Oracle does while executing this statement is joining those two tables - with a full table scan.
It's a bit hard to say whether a full table scan here is inevitable because I don't understand the semantics of them. It could well be that Oracle needs to touch a big enough part of rows in these tables so that a full-table scan appears (is?) cheaper.
What happens if you remove both tables from query. Just performance-wise...we have to check the semantics a little later then :)