2atan (example 3.5)

Time bar (total: 1.7s)

start0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated; 0ms collecting garbage

analyze1.0ms (0.1%)

Memory
1.2MiB live, 1.2MiB allocated; 0ms collecting garbage
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%8.1%91.9%0%0%0%0
0%0%8.1%91.9%0%0%0%1
50%4.1%4.1%91.9%0%0%0%2
75%6.1%2%91.9%0%0%0%3
87.5%7.1%1%91.9%0%0%0%4
93.8%7.6%0.5%91.9%0%0%0%5
96.9%7.9%0.3%91.9%0%0%0%6
98.4%8%0.1%91.9%0%0%0%7
99.2%8%0.1%91.9%0%0%0%8
99.6%8.1%0%91.9%0%0%0%9
99.8%8.1%0%91.9%0%0%0%10
99.9%8.1%0%91.9%0%0%0%11
100%8.1%0%91.9%0%0%0%12
Compiler

Compiled 15 to 11 computations (26.7% saved)

sample1.2s (71%)

Memory
25.4MiB live, 821.4MiB allocated; 259ms collecting garbage
Samples
773.0ms7 219×1valid
120.0ms831×2valid
9.0ms206×0valid
Precisions
Click to see histograms. Total time spent on operations: 685.0ms
ival-atan: 334.0ms (48.7% of total)
adjust: 258.0ms (37.7% of total)
ival-sub!: 48.0ms (7% of total)
ival-add!: 46.0ms (6.7% of total)
ival-assert: 0.0ms (0% of total)
ival-and: 0.0ms (0% of total)
ival-<: 0.0ms (0% of total)
Bogosity

preprocess59.0ms (3.4%)

Memory
-5.3MiB live, 40.7MiB allocated; 5ms collecting garbage
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01225
13722
211521
333221
4178121
Stop Event
node-limit
Alt Table
Click to see full alt table
StatusAccuracyProgram
7.9%
(-.f64 (atan.f64 (+.f64 N #s(literal 1 binary64))) (atan.f64 N))
Compiler

Compiled 12 to 12 computations (0% saved)

series2.0ms (0.1%)

Memory
2.2MiB live, 2.2MiB allocated; 0ms collecting garbage
Counts
6 → 9
Calls
Call 1
Inputs
(-.f64 (atan.f64 (+.f64 N #s(literal 1 binary64))) (atan.f64 N))
(atan.f64 (+.f64 N #s(literal 1 binary64)))
(+.f64 N #s(literal 1 binary64))
N
#s(literal 1 binary64)
(atan.f64 N)
Outputs
#s(approx (- (atan (+ N 1)) (atan N)) #s(hole binary64 (- (atan (+ 1 N)) (atan N))))
#s(approx (atan (+ N 1)) #s(hole binary64 (atan (+ 1 N))))
#s(approx (+ N 1) #s(hole binary64 1))
#s(approx (+ N 1) #s(hole binary64 (+ 1 N)))
#s(approx N #s(hole binary64 N))
#s(approx (atan N) #s(hole binary64 (atan N)))
#s(approx (+ N 1) #s(hole binary64 (* N (+ 1 (/ 1 N)))))
#s(approx (- (atan (+ N 1)) (atan N)) #s(hole binary64 (- (atan (- 1 (* -1 N))) (atan N))))
#s(approx (atan (+ N 1)) #s(hole binary64 (atan (- 1 (* -1 N)))))
Calls

3 calls:

TimeVariablePointExpression
1.0ms
N
@-inf
((- (atan (+ N 1)) (atan N)) (atan (+ N 1)) (+ N 1) N 1 (atan N))
0.0ms
N
@inf
((- (atan (+ N 1)) (atan N)) (atan (+ N 1)) (+ N 1) N 1 (atan N))
0.0ms
N
@0
((- (atan (+ N 1)) (atan N)) (atan (+ N 1)) (+ N 1) N 1 (atan N))

rewrite199.0ms (11.6%)

Memory
-1.7MiB live, 188.4MiB allocated; 29ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
030101
03593
117993
269093
3383893
Stop Event
iter-limit
unsound
node-limit
iter-limit
Counts
15 → 15
Calls
Call 1
Inputs
(-.f64 (atan.f64 (+.f64 N #s(literal 1 binary64))) (atan.f64 N))
(atan.f64 (+.f64 N #s(literal 1 binary64)))
(+.f64 N #s(literal 1 binary64))
N
#s(literal 1 binary64)
(atan.f64 N)
#s(approx (- (atan (+ N 1)) (atan N)) #s(hole binary64 (- (atan (+ 1 N)) (atan N))))
#s(approx (atan (+ N 1)) #s(hole binary64 (atan (+ 1 N))))
#s(approx (+ N 1) #s(hole binary64 1))
#s(approx (+ N 1) #s(hole binary64 (+ 1 N)))
#s(approx N #s(hole binary64 N))
#s(approx (atan N) #s(hole binary64 (atan N)))
#s(approx (+ N 1) #s(hole binary64 (* N (+ 1 (/ 1 N)))))
#s(approx (- (atan (+ N 1)) (atan N)) #s(hole binary64 (- (atan (- 1 (* -1 N))) (atan N))))
#s(approx (atan (+ N 1)) #s(hole binary64 (atan (- 1 (* -1 N)))))
Outputs
(-.f64 (atan.f64 (+.f64 N #s(literal 1 binary64))) (atan.f64 N))
(atan.f64 (+.f64 N #s(literal 1 binary64)))
(+.f64 N #s(literal 1 binary64))
N
#s(literal 1 binary64)
(atan.f64 N)
#s(approx (- (atan (+ N 1)) (atan N)) (-.f64 (atan.f64 (+.f64 N #s(literal 1 binary64))) (atan.f64 N)))
#s(approx (atan (+ N 1)) (atan.f64 (+.f64 N #s(literal 1 binary64))))
#s(approx (+ N 1) #s(literal 1 binary64))
#s(approx (+ N 1) (+.f64 N #s(literal 1 binary64)))
#s(approx N N)
#s(approx (atan N) (atan.f64 N))
#s(approx (+ N 1) (+.f64 N #s(literal 1 binary64)))
#s(approx (- (atan (+ N 1)) (atan N)) (-.f64 (atan.f64 (+.f64 N #s(literal 1 binary64))) (atan.f64 N)))
#s(approx (atan (+ N 1)) (atan.f64 (+.f64 N #s(literal 1 binary64))))

eval1.0ms (0%)

Memory
1.0MiB live, 1.0MiB allocated; 0ms collecting garbage
Compiler

Compiled 40 to 27 computations (32.5% saved)

prune1.0ms (0.1%)

Memory
2.5MiB live, 2.5MiB allocated; 0ms collecting garbage
Pruning

2 alts after pruning (1 fresh and 1 done)

PrunedKeptTotal
New516
Fresh000
Picked011
Done000
Total527
Accuracy
7.9%
Counts
7 → 2
Alt Table
Click to see full alt table
StatusAccuracyProgram
7.9%
(-.f64 (atan.f64 (+.f64 N #s(literal 1 binary64))) (atan.f64 N))
2.0%
(-.f64 (atan.f64 #s(approx (+ N 1) #s(literal 1 binary64))) (atan.f64 N))
Compiler

Compiled 14 to 14 computations (0% saved)

series1.0ms (0.1%)

Memory
1.6MiB live, 1.6MiB allocated; 0ms collecting garbage
Counts
6 → 9
Calls
Call 1
Inputs
(-.f64 (atan.f64 #s(approx (+ N 1) #s(literal 1 binary64))) (atan.f64 N))
(atan.f64 #s(approx (+ N 1) #s(literal 1 binary64)))
#s(approx (+ N 1) #s(literal 1 binary64))
#s(literal 1 binary64)
(atan.f64 N)
N
Outputs
#s(approx (- (atan (+ N 1)) (atan N)) #s(hole binary64 (- (atan (+ 1 N)) (atan N))))
#s(approx (atan (+ N 1)) #s(hole binary64 (atan (+ 1 N))))
#s(approx (+ N 1) #s(hole binary64 1))
#s(approx (+ N 1) #s(hole binary64 (+ 1 N)))
#s(approx (atan N) #s(hole binary64 (atan N)))
#s(approx N #s(hole binary64 N))
#s(approx (+ N 1) #s(hole binary64 (* N (+ 1 (/ 1 N)))))
#s(approx (- (atan (+ N 1)) (atan N)) #s(hole binary64 (- (atan (- 1 (* -1 N))) (atan N))))
#s(approx (atan (+ N 1)) #s(hole binary64 (atan (- 1 (* -1 N)))))
Calls

3 calls:

TimeVariablePointExpression
0.0ms
N
@-inf
((- (atan (+ N 1)) (atan N)) (atan (+ N 1)) (+ N 1) 1 (atan N) N)
0.0ms
N
@inf
((- (atan (+ N 1)) (atan N)) (atan (+ N 1)) (+ N 1) 1 (atan N) N)
0.0ms
N
@0
((- (atan (+ N 1)) (atan N)) (atan (+ N 1)) (+ N 1) 1 (atan N) N)

rewrite183.0ms (10.7%)

Memory
1.5MiB live, 132.5MiB allocated; 30ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
029107
03399
119599
280599
3454499
Stop Event
iter-limit
unsound
node-limit
iter-limit
Counts
15 → 9
Calls
Call 1
Inputs
(-.f64 (atan.f64 #s(approx (+ N 1) #s(literal 1 binary64))) (atan.f64 N))
(atan.f64 #s(approx (+ N 1) #s(literal 1 binary64)))
#s(approx (+ N 1) #s(literal 1 binary64))
#s(literal 1 binary64)
(atan.f64 N)
N
#s(approx (- (atan (+ N 1)) (atan N)) #s(hole binary64 (- (atan (+ 1 N)) (atan N))))
#s(approx (atan (+ N 1)) #s(hole binary64 (atan (+ 1 N))))
#s(approx (+ N 1) #s(hole binary64 1))
#s(approx (+ N 1) #s(hole binary64 (+ 1 N)))
#s(approx (atan N) #s(hole binary64 (atan N)))
#s(approx N #s(hole binary64 N))
#s(approx (+ N 1) #s(hole binary64 (* N (+ 1 (/ 1 N)))))
#s(approx (- (atan (+ N 1)) (atan N)) #s(hole binary64 (- (atan (- 1 (* -1 N))) (atan N))))
#s(approx (atan (+ N 1)) #s(hole binary64 (atan (- 1 (* -1 N)))))
Outputs
(-.f64 (atan.f64 #s(approx (+ N 1) #s(literal 1 binary64))) (atan.f64 N))
(atan.f64 #s(approx (+ N 1) #s(literal 1 binary64)))
#s(approx (+ N 1) #s(literal 1 binary64))
#s(literal 1 binary64)
(atan.f64 N)
N
#s(approx (+ N 1) #s(literal 1 binary64))
#s(approx (atan N) (atan.f64 N))
#s(approx N N)

eval0.0ms (0%)

Memory
0.3MiB live, 0.3MiB allocated; 0ms collecting garbage
Compiler

Compiled 13 to 13 computations (0% saved)

prune1.0ms (0.1%)

Memory
1.3MiB live, 1.3MiB allocated; 0ms collecting garbage
Pruning

2 alts after pruning (0 fresh and 2 done)

PrunedKeptTotal
New202
Fresh000
Picked011
Done011
Total224
Accuracy
7.9%
Counts
4 → 2
Alt Table
Click to see full alt table
StatusAccuracyProgram
7.9%
(-.f64 (atan.f64 (+.f64 N #s(literal 1 binary64))) (atan.f64 N))
2.0%
(-.f64 (atan.f64 #s(approx (+ N 1) #s(literal 1 binary64))) (atan.f64 N))
Compiler

Compiled 25 to 25 computations (0% saved)

regimes3.0ms (0.2%)

Memory
3.5MiB live, 3.5MiB allocated; 0ms collecting garbage
Counts
2 → 1
Calls
Call 1
Inputs
(-.f64 (atan.f64 #s(approx (+ N 1) #s(literal 1 binary64))) (atan.f64 N))
(-.f64 (atan.f64 (+.f64 N #s(literal 1 binary64))) (atan.f64 N))
Outputs
(-.f64 (atan.f64 (+.f64 N #s(literal 1 binary64))) (atan.f64 N))
Calls

2 calls:

1.0ms
N
1.0ms
(-.f64 (atan.f64 (+.f64 N #s(literal 1 binary64))) (atan.f64 N))
Results
AccuracySegmentsBranch
7.9%1(-.f64 (atan.f64 (+.f64 N #s(literal 1 binary64))) (atan.f64 N))
7.9%1N
Compiler

Compiled 7 to 7 computations (0% saved)

regimes2.0ms (0.1%)

Memory
2.9MiB live, 2.9MiB allocated; 0ms collecting garbage
Accuracy

Total -0.0b remaining (-0%)

Threshold costs -0b (-0%)

Counts
1 → 1
Calls
Call 1
Inputs
(-.f64 (atan.f64 #s(approx (+ N 1) #s(literal 1 binary64))) (atan.f64 N))
Outputs
(-.f64 (atan.f64 #s(approx (+ N 1) #s(literal 1 binary64))) (atan.f64 N))
Calls

2 calls:

1.0ms
N
1.0ms
(-.f64 (atan.f64 (+.f64 N #s(literal 1 binary64))) (atan.f64 N))
Results
AccuracySegmentsBranch
2.0%1(-.f64 (atan.f64 (+.f64 N #s(literal 1 binary64))) (atan.f64 N))
2.0%1N
Compiler

Compiled 7 to 7 computations (0% saved)

derivations15.0ms (0.9%)

Memory
5.6MiB live, 5.6MiB allocated; 0ms collecting garbage
Stop Event
done
Compiler

Compiled 11 to 11 computations (0% saved)

preprocess30.0ms (1.7%)

Memory
-21.2MiB live, 26.4MiB allocated; 7ms collecting garbage
Compiler

Compiled 33 to 29 computations (12.1% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated; 0ms collecting garbage

Profiling

Loading profile data...