Beckmann Sample, normalization factor

Time bar (total: 17.3s)

start0.0ms (0.0%)

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

analyze33.0ms (0.2%)

Memory
-26.5MiB live, 65.8MiB allocated; 20ms collecting garbage
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0.0%0.0%12.3%87.7%0.0%0.0%0.0%0
0.0%0.0%12.3%87.7%0.0%0.0%0.0%1
50.0%6.2%6.2%87.7%0.0%0.0%0.0%2
50.0%6.2%6.2%87.7%0.0%0.0%0.0%3
75.0%9.2%3.1%87.7%0.0%0.0%0.0%4
75.0%9.2%3.1%87.7%0.0%0.0%0.0%5
87.5%10.8%1.5%87.7%0.0%0.0%0.0%6
87.5%10.8%1.5%87.7%0.0%0.0%0.0%7
93.8%11.5%0.8%87.7%0.0%0.0%0.0%8
93.8%11.5%0.8%87.7%0.0%0.0%0.0%9
96.9%11.9%0.4%87.7%0.0%0.0%0.0%10
96.9%11.9%0.4%87.7%0.0%0.0%0.0%11
98.4%12.1%0.2%87.7%0.0%0.0%0.0%12
Compiler

Compiled 41 to 29 computations (29.3% saved)

sample4.3s (24.9%)

Memory
102.0MiB live, 2 816.6MiB allocated; 795ms collecting garbage
Samples
3.9s8 255×0valid
9.0ms56×0invalid
0.0ms1valid
Precisions
Click to see histograms. Total time spent on operations: 2.9s
ival-add!: 1.2s (42.2% of total, 157.7 MiB)
ival-sqrt: 511.0ms (17.5% of total, 198.5 MiB)
ival-mult!: 491.0ms (16.8% of total, 301.3 MiB)
ival-exp: 394.0ms (13.5% of total, 209.3 MiB)
ival-div!: 139.0ms (4.8% of total, 217.2 MiB)
ival-sub!: 85.0ms (2.9% of total, 140.4 MiB)
ival-neg: 51.0ms (1.7% of total, 129.6 MiB)
adjust: 16.0ms (0.5% of total, 17.2 MiB)
ival-<: 1.0ms (0.0% of total, 1.7 MiB)
ival-pi: 0.0ms (0.0% of total, 0.0 MiB)
ival-assert: 0.0ms (0.0% of total, 0.5 MiB)
ival-and: 0.0ms (0.0% of total, 1.1 MiB)
Bogosity

preprocess611.0ms (3.5%)

Memory
-26.1MiB live, 70.7MiB allocated; 16ms collecting garbage
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
046152
1391138
22687126
321472126
440861126
Stop Event
node-limit
Alt Table
Click to see full alt table
StatusAccuracyProgram
98.1%
(/.f32 #s(literal 1 binary32) (+.f32 (+.f32 #s(literal 1 binary32) c) (*.f32 (*.f32 (/.f32 #s(literal 1 binary32) (sqrt.f32 (PI.f32))) (/.f32 (sqrt.f32 (-.f32 (-.f32 #s(literal 1 binary32) cosTheta) cosTheta)) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta)))))
Compiler

Compiled 50 to 36 computations (28.0% saved)

sample0.0ms (0.0%)

Memory
0.8MiB live, 0.8MiB allocated; 0ms collecting garbage
Calls
Call 1
Inputs
1
(PI)
(sqrt (PI))
(/ 1 (sqrt (PI)))
Outputs
#s(literal 1 binary32)
#s(literal 13176795/4194304 binary32)
#s(literal 14868421/8388608 binary32)
#s(literal 9465531/16777216 binary32)
Samples
0.0ms0valid
Compiler

Compiled 10 to 6 computations (40.0% saved)

Precisions
Click to see histograms. Total time spent on operations: 0.0ms
adjust: 0.0ms (0.0% of total, 0.0 MiB)

series32.0ms (0.2%)

Memory
4.4MiB live, 92.6MiB allocated; 11ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
05405444
Stop Event
iter-limit
Counts
18 → 12
Calls
Call 1
Inputs
#s(literal 1 binary32)
c
(+.f32 #s(literal 1 binary32) c)
(PI.f32)
(sqrt.f32 (PI.f32))
(/.f32 #s(literal 1 binary32) (sqrt.f32 (PI.f32)))
cosTheta
(-.f32 #s(literal 1 binary32) cosTheta)
(-.f32 (-.f32 #s(literal 1 binary32) cosTheta) cosTheta)
(sqrt.f32 (-.f32 (-.f32 #s(literal 1 binary32) cosTheta) cosTheta))
(/.f32 (sqrt.f32 (-.f32 (-.f32 #s(literal 1 binary32) cosTheta) cosTheta)) cosTheta)
(*.f32 (/.f32 #s(literal 1 binary32) (sqrt.f32 (PI.f32))) (/.f32 (sqrt.f32 (-.f32 (-.f32 #s(literal 1 binary32) cosTheta) cosTheta)) cosTheta))
(neg.f32 cosTheta)
(*.f32 (neg.f32 cosTheta) cosTheta)
(exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta))
(*.f32 (*.f32 (/.f32 #s(literal 1 binary32) (sqrt.f32 (PI.f32))) (/.f32 (sqrt.f32 (-.f32 (-.f32 #s(literal 1 binary32) cosTheta) cosTheta)) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta)))
(+.f32 (+.f32 #s(literal 1 binary32) c) (*.f32 (*.f32 (/.f32 #s(literal 1 binary32) (sqrt.f32 (PI.f32))) (/.f32 (sqrt.f32 (-.f32 (-.f32 #s(literal 1 binary32) cosTheta) cosTheta)) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta))))
(/.f32 #s(literal 1 binary32) (+.f32 (+.f32 #s(literal 1 binary32) c) (*.f32 (*.f32 (/.f32 #s(literal 1 binary32) (sqrt.f32 (PI.f32))) (/.f32 (sqrt.f32 (-.f32 (-.f32 #s(literal 1 binary32) cosTheta) cosTheta)) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta)))))
Outputs
#s(approx 1 #s(literal 0 binary32))
#s(approx cosTheta cosTheta)
#s(approx (- 1 cosTheta) #s(literal 1 binary32))
#s(approx (- 1 cosTheta) (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -1 binary32) cosTheta)))
#s(approx (- (- 1 cosTheta) cosTheta) (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -2 binary32) cosTheta)))
#s(approx (sqrt (- (- 1 cosTheta) cosTheta)) (+.f32 #s(literal 1 binary32) (*.f32 cosTheta (-.f32 (*.f32 #s(literal -1/2 binary32) cosTheta) #s(literal 1 binary32)))))
#s(approx (sqrt (- (- 1 cosTheta) cosTheta)) (+.f32 #s(literal 1 binary32) (*.f32 cosTheta (-.f32 (*.f32 cosTheta (-.f32 (*.f32 #s(literal -1/2 binary32) cosTheta) #s(literal 1/2 binary32))) #s(literal 1 binary32)))))
#s(approx (neg cosTheta) (*.f32 #s(literal -1 binary32) cosTheta))
#s(approx (/ 1 (+ (+ 1 c) (* (* (/ 1 (sqrt (PI))) (/ (sqrt (- (- 1 cosTheta) cosTheta)) cosTheta)) (exp (* (neg cosTheta) cosTheta))))) (*.f32 cosTheta (sqrt.f32 (PI.f32))))
#s(approx (- (- 1 cosTheta) cosTheta) (*.f32 #s(literal -2 binary32) cosTheta))
#s(approx c c)
#s(approx (+ 1 c) (+.f32 #s(literal 1 binary32) c))
Calls

6 calls:

TimeVariablePoint
4.0ms
cosTheta
-inf
4.0ms
cosTheta
inf
3.0ms
c
-inf
2.0ms
cosTheta
0
1.0ms
c
0

rewrite1.4s (8.0%)

Memory
4.4MiB live, 191.0MiB allocated; 28ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
018126
033126
1157117
21019110
311486110
443632110
05006818
Stop Event
iter-limit
node-limit
iter-limit
Counts
18 → 0
Calls
Call 1
Inputs
#s(literal 1 binary32)
c
(+.f32 #s(literal 1 binary32) c)
(PI.f32)
(sqrt.f32 (PI.f32))
(/.f32 #s(literal 1 binary32) (sqrt.f32 (PI.f32)))
cosTheta
(-.f32 #s(literal 1 binary32) cosTheta)
(-.f32 (-.f32 #s(literal 1 binary32) cosTheta) cosTheta)
(sqrt.f32 (-.f32 (-.f32 #s(literal 1 binary32) cosTheta) cosTheta))
(/.f32 (sqrt.f32 (-.f32 (-.f32 #s(literal 1 binary32) cosTheta) cosTheta)) cosTheta)
(*.f32 (/.f32 #s(literal 1 binary32) (sqrt.f32 (PI.f32))) (/.f32 (sqrt.f32 (-.f32 (-.f32 #s(literal 1 binary32) cosTheta) cosTheta)) cosTheta))
(neg.f32 cosTheta)
(*.f32 (neg.f32 cosTheta) cosTheta)
(exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta))
(*.f32 (*.f32 (/.f32 #s(literal 1 binary32) (sqrt.f32 (PI.f32))) (/.f32 (sqrt.f32 (-.f32 (-.f32 #s(literal 1 binary32) cosTheta) cosTheta)) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta)))
(+.f32 (+.f32 #s(literal 1 binary32) c) (*.f32 (*.f32 (/.f32 #s(literal 1 binary32) (sqrt.f32 (PI.f32))) (/.f32 (sqrt.f32 (-.f32 (-.f32 #s(literal 1 binary32) cosTheta) cosTheta)) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta))))
(/.f32 #s(literal 1 binary32) (+.f32 (+.f32 #s(literal 1 binary32) c) (*.f32 (*.f32 (/.f32 #s(literal 1 binary32) (sqrt.f32 (PI.f32))) (/.f32 (sqrt.f32 (-.f32 (-.f32 #s(literal 1 binary32) cosTheta) cosTheta)) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta)))))
Outputs

eval2.0ms (0.0%)

Memory
5.6MiB live, 5.7MiB allocated; 0ms collecting garbage
Compiler

Compiled 384 to 105 computations (72.7% saved)

prune2.0ms (0.0%)

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

5 alts after pruning (5 fresh and 0 done)

PrunedKeptTotal
New11516
Fresh000
Picked101
Done000
Total12517
Accuracy
99.6%
Counts
17 → 5
Alt Table
Click to see full alt table
StatusAccuracyProgram
92.9%
(/.f32 #s(literal 1 binary32) (+.f32 (+.f32 #s(literal 1 binary32) c) (*.f32 (*.f32 (/.f32 #s(literal 1 binary32) (sqrt.f32 (PI.f32))) (/.f32 (sqrt.f32 (-.f32 #s(approx (- 1 cosTheta) #s(literal 1 binary32)) cosTheta)) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta)))))
98.1%
(/.f32 #s(literal 1 binary32) (+.f32 (+.f32 #s(literal 1 binary32) c) (*.f32 (*.f32 (/.f32 #s(literal 1 binary32) (sqrt.f32 (PI.f32))) (/.f32 (sqrt.f32 #s(approx (- (- 1 cosTheta) cosTheta) (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -2 binary32) cosTheta)))) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta)))))
98.1%
(/.f32 #s(literal 1 binary32) (+.f32 (+.f32 #s(literal 1 binary32) c) (*.f32 (*.f32 (/.f32 #s(literal 1 binary32) #s(literal 14868421/8388608 binary32)) (/.f32 (sqrt.f32 (-.f32 (-.f32 #s(literal 1 binary32) cosTheta) cosTheta)) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta)))))
98.0%
(/.f32 #s(literal 1 binary32) (+.f32 (+.f32 #s(literal 1 binary32) c) (*.f32 (*.f32 #s(literal 9465531/16777216 binary32) (/.f32 (sqrt.f32 (-.f32 (-.f32 #s(literal 1 binary32) cosTheta) cosTheta)) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta)))))
93.1%
#s(approx (/ 1 (+ (+ 1 c) (* (* (/ 1 (sqrt (PI))) (/ (sqrt (- (- 1 cosTheta) cosTheta)) cosTheta)) (exp (* (neg cosTheta) cosTheta))))) (*.f32 cosTheta (sqrt.f32 (PI.f32))))
Compiler

Compiled 196 to 82 computations (58.2% saved)

sample0.0ms (0.0%)

Memory
1.3MiB live, 1.3MiB allocated; 0ms collecting garbage
Calls
Call 1
Inputs
1
(PI)
(sqrt (PI))
(/ 1 (sqrt (PI)))
14868421/8388608
9465531/16777216
-2
(/ 1 14868421/8388608)
Outputs
#s(literal 1 binary32)
#s(literal 13176795/4194304 binary32)
#s(literal 14868421/8388608 binary32)
#s(literal 9465531/16777216 binary32)
#s(literal 14868421/8388608 binary32)
#s(literal 9465531/16777216 binary32)
#s(literal -2 binary32)
#s(literal 4732765/8388608 binary32)
Samples
0.0ms0valid
Compiler

Compiled 16 to 10 computations (37.5% saved)

Precisions
Click to see histograms. Total time spent on operations: 0.0ms
adjust: 0.0ms (0.0% of total, 0.0 MiB)

series1.2s (7.2%)

Memory
-297.2MiB live, 236.8MiB allocated; 1.9s collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0126113199
Stop Event
iter-limit
Counts
45 → 16
Calls
Call 1
Inputs
#s(literal 1 binary32)
c
(+.f32 #s(literal 1 binary32) c)
(PI.f32)
(sqrt.f32 (PI.f32))
(/.f32 #s(literal 1 binary32) (sqrt.f32 (PI.f32)))
cosTheta
(-.f32 #s(literal 1 binary32) cosTheta)
(-.f32 (-.f32 #s(literal 1 binary32) cosTheta) cosTheta)
(sqrt.f32 (-.f32 (-.f32 #s(literal 1 binary32) cosTheta) cosTheta))
(/.f32 (sqrt.f32 (-.f32 (-.f32 #s(literal 1 binary32) cosTheta) cosTheta)) cosTheta)
(neg.f32 cosTheta)
(*.f32 (neg.f32 cosTheta) cosTheta)
(exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta))
#s(literal 14868421/8388608 binary32)
#s(literal 9465531/16777216 binary32)
#s(approx (- 1 cosTheta) #s(literal 1 binary32))
#s(literal -2 binary32)
(*.f32 #s(literal -2 binary32) cosTheta)
(+.f32 #s(literal 1 binary32) (*.f32 #s(literal -2 binary32) cosTheta))
#s(approx (- (- 1 cosTheta) cosTheta) (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -2 binary32) cosTheta)))
(*.f32 cosTheta (sqrt.f32 (PI.f32)))
#s(approx (/ 1 (+ (+ 1 c) (* (* (/ 1 (sqrt (PI))) (/ (sqrt (- (- 1 cosTheta) cosTheta)) cosTheta)) (exp (* (neg cosTheta) cosTheta))))) (*.f32 cosTheta (sqrt.f32 (PI.f32))))
(/.f32 #s(literal 1 binary32) #s(literal 14868421/8388608 binary32))
(*.f32 (/.f32 #s(literal 1 binary32) #s(literal 14868421/8388608 binary32)) (/.f32 (sqrt.f32 (-.f32 (-.f32 #s(literal 1 binary32) cosTheta) cosTheta)) cosTheta))
(*.f32 (*.f32 (/.f32 #s(literal 1 binary32) #s(literal 14868421/8388608 binary32)) (/.f32 (sqrt.f32 (-.f32 (-.f32 #s(literal 1 binary32) cosTheta) cosTheta)) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta)))
(+.f32 (+.f32 #s(literal 1 binary32) c) (*.f32 (*.f32 (/.f32 #s(literal 1 binary32) #s(literal 14868421/8388608 binary32)) (/.f32 (sqrt.f32 (-.f32 (-.f32 #s(literal 1 binary32) cosTheta) cosTheta)) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta))))
(/.f32 #s(literal 1 binary32) (+.f32 (+.f32 #s(literal 1 binary32) c) (*.f32 (*.f32 (/.f32 #s(literal 1 binary32) #s(literal 14868421/8388608 binary32)) (/.f32 (sqrt.f32 (-.f32 (-.f32 #s(literal 1 binary32) cosTheta) cosTheta)) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta)))))
(*.f32 #s(literal 9465531/16777216 binary32) (/.f32 (sqrt.f32 (-.f32 (-.f32 #s(literal 1 binary32) cosTheta) cosTheta)) cosTheta))
(*.f32 (*.f32 #s(literal 9465531/16777216 binary32) (/.f32 (sqrt.f32 (-.f32 (-.f32 #s(literal 1 binary32) cosTheta) cosTheta)) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta)))
(+.f32 (+.f32 #s(literal 1 binary32) c) (*.f32 (*.f32 #s(literal 9465531/16777216 binary32) (/.f32 (sqrt.f32 (-.f32 (-.f32 #s(literal 1 binary32) cosTheta) cosTheta)) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta))))
(/.f32 #s(literal 1 binary32) (+.f32 (+.f32 #s(literal 1 binary32) c) (*.f32 (*.f32 #s(literal 9465531/16777216 binary32) (/.f32 (sqrt.f32 (-.f32 (-.f32 #s(literal 1 binary32) cosTheta) cosTheta)) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta)))))
(-.f32 #s(approx (- 1 cosTheta) #s(literal 1 binary32)) cosTheta)
(sqrt.f32 (-.f32 #s(approx (- 1 cosTheta) #s(literal 1 binary32)) cosTheta))
(/.f32 (sqrt.f32 (-.f32 #s(approx (- 1 cosTheta) #s(literal 1 binary32)) cosTheta)) cosTheta)
(*.f32 (/.f32 #s(literal 1 binary32) (sqrt.f32 (PI.f32))) (/.f32 (sqrt.f32 (-.f32 #s(approx (- 1 cosTheta) #s(literal 1 binary32)) cosTheta)) cosTheta))
(*.f32 (*.f32 (/.f32 #s(literal 1 binary32) (sqrt.f32 (PI.f32))) (/.f32 (sqrt.f32 (-.f32 #s(approx (- 1 cosTheta) #s(literal 1 binary32)) cosTheta)) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta)))
(+.f32 (+.f32 #s(literal 1 binary32) c) (*.f32 (*.f32 (/.f32 #s(literal 1 binary32) (sqrt.f32 (PI.f32))) (/.f32 (sqrt.f32 (-.f32 #s(approx (- 1 cosTheta) #s(literal 1 binary32)) cosTheta)) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta))))
(/.f32 #s(literal 1 binary32) (+.f32 (+.f32 #s(literal 1 binary32) c) (*.f32 (*.f32 (/.f32 #s(literal 1 binary32) (sqrt.f32 (PI.f32))) (/.f32 (sqrt.f32 (-.f32 #s(approx (- 1 cosTheta) #s(literal 1 binary32)) cosTheta)) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta)))))
(sqrt.f32 #s(approx (- (- 1 cosTheta) cosTheta) (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -2 binary32) cosTheta))))
(/.f32 (sqrt.f32 #s(approx (- (- 1 cosTheta) cosTheta) (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -2 binary32) cosTheta)))) cosTheta)
(*.f32 (/.f32 #s(literal 1 binary32) (sqrt.f32 (PI.f32))) (/.f32 (sqrt.f32 #s(approx (- (- 1 cosTheta) cosTheta) (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -2 binary32) cosTheta)))) cosTheta))
(*.f32 (*.f32 (/.f32 #s(literal 1 binary32) (sqrt.f32 (PI.f32))) (/.f32 (sqrt.f32 #s(approx (- (- 1 cosTheta) cosTheta) (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -2 binary32) cosTheta)))) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta)))
(+.f32 (+.f32 #s(literal 1 binary32) c) (*.f32 (*.f32 (/.f32 #s(literal 1 binary32) (sqrt.f32 (PI.f32))) (/.f32 (sqrt.f32 #s(approx (- (- 1 cosTheta) cosTheta) (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -2 binary32) cosTheta)))) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta))))
(/.f32 #s(literal 1 binary32) (+.f32 (+.f32 #s(literal 1 binary32) c) (*.f32 (*.f32 (/.f32 #s(literal 1 binary32) (sqrt.f32 (PI.f32))) (/.f32 (sqrt.f32 #s(approx (- (- 1 cosTheta) cosTheta) (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -2 binary32) cosTheta)))) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta)))))
Outputs
#s(approx 1 #s(literal 0 binary32))
#s(approx cosTheta cosTheta)
#s(approx (- 1 cosTheta) #s(literal 1 binary32))
#s(approx (- 1 cosTheta) (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -1 binary32) cosTheta)))
#s(approx (- (- 1 cosTheta) cosTheta) (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -2 binary32) cosTheta)))
#s(approx (sqrt (- (- 1 cosTheta) cosTheta)) (+.f32 #s(literal 1 binary32) (*.f32 cosTheta (-.f32 (*.f32 #s(literal -1/2 binary32) cosTheta) #s(literal 1 binary32)))))
#s(approx (sqrt (- (- 1 cosTheta) cosTheta)) (+.f32 #s(literal 1 binary32) (*.f32 cosTheta (-.f32 (*.f32 cosTheta (-.f32 (*.f32 #s(literal -1/2 binary32) cosTheta) #s(literal 1/2 binary32))) #s(literal 1 binary32)))))
#s(approx (neg cosTheta) (*.f32 #s(literal -1 binary32) cosTheta))
#s(approx (* -2 cosTheta) (*.f32 #s(literal -2 binary32) cosTheta))
#s(approx (* cosTheta (sqrt (PI))) (*.f32 cosTheta (sqrt.f32 (PI.f32))))
#s(approx (/ 1 (+ (+ 1 c) (* (* (/ 1 14868421/8388608) (/ (sqrt (- (- 1 cosTheta) cosTheta)) cosTheta)) (exp (* (neg cosTheta) cosTheta))))) (*.f32 #s(literal 14868421/8388608 binary32) cosTheta))
#s(approx (/ 1 (+ (+ 1 c) (* (* (/ 1 14868421/8388608) (/ (sqrt (- (- 1 cosTheta) cosTheta)) cosTheta)) (exp (* (neg cosTheta) cosTheta))))) (*.f32 cosTheta (+.f32 #s(literal 14868421/8388608 binary32) (*.f32 #s(literal -221069943033241/70368744177664 binary32) (*.f32 cosTheta (+.f32 #s(literal 6479813/14868421 binary32) c))))))
#s(approx (/ 1 (+ (+ 1 c) (* (* 9465531/16777216 (/ (sqrt (- (- 1 cosTheta) cosTheta)) cosTheta)) (exp (* (neg cosTheta) cosTheta))))) (*.f32 #s(literal 16777216/9465531 binary32) cosTheta))
#s(approx (/ 1 (+ (+ 1 c) (* (* 9465531/16777216 (/ (sqrt (- (- 1 cosTheta) cosTheta)) cosTheta)) (exp (* (neg cosTheta) cosTheta))))) (*.f32 cosTheta (+.f32 #s(literal 16777216/9465531 binary32) (*.f32 #s(literal -281474976710656/89596277111961 binary32) (*.f32 cosTheta (+.f32 #s(literal 7311685/16777216 binary32) c))))))
#s(approx c c)
#s(approx (+ 1 c) (+.f32 #s(literal 1 binary32) c))
Calls

6 calls:

TimeVariablePoint
8.0ms
cosTheta
inf
4.0ms
cosTheta
-inf
3.0ms
cosTheta
0
2.0ms
c
0
1.0ms
c
inf

rewrite996.0ms (5.8%)

Memory
-3.4MiB live, 91.3MiB allocated; 14ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
060487
098487
1394468
22670446
321847446
442547446
05016645
Stop Event
iter-limit
node-limit
iter-limit
Counts
45 → 0
Calls
Call 1
Inputs
#s(literal 1 binary32)
c
(+.f32 #s(literal 1 binary32) c)
(PI.f32)
(sqrt.f32 (PI.f32))
(/.f32 #s(literal 1 binary32) (sqrt.f32 (PI.f32)))
cosTheta
(-.f32 #s(literal 1 binary32) cosTheta)
(-.f32 (-.f32 #s(literal 1 binary32) cosTheta) cosTheta)
(sqrt.f32 (-.f32 (-.f32 #s(literal 1 binary32) cosTheta) cosTheta))
(/.f32 (sqrt.f32 (-.f32 (-.f32 #s(literal 1 binary32) cosTheta) cosTheta)) cosTheta)
(neg.f32 cosTheta)
(*.f32 (neg.f32 cosTheta) cosTheta)
(exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta))
#s(literal 14868421/8388608 binary32)
#s(literal 9465531/16777216 binary32)
#s(approx (- 1 cosTheta) #s(literal 1 binary32))
#s(literal -2 binary32)
(*.f32 #s(literal -2 binary32) cosTheta)
(+.f32 #s(literal 1 binary32) (*.f32 #s(literal -2 binary32) cosTheta))
#s(approx (- (- 1 cosTheta) cosTheta) (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -2 binary32) cosTheta)))
(*.f32 cosTheta (sqrt.f32 (PI.f32)))
#s(approx (/ 1 (+ (+ 1 c) (* (* (/ 1 (sqrt (PI))) (/ (sqrt (- (- 1 cosTheta) cosTheta)) cosTheta)) (exp (* (neg cosTheta) cosTheta))))) (*.f32 cosTheta (sqrt.f32 (PI.f32))))
(/.f32 #s(literal 1 binary32) #s(literal 14868421/8388608 binary32))
(*.f32 (/.f32 #s(literal 1 binary32) #s(literal 14868421/8388608 binary32)) (/.f32 (sqrt.f32 (-.f32 (-.f32 #s(literal 1 binary32) cosTheta) cosTheta)) cosTheta))
(*.f32 (*.f32 (/.f32 #s(literal 1 binary32) #s(literal 14868421/8388608 binary32)) (/.f32 (sqrt.f32 (-.f32 (-.f32 #s(literal 1 binary32) cosTheta) cosTheta)) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta)))
(+.f32 (+.f32 #s(literal 1 binary32) c) (*.f32 (*.f32 (/.f32 #s(literal 1 binary32) #s(literal 14868421/8388608 binary32)) (/.f32 (sqrt.f32 (-.f32 (-.f32 #s(literal 1 binary32) cosTheta) cosTheta)) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta))))
(/.f32 #s(literal 1 binary32) (+.f32 (+.f32 #s(literal 1 binary32) c) (*.f32 (*.f32 (/.f32 #s(literal 1 binary32) #s(literal 14868421/8388608 binary32)) (/.f32 (sqrt.f32 (-.f32 (-.f32 #s(literal 1 binary32) cosTheta) cosTheta)) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta)))))
(*.f32 #s(literal 9465531/16777216 binary32) (/.f32 (sqrt.f32 (-.f32 (-.f32 #s(literal 1 binary32) cosTheta) cosTheta)) cosTheta))
(*.f32 (*.f32 #s(literal 9465531/16777216 binary32) (/.f32 (sqrt.f32 (-.f32 (-.f32 #s(literal 1 binary32) cosTheta) cosTheta)) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta)))
(+.f32 (+.f32 #s(literal 1 binary32) c) (*.f32 (*.f32 #s(literal 9465531/16777216 binary32) (/.f32 (sqrt.f32 (-.f32 (-.f32 #s(literal 1 binary32) cosTheta) cosTheta)) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta))))
(/.f32 #s(literal 1 binary32) (+.f32 (+.f32 #s(literal 1 binary32) c) (*.f32 (*.f32 #s(literal 9465531/16777216 binary32) (/.f32 (sqrt.f32 (-.f32 (-.f32 #s(literal 1 binary32) cosTheta) cosTheta)) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta)))))
(-.f32 #s(approx (- 1 cosTheta) #s(literal 1 binary32)) cosTheta)
(sqrt.f32 (-.f32 #s(approx (- 1 cosTheta) #s(literal 1 binary32)) cosTheta))
(/.f32 (sqrt.f32 (-.f32 #s(approx (- 1 cosTheta) #s(literal 1 binary32)) cosTheta)) cosTheta)
(*.f32 (/.f32 #s(literal 1 binary32) (sqrt.f32 (PI.f32))) (/.f32 (sqrt.f32 (-.f32 #s(approx (- 1 cosTheta) #s(literal 1 binary32)) cosTheta)) cosTheta))
(*.f32 (*.f32 (/.f32 #s(literal 1 binary32) (sqrt.f32 (PI.f32))) (/.f32 (sqrt.f32 (-.f32 #s(approx (- 1 cosTheta) #s(literal 1 binary32)) cosTheta)) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta)))
(+.f32 (+.f32 #s(literal 1 binary32) c) (*.f32 (*.f32 (/.f32 #s(literal 1 binary32) (sqrt.f32 (PI.f32))) (/.f32 (sqrt.f32 (-.f32 #s(approx (- 1 cosTheta) #s(literal 1 binary32)) cosTheta)) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta))))
(/.f32 #s(literal 1 binary32) (+.f32 (+.f32 #s(literal 1 binary32) c) (*.f32 (*.f32 (/.f32 #s(literal 1 binary32) (sqrt.f32 (PI.f32))) (/.f32 (sqrt.f32 (-.f32 #s(approx (- 1 cosTheta) #s(literal 1 binary32)) cosTheta)) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta)))))
(sqrt.f32 #s(approx (- (- 1 cosTheta) cosTheta) (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -2 binary32) cosTheta))))
(/.f32 (sqrt.f32 #s(approx (- (- 1 cosTheta) cosTheta) (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -2 binary32) cosTheta)))) cosTheta)
(*.f32 (/.f32 #s(literal 1 binary32) (sqrt.f32 (PI.f32))) (/.f32 (sqrt.f32 #s(approx (- (- 1 cosTheta) cosTheta) (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -2 binary32) cosTheta)))) cosTheta))
(*.f32 (*.f32 (/.f32 #s(literal 1 binary32) (sqrt.f32 (PI.f32))) (/.f32 (sqrt.f32 #s(approx (- (- 1 cosTheta) cosTheta) (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -2 binary32) cosTheta)))) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta)))
(+.f32 (+.f32 #s(literal 1 binary32) c) (*.f32 (*.f32 (/.f32 #s(literal 1 binary32) (sqrt.f32 (PI.f32))) (/.f32 (sqrt.f32 #s(approx (- (- 1 cosTheta) cosTheta) (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -2 binary32) cosTheta)))) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta))))
(/.f32 #s(literal 1 binary32) (+.f32 (+.f32 #s(literal 1 binary32) c) (*.f32 (*.f32 (/.f32 #s(literal 1 binary32) (sqrt.f32 (PI.f32))) (/.f32 (sqrt.f32 #s(approx (- (- 1 cosTheta) cosTheta) (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -2 binary32) cosTheta)))) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta)))))
Outputs

eval3.0ms (0.0%)

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

Compiled 960 to 178 computations (81.5% saved)

prune4.0ms (0.0%)

Memory
15.4MiB live, 15.3MiB allocated; 0ms collecting garbage
Pruning

9 alts after pruning (8 fresh and 1 done)

PrunedKeptTotal
New39847
Fresh000
Picked415
Done000
Total43952
Accuracy
99.9%
Counts
52 → 9
Alt Table
Click to see full alt table
StatusAccuracyProgram
98.1%
(/.f32 #s(literal 1 binary32) (+.f32 (+.f32 #s(literal 1 binary32) c) (*.f32 (*.f32 (/.f32 #s(literal 1 binary32) #s(literal 14868421/8388608 binary32)) (/.f32 (sqrt.f32 #s(approx (- (- 1 cosTheta) cosTheta) (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -2 binary32) cosTheta)))) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta)))))
98.0%
(/.f32 #s(literal 1 binary32) (+.f32 (+.f32 #s(literal 1 binary32) c) (*.f32 (*.f32 #s(literal 9465531/16777216 binary32) (/.f32 (sqrt.f32 (-.f32 (-.f32 #s(literal 1 binary32) cosTheta) cosTheta)) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta)))))
92.8%
(/.f32 #s(literal 1 binary32) (+.f32 (+.f32 #s(literal 1 binary32) c) (*.f32 (*.f32 #s(literal 9465531/16777216 binary32) (/.f32 (sqrt.f32 (-.f32 #s(approx (- 1 cosTheta) #s(literal 1 binary32)) cosTheta)) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta)))))
98.1%
(/.f32 #s(literal 1 binary32) (+.f32 (+.f32 #s(literal 1 binary32) c) (*.f32 (*.f32 #s(literal 9465531/16777216 binary32) (/.f32 (sqrt.f32 #s(approx (- (- 1 cosTheta) cosTheta) (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -2 binary32) cosTheta)))) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta)))))
98.1%
(/.f32 #s(literal 1 binary32) (+.f32 (+.f32 #s(literal 1 binary32) c) (*.f32 (*.f32 #s(literal 4732765/8388608 binary32) (/.f32 (sqrt.f32 (-.f32 (-.f32 #s(literal 1 binary32) cosTheta) cosTheta)) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta)))))
93.1%
#s(approx (/ 1 (+ (+ 1 c) (* (* (/ 1 (sqrt (PI))) (/ (sqrt (- (- 1 cosTheta) cosTheta)) cosTheta)) (exp (* (neg cosTheta) cosTheta))))) (*.f32 cosTheta #s(literal 14868421/8388608 binary32)))
96.7%
#s(approx (/ 1 (+ (+ 1 c) (* (* (/ 1 14868421/8388608) (/ (sqrt (- (- 1 cosTheta) cosTheta)) cosTheta)) (exp (* (neg cosTheta) cosTheta))))) (*.f32 cosTheta (+.f32 #s(literal 14868421/8388608 binary32) (*.f32 #s(literal -221069943033241/70368744177664 binary32) (*.f32 cosTheta (+.f32 #s(literal 6479813/14868421 binary32) c))))))
96.3%
#s(approx (/ 1 (+ (+ 1 c) (* (* 9465531/16777216 (/ (sqrt (- (- 1 cosTheta) cosTheta)) cosTheta)) (exp (* (neg cosTheta) cosTheta))))) (*.f32 cosTheta (+.f32 #s(literal 16777216/9465531 binary32) (*.f32 #s(literal -281474976710656/89596277111961 binary32) (*.f32 cosTheta (+.f32 #s(literal 7311685/16777216 binary32) c))))))
92.9%
#s(approx (/ 1 (+ (+ 1 c) (* (* 9465531/16777216 (/ (sqrt (- (- 1 cosTheta) cosTheta)) cosTheta)) (exp (* (neg cosTheta) cosTheta))))) (*.f32 #s(literal 16777216/9465531 binary32) cosTheta))
Compiler

Compiled 254 to 114 computations (55.1% saved)

sample1.0ms (0.0%)

Memory
1.9MiB live, 1.9MiB allocated; 0ms collecting garbage
Calls
Call 1
Inputs
1
14868421/8388608
9465531/16777216
-2
(/ 1 14868421/8388608)
16777216/9465531
-281474976710656/89596277111961
7311685/16777216
Outputs
#s(literal 1 binary32)
#s(literal 14868421/8388608 binary32)
#s(literal 9465531/16777216 binary32)
#s(literal -2 binary32)
#s(literal 4732765/8388608 binary32)
#s(literal 3717105/2097152 binary32)
#s(literal -13176793/4194304 binary32)
#s(literal 7311685/16777216 binary32)
Samples
0.0ms0valid
Compiler

Compiled 12 to 10 computations (16.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 0.0ms
adjust: 0.0ms (0.0% of total, 0.0 MiB)

series895.0ms (5.2%)

Memory
-21.4MiB live, 214.5MiB allocated; 16ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
09709151
Stop Event
iter-limit
Counts
43 → 30
Calls
Call 1
Inputs
#s(literal 1 binary32)
c
(+.f32 #s(literal 1 binary32) c)
cosTheta
(neg.f32 cosTheta)
(*.f32 (neg.f32 cosTheta) cosTheta)
(exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta))
#s(literal 14868421/8388608 binary32)
#s(literal 9465531/16777216 binary32)
#s(approx (- 1 cosTheta) #s(literal 1 binary32))
#s(literal -2 binary32)
(*.f32 #s(literal -2 binary32) cosTheta)
(+.f32 #s(literal 1 binary32) (*.f32 #s(literal -2 binary32) cosTheta))
#s(approx (- (- 1 cosTheta) cosTheta) (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -2 binary32) cosTheta)))
(/.f32 #s(literal 1 binary32) #s(literal 14868421/8388608 binary32))
(-.f32 #s(approx (- 1 cosTheta) #s(literal 1 binary32)) cosTheta)
(sqrt.f32 (-.f32 #s(approx (- 1 cosTheta) #s(literal 1 binary32)) cosTheta))
(/.f32 (sqrt.f32 (-.f32 #s(approx (- 1 cosTheta) #s(literal 1 binary32)) cosTheta)) cosTheta)
(sqrt.f32 #s(approx (- (- 1 cosTheta) cosTheta) (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -2 binary32) cosTheta))))
(/.f32 (sqrt.f32 #s(approx (- (- 1 cosTheta) cosTheta) (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -2 binary32) cosTheta)))) cosTheta)
#s(literal 16777216/9465531 binary32)
(*.f32 #s(literal 16777216/9465531 binary32) cosTheta)
#s(approx (/ 1 (+ (+ 1 c) (* (* 9465531/16777216 (/ (sqrt (- (- 1 cosTheta) cosTheta)) cosTheta)) (exp (* (neg cosTheta) cosTheta))))) (*.f32 #s(literal 16777216/9465531 binary32) cosTheta))
#s(literal -281474976710656/89596277111961 binary32)
#s(literal 7311685/16777216 binary32)
(+.f32 #s(literal 7311685/16777216 binary32) c)
(*.f32 cosTheta (+.f32 #s(literal 7311685/16777216 binary32) c))
(*.f32 #s(literal -281474976710656/89596277111961 binary32) (*.f32 cosTheta (+.f32 #s(literal 7311685/16777216 binary32) c)))
(+.f32 #s(literal 16777216/9465531 binary32) (*.f32 #s(literal -281474976710656/89596277111961 binary32) (*.f32 cosTheta (+.f32 #s(literal 7311685/16777216 binary32) c))))
(*.f32 cosTheta (+.f32 #s(literal 16777216/9465531 binary32) (*.f32 #s(literal -281474976710656/89596277111961 binary32) (*.f32 cosTheta (+.f32 #s(literal 7311685/16777216 binary32) c)))))
#s(approx (/ 1 (+ (+ 1 c) (* (* 9465531/16777216 (/ (sqrt (- (- 1 cosTheta) cosTheta)) cosTheta)) (exp (* (neg cosTheta) cosTheta))))) (*.f32 cosTheta (+.f32 #s(literal 16777216/9465531 binary32) (*.f32 #s(literal -281474976710656/89596277111961 binary32) (*.f32 cosTheta (+.f32 #s(literal 7311685/16777216 binary32) c))))))
(*.f32 (/.f32 #s(literal 1 binary32) #s(literal 14868421/8388608 binary32)) (/.f32 (sqrt.f32 #s(approx (- (- 1 cosTheta) cosTheta) (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -2 binary32) cosTheta)))) cosTheta))
(*.f32 (*.f32 (/.f32 #s(literal 1 binary32) #s(literal 14868421/8388608 binary32)) (/.f32 (sqrt.f32 #s(approx (- (- 1 cosTheta) cosTheta) (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -2 binary32) cosTheta)))) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta)))
(+.f32 (+.f32 #s(literal 1 binary32) c) (*.f32 (*.f32 (/.f32 #s(literal 1 binary32) #s(literal 14868421/8388608 binary32)) (/.f32 (sqrt.f32 #s(approx (- (- 1 cosTheta) cosTheta) (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -2 binary32) cosTheta)))) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta))))
(/.f32 #s(literal 1 binary32) (+.f32 (+.f32 #s(literal 1 binary32) c) (*.f32 (*.f32 (/.f32 #s(literal 1 binary32) #s(literal 14868421/8388608 binary32)) (/.f32 (sqrt.f32 #s(approx (- (- 1 cosTheta) cosTheta) (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -2 binary32) cosTheta)))) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta)))))
(*.f32 #s(literal 9465531/16777216 binary32) (/.f32 (sqrt.f32 (-.f32 #s(approx (- 1 cosTheta) #s(literal 1 binary32)) cosTheta)) cosTheta))
(*.f32 (*.f32 #s(literal 9465531/16777216 binary32) (/.f32 (sqrt.f32 (-.f32 #s(approx (- 1 cosTheta) #s(literal 1 binary32)) cosTheta)) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta)))
(+.f32 (+.f32 #s(literal 1 binary32) c) (*.f32 (*.f32 #s(literal 9465531/16777216 binary32) (/.f32 (sqrt.f32 (-.f32 #s(approx (- 1 cosTheta) #s(literal 1 binary32)) cosTheta)) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta))))
(/.f32 #s(literal 1 binary32) (+.f32 (+.f32 #s(literal 1 binary32) c) (*.f32 (*.f32 #s(literal 9465531/16777216 binary32) (/.f32 (sqrt.f32 (-.f32 #s(approx (- 1 cosTheta) #s(literal 1 binary32)) cosTheta)) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta)))))
(*.f32 #s(literal 9465531/16777216 binary32) (/.f32 (sqrt.f32 #s(approx (- (- 1 cosTheta) cosTheta) (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -2 binary32) cosTheta)))) cosTheta))
(*.f32 (*.f32 #s(literal 9465531/16777216 binary32) (/.f32 (sqrt.f32 #s(approx (- (- 1 cosTheta) cosTheta) (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -2 binary32) cosTheta)))) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta)))
(+.f32 (+.f32 #s(literal 1 binary32) c) (*.f32 (*.f32 #s(literal 9465531/16777216 binary32) (/.f32 (sqrt.f32 #s(approx (- (- 1 cosTheta) cosTheta) (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -2 binary32) cosTheta)))) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta))))
(/.f32 #s(literal 1 binary32) (+.f32 (+.f32 #s(literal 1 binary32) c) (*.f32 (*.f32 #s(literal 9465531/16777216 binary32) (/.f32 (sqrt.f32 #s(approx (- (- 1 cosTheta) cosTheta) (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -2 binary32) cosTheta)))) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta)))))
Outputs
#s(approx 1 #s(literal 0 binary32))
#s(approx cosTheta cosTheta)
#s(approx (neg cosTheta) (*.f32 #s(literal -1 binary32) cosTheta))
#s(approx (exp (* (neg cosTheta) cosTheta)) #s(literal 1 binary32))
#s(approx (- 1 cosTheta) (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -1 binary32) cosTheta)))
#s(approx (* -2 cosTheta) (*.f32 #s(literal -2 binary32) cosTheta))
#s(approx (+ 1 (* -2 cosTheta)) (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -2 binary32) cosTheta)))
#s(approx (sqrt (- (- 1 cosTheta) cosTheta)) (+.f32 #s(literal 1 binary32) (*.f32 cosTheta (-.f32 (*.f32 #s(literal -1/2 binary32) cosTheta) #s(literal 1 binary32)))))
#s(approx (sqrt (- (- 1 cosTheta) cosTheta)) (+.f32 #s(literal 1 binary32) (*.f32 cosTheta (-.f32 (*.f32 cosTheta (-.f32 (*.f32 #s(literal -1/2 binary32) cosTheta) #s(literal 1/2 binary32))) #s(literal 1 binary32)))))
#s(approx (* 16777216/9465531 cosTheta) (*.f32 #s(literal 16777216/9465531 binary32) cosTheta))
#s(approx (/ 1 (+ (+ 1 c) (* (* 9465531/16777216 (/ (sqrt (- (- 1 cosTheta) cosTheta)) cosTheta)) (exp (* (neg cosTheta) cosTheta))))) (*.f32 cosTheta (+.f32 #s(literal 16777216/9465531 binary32) (*.f32 #s(literal -281474976710656/89596277111961 binary32) (*.f32 cosTheta (+.f32 #s(literal 7311685/16777216 binary32) c))))))
#s(approx (* cosTheta (+ 7311685/16777216 c)) (*.f32 cosTheta (+.f32 #s(literal 7311685/16777216 binary32) c)))
#s(approx (* -281474976710656/89596277111961 (* cosTheta (+ 7311685/16777216 c))) (*.f32 #s(literal -281474976710656/89596277111961 binary32) (*.f32 cosTheta (+.f32 #s(literal 7311685/16777216 binary32) c))))
#s(approx (+ 16777216/9465531 (* -281474976710656/89596277111961 (* cosTheta (+ 7311685/16777216 c)))) #s(literal 16777216/9465531 binary32))
#s(approx (+ 16777216/9465531 (* -281474976710656/89596277111961 (* cosTheta (+ 7311685/16777216 c)))) (+.f32 #s(literal 16777216/9465531 binary32) (*.f32 #s(literal -281474976710656/89596277111961 binary32) (*.f32 cosTheta (+.f32 #s(literal 7311685/16777216 binary32) c)))))
#s(approx (/ 1 (+ (+ 1 c) (* (* (/ 1 14868421/8388608) (/ (sqrt (- (- 1 cosTheta) cosTheta)) cosTheta)) (exp (* (neg cosTheta) cosTheta))))) (*.f32 #s(literal 14868421/8388608 binary32) cosTheta))
#s(approx (/ 1 (+ (+ 1 c) (* (* (/ 1 14868421/8388608) (/ (sqrt (- (- 1 cosTheta) cosTheta)) cosTheta)) (exp (* (neg cosTheta) cosTheta))))) (*.f32 cosTheta (+.f32 #s(literal 14868421/8388608 binary32) (*.f32 #s(literal -221069943033241/70368744177664 binary32) (*.f32 cosTheta (+.f32 #s(literal 6479813/14868421 binary32) c))))))
#s(approx c c)
#s(approx (+ 1 c) (+.f32 #s(literal 1 binary32) c))
#s(approx (+ 7311685/16777216 c) #s(literal 7311685/16777216 binary32))
#s(approx (+ 7311685/16777216 c) (+.f32 #s(literal 7311685/16777216 binary32) c))
#s(approx (* cosTheta (+ 7311685/16777216 c)) (*.f32 #s(literal 7311685/16777216 binary32) cosTheta))
#s(approx (* cosTheta (+ 7311685/16777216 c)) (fma.f32 #s(literal 7311685/16777216 binary32) cosTheta (*.f32 c cosTheta)))
#s(approx (* -281474976710656/89596277111961 (* cosTheta (+ 7311685/16777216 c))) (*.f32 #s(literal -122669718568960/89596277111961 binary32) cosTheta))
#s(approx (* -281474976710656/89596277111961 (* cosTheta (+ 7311685/16777216 c))) (fma.f32 #s(literal -281474976710656/89596277111961 binary32) (*.f32 c cosTheta) (*.f32 #s(literal -122669718568960/89596277111961 binary32) cosTheta)))
#s(approx (+ 16777216/9465531 (* -281474976710656/89596277111961 (* cosTheta (+ 7311685/16777216 c)))) (+.f32 #s(literal 16777216/9465531 binary32) (*.f32 #s(literal -122669718568960/89596277111961 binary32) cosTheta)))
#s(approx (+ 16777216/9465531 (* -281474976710656/89596277111961 (* cosTheta (+ 7311685/16777216 c)))) (+.f32 #s(literal 16777216/9465531 binary32) (fma.f32 #s(literal -281474976710656/89596277111961 binary32) (*.f32 c cosTheta) (*.f32 #s(literal -122669718568960/89596277111961 binary32) cosTheta))))
#s(approx (* cosTheta (+ 16777216/9465531 (* -281474976710656/89596277111961 (* cosTheta (+ 7311685/16777216 c))))) (*.f32 cosTheta (+.f32 #s(literal 16777216/9465531 binary32) (*.f32 #s(literal -122669718568960/89596277111961 binary32) cosTheta))))
#s(approx (* cosTheta (+ 7311685/16777216 c)) (*.f32 c cosTheta))
#s(approx (* -281474976710656/89596277111961 (* cosTheta (+ 7311685/16777216 c))) (*.f32 #s(literal -281474976710656/89596277111961 binary32) (*.f32 c cosTheta)))
Calls

6 calls:

TimeVariablePoint
3.0ms
cosTheta
0
2.0ms
cosTheta
inf
2.0ms
cosTheta
-inf
1.0ms
c
0
1.0ms
c
inf

rewrite923.0ms (5.3%)

Memory
17.6MiB live, 159.6MiB allocated; 12ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
055457
086457
1369457
22507446
321940446
439998446
05079043
Stop Event
iter-limit
node-limit
iter-limit
Counts
43 → 0
Calls
Call 1
Inputs
#s(literal 1 binary32)
c
(+.f32 #s(literal 1 binary32) c)
cosTheta
(neg.f32 cosTheta)
(*.f32 (neg.f32 cosTheta) cosTheta)
(exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta))
#s(literal 14868421/8388608 binary32)
#s(literal 9465531/16777216 binary32)
#s(approx (- 1 cosTheta) #s(literal 1 binary32))
#s(literal -2 binary32)
(*.f32 #s(literal -2 binary32) cosTheta)
(+.f32 #s(literal 1 binary32) (*.f32 #s(literal -2 binary32) cosTheta))
#s(approx (- (- 1 cosTheta) cosTheta) (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -2 binary32) cosTheta)))
(/.f32 #s(literal 1 binary32) #s(literal 14868421/8388608 binary32))
(-.f32 #s(approx (- 1 cosTheta) #s(literal 1 binary32)) cosTheta)
(sqrt.f32 (-.f32 #s(approx (- 1 cosTheta) #s(literal 1 binary32)) cosTheta))
(/.f32 (sqrt.f32 (-.f32 #s(approx (- 1 cosTheta) #s(literal 1 binary32)) cosTheta)) cosTheta)
(sqrt.f32 #s(approx (- (- 1 cosTheta) cosTheta) (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -2 binary32) cosTheta))))
(/.f32 (sqrt.f32 #s(approx (- (- 1 cosTheta) cosTheta) (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -2 binary32) cosTheta)))) cosTheta)
#s(literal 16777216/9465531 binary32)
(*.f32 #s(literal 16777216/9465531 binary32) cosTheta)
#s(approx (/ 1 (+ (+ 1 c) (* (* 9465531/16777216 (/ (sqrt (- (- 1 cosTheta) cosTheta)) cosTheta)) (exp (* (neg cosTheta) cosTheta))))) (*.f32 #s(literal 16777216/9465531 binary32) cosTheta))
#s(literal -281474976710656/89596277111961 binary32)
#s(literal 7311685/16777216 binary32)
(+.f32 #s(literal 7311685/16777216 binary32) c)
(*.f32 cosTheta (+.f32 #s(literal 7311685/16777216 binary32) c))
(*.f32 #s(literal -281474976710656/89596277111961 binary32) (*.f32 cosTheta (+.f32 #s(literal 7311685/16777216 binary32) c)))
(+.f32 #s(literal 16777216/9465531 binary32) (*.f32 #s(literal -281474976710656/89596277111961 binary32) (*.f32 cosTheta (+.f32 #s(literal 7311685/16777216 binary32) c))))
(*.f32 cosTheta (+.f32 #s(literal 16777216/9465531 binary32) (*.f32 #s(literal -281474976710656/89596277111961 binary32) (*.f32 cosTheta (+.f32 #s(literal 7311685/16777216 binary32) c)))))
#s(approx (/ 1 (+ (+ 1 c) (* (* 9465531/16777216 (/ (sqrt (- (- 1 cosTheta) cosTheta)) cosTheta)) (exp (* (neg cosTheta) cosTheta))))) (*.f32 cosTheta (+.f32 #s(literal 16777216/9465531 binary32) (*.f32 #s(literal -281474976710656/89596277111961 binary32) (*.f32 cosTheta (+.f32 #s(literal 7311685/16777216 binary32) c))))))
(*.f32 (/.f32 #s(literal 1 binary32) #s(literal 14868421/8388608 binary32)) (/.f32 (sqrt.f32 #s(approx (- (- 1 cosTheta) cosTheta) (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -2 binary32) cosTheta)))) cosTheta))
(*.f32 (*.f32 (/.f32 #s(literal 1 binary32) #s(literal 14868421/8388608 binary32)) (/.f32 (sqrt.f32 #s(approx (- (- 1 cosTheta) cosTheta) (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -2 binary32) cosTheta)))) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta)))
(+.f32 (+.f32 #s(literal 1 binary32) c) (*.f32 (*.f32 (/.f32 #s(literal 1 binary32) #s(literal 14868421/8388608 binary32)) (/.f32 (sqrt.f32 #s(approx (- (- 1 cosTheta) cosTheta) (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -2 binary32) cosTheta)))) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta))))
(/.f32 #s(literal 1 binary32) (+.f32 (+.f32 #s(literal 1 binary32) c) (*.f32 (*.f32 (/.f32 #s(literal 1 binary32) #s(literal 14868421/8388608 binary32)) (/.f32 (sqrt.f32 #s(approx (- (- 1 cosTheta) cosTheta) (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -2 binary32) cosTheta)))) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta)))))
(*.f32 #s(literal 9465531/16777216 binary32) (/.f32 (sqrt.f32 (-.f32 #s(approx (- 1 cosTheta) #s(literal 1 binary32)) cosTheta)) cosTheta))
(*.f32 (*.f32 #s(literal 9465531/16777216 binary32) (/.f32 (sqrt.f32 (-.f32 #s(approx (- 1 cosTheta) #s(literal 1 binary32)) cosTheta)) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta)))
(+.f32 (+.f32 #s(literal 1 binary32) c) (*.f32 (*.f32 #s(literal 9465531/16777216 binary32) (/.f32 (sqrt.f32 (-.f32 #s(approx (- 1 cosTheta) #s(literal 1 binary32)) cosTheta)) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta))))
(/.f32 #s(literal 1 binary32) (+.f32 (+.f32 #s(literal 1 binary32) c) (*.f32 (*.f32 #s(literal 9465531/16777216 binary32) (/.f32 (sqrt.f32 (-.f32 #s(approx (- 1 cosTheta) #s(literal 1 binary32)) cosTheta)) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta)))))
(*.f32 #s(literal 9465531/16777216 binary32) (/.f32 (sqrt.f32 #s(approx (- (- 1 cosTheta) cosTheta) (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -2 binary32) cosTheta)))) cosTheta))
(*.f32 (*.f32 #s(literal 9465531/16777216 binary32) (/.f32 (sqrt.f32 #s(approx (- (- 1 cosTheta) cosTheta) (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -2 binary32) cosTheta)))) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta)))
(+.f32 (+.f32 #s(literal 1 binary32) c) (*.f32 (*.f32 #s(literal 9465531/16777216 binary32) (/.f32 (sqrt.f32 #s(approx (- (- 1 cosTheta) cosTheta) (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -2 binary32) cosTheta)))) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta))))
(/.f32 #s(literal 1 binary32) (+.f32 (+.f32 #s(literal 1 binary32) c) (*.f32 (*.f32 #s(literal 9465531/16777216 binary32) (/.f32 (sqrt.f32 #s(approx (- (- 1 cosTheta) cosTheta) (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -2 binary32) cosTheta)))) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta)))))
Outputs

eval5.0ms (0.0%)

Memory
-1.5MiB live, 45.2MiB allocated; 1ms collecting garbage
Compiler

Compiled 866 to 156 computations (82.0% saved)

prune6.0ms (0.0%)

Memory
8.8MiB live, 56.5MiB allocated; 1ms collecting garbage
Pruning

11 alts after pruning (8 fresh and 3 done)

PrunedKeptTotal
New50555
Fresh033
Picked325
Done011
Total531164
Accuracy
99.9%
Counts
64 → 11
Alt Table
Click to see full alt table
StatusAccuracyProgram
96.2%
(/.f32 #s(literal 1 binary32) (+.f32 (+.f32 #s(literal 1 binary32) c) (*.f32 (*.f32 (/.f32 #s(literal 1 binary32) #s(literal 14868421/8388608 binary32)) (/.f32 (sqrt.f32 #s(approx (- (- 1 cosTheta) cosTheta) (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -2 binary32) cosTheta)))) cosTheta)) #s(approx (exp (* (neg cosTheta) cosTheta)) #s(literal 1 binary32)))))
98.0%
(/.f32 #s(literal 1 binary32) (+.f32 (+.f32 #s(literal 1 binary32) c) (*.f32 (*.f32 #s(literal 9465531/16777216 binary32) (/.f32 (sqrt.f32 (-.f32 (-.f32 #s(literal 1 binary32) cosTheta) cosTheta)) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta)))))
92.8%
(/.f32 #s(literal 1 binary32) (+.f32 (+.f32 #s(literal 1 binary32) c) (*.f32 (*.f32 #s(literal 9465531/16777216 binary32) (/.f32 (sqrt.f32 (-.f32 #s(approx (- 1 cosTheta) #s(literal 1 binary32)) cosTheta)) cosTheta)) #s(approx (exp (* (neg cosTheta) cosTheta)) #s(literal 1 binary32)))))
98.1%
(/.f32 #s(literal 1 binary32) (+.f32 (+.f32 #s(literal 1 binary32) c) (*.f32 (*.f32 #s(literal 9465531/16777216 binary32) (/.f32 (sqrt.f32 #s(approx (- (- 1 cosTheta) cosTheta) (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -2 binary32) cosTheta)))) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta)))))
96.2%
(/.f32 #s(literal 1 binary32) (+.f32 (+.f32 #s(literal 1 binary32) c) (*.f32 (*.f32 #s(literal 9465531/16777216 binary32) (/.f32 (sqrt.f32 #s(approx (- (- 1 cosTheta) cosTheta) (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -2 binary32) cosTheta)))) cosTheta)) #s(approx (exp (* (neg cosTheta) cosTheta)) #s(literal 1 binary32)))))
98.1%
(/.f32 #s(literal 1 binary32) (+.f32 (+.f32 #s(literal 1 binary32) c) (*.f32 (*.f32 #s(literal 4732765/8388608 binary32) (/.f32 (sqrt.f32 (-.f32 (-.f32 #s(literal 1 binary32) cosTheta) cosTheta)) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta)))))
98.1%
(/.f32 #s(literal 1 binary32) (+.f32 (+.f32 #s(literal 1 binary32) c) (*.f32 (*.f32 #s(literal 4732765/8388608 binary32) (/.f32 (sqrt.f32 #s(approx (- (- 1 cosTheta) cosTheta) (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -2 binary32) cosTheta)))) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta)))))
93.1%
#s(approx (/ 1 (+ (+ 1 c) (* (* (/ 1 (sqrt (PI))) (/ (sqrt (- (- 1 cosTheta) cosTheta)) cosTheta)) (exp (* (neg cosTheta) cosTheta))))) (*.f32 cosTheta #s(literal 14868421/8388608 binary32)))
96.7%
#s(approx (/ 1 (+ (+ 1 c) (* (* (/ 1 14868421/8388608) (/ (sqrt (- (- 1 cosTheta) cosTheta)) cosTheta)) (exp (* (neg cosTheta) cosTheta))))) (*.f32 cosTheta (+.f32 #s(literal 14868421/8388608 binary32) (*.f32 #s(literal -221069943033241/70368744177664 binary32) (*.f32 cosTheta (+.f32 #s(literal 6479813/14868421 binary32) c))))))
96.2%
#s(approx (/ 1 (+ (+ 1 c) (* (* 9465531/16777216 (/ (sqrt (- (- 1 cosTheta) cosTheta)) cosTheta)) (exp (* (neg cosTheta) cosTheta))))) (*.f32 cosTheta (+.f32 #s(literal 16777216/9465531 binary32) #s(approx (* -281474976710656/89596277111961 (* cosTheta (+ 7311685/16777216 c))) (*.f32 #s(literal -122669718568960/89596277111961 binary32) cosTheta)))))
92.9%
#s(approx (/ 1 (+ (+ 1 c) (* (* 9465531/16777216 (/ (sqrt (- (- 1 cosTheta) cosTheta)) cosTheta)) (exp (* (neg cosTheta) cosTheta))))) (*.f32 #s(literal 16777216/9465531 binary32) cosTheta))
Compiler

Compiled 285 to 118 computations (58.6% saved)

sample1.0ms (0.0%)

Memory
7.0MiB live, 7.0MiB allocated; 0ms collecting garbage
Calls
Call 1
Inputs
1
14868421/8388608
9465531/16777216
-2
4732765/8388608
-221069943033241/70368744177664
6479813/14868421
Outputs
#s(literal 1 binary32)
#s(literal 14868421/8388608 binary32)
#s(literal 9465531/16777216 binary32)
#s(literal -2 binary32)
#s(literal 4732765/8388608 binary32)
#s(literal -13176795/4194304 binary32)
#s(literal 3655843/8388608 binary32)
Samples
0.0ms0valid
Compiler

Compiled 9 to 9 computations (0.0% saved)

Precisions
Click to see histograms. Total time spent on operations: 0.0ms
adjust: 0.0ms (0.0% of total, 0.0 MiB)

series946.0ms (5.5%)

Memory
-15.0MiB live, 711.8MiB allocated; 37ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0143113887
Stop Event
iter-limit
Counts
43 → 33
Calls
Call 1
Inputs
#s(literal 1 binary32)
c
(+.f32 #s(literal 1 binary32) c)
cosTheta
(-.f32 #s(literal 1 binary32) cosTheta)
(-.f32 (-.f32 #s(literal 1 binary32) cosTheta) cosTheta)
(sqrt.f32 (-.f32 (-.f32 #s(literal 1 binary32) cosTheta) cosTheta))
(/.f32 (sqrt.f32 (-.f32 (-.f32 #s(literal 1 binary32) cosTheta) cosTheta)) cosTheta)
(neg.f32 cosTheta)
(*.f32 (neg.f32 cosTheta) cosTheta)
(exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta))
#s(literal 14868421/8388608 binary32)
#s(literal 9465531/16777216 binary32)
#s(literal -2 binary32)
(*.f32 #s(literal -2 binary32) cosTheta)
(+.f32 #s(literal 1 binary32) (*.f32 #s(literal -2 binary32) cosTheta))
#s(approx (- (- 1 cosTheta) cosTheta) (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -2 binary32) cosTheta)))
(sqrt.f32 #s(approx (- (- 1 cosTheta) cosTheta) (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -2 binary32) cosTheta))))
(/.f32 (sqrt.f32 #s(approx (- (- 1 cosTheta) cosTheta) (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -2 binary32) cosTheta)))) cosTheta)
#s(literal 4732765/8388608 binary32)
#s(literal -221069943033241/70368744177664 binary32)
#s(literal 6479813/14868421 binary32)
(+.f32 #s(literal 6479813/14868421 binary32) c)
(*.f32 cosTheta (+.f32 #s(literal 6479813/14868421 binary32) c))
(*.f32 #s(literal -221069943033241/70368744177664 binary32) (*.f32 cosTheta (+.f32 #s(literal 6479813/14868421 binary32) c)))
(+.f32 #s(literal 14868421/8388608 binary32) (*.f32 #s(literal -221069943033241/70368744177664 binary32) (*.f32 cosTheta (+.f32 #s(literal 6479813/14868421 binary32) c))))
(*.f32 cosTheta (+.f32 #s(literal 14868421/8388608 binary32) (*.f32 #s(literal -221069943033241/70368744177664 binary32) (*.f32 cosTheta (+.f32 #s(literal 6479813/14868421 binary32) c)))))
#s(approx (/ 1 (+ (+ 1 c) (* (* (/ 1 14868421/8388608) (/ (sqrt (- (- 1 cosTheta) cosTheta)) cosTheta)) (exp (* (neg cosTheta) cosTheta))))) (*.f32 cosTheta (+.f32 #s(literal 14868421/8388608 binary32) (*.f32 #s(literal -221069943033241/70368744177664 binary32) (*.f32 cosTheta (+.f32 #s(literal 6479813/14868421 binary32) c))))))
(*.f32 cosTheta #s(literal 14868421/8388608 binary32))
#s(approx (/ 1 (+ (+ 1 c) (* (* (/ 1 (sqrt (PI))) (/ (sqrt (- (- 1 cosTheta) cosTheta)) cosTheta)) (exp (* (neg cosTheta) cosTheta))))) (*.f32 cosTheta #s(literal 14868421/8388608 binary32)))
(*.f32 #s(literal 9465531/16777216 binary32) (/.f32 (sqrt.f32 #s(approx (- (- 1 cosTheta) cosTheta) (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -2 binary32) cosTheta)))) cosTheta))
(*.f32 #s(literal 4732765/8388608 binary32) (/.f32 (sqrt.f32 (-.f32 (-.f32 #s(literal 1 binary32) cosTheta) cosTheta)) cosTheta))
(*.f32 (*.f32 #s(literal 4732765/8388608 binary32) (/.f32 (sqrt.f32 (-.f32 (-.f32 #s(literal 1 binary32) cosTheta) cosTheta)) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta)))
(+.f32 (+.f32 #s(literal 1 binary32) c) (*.f32 (*.f32 #s(literal 4732765/8388608 binary32) (/.f32 (sqrt.f32 (-.f32 (-.f32 #s(literal 1 binary32) cosTheta) cosTheta)) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta))))
(/.f32 #s(literal 1 binary32) (+.f32 (+.f32 #s(literal 1 binary32) c) (*.f32 (*.f32 #s(literal 4732765/8388608 binary32) (/.f32 (sqrt.f32 (-.f32 (-.f32 #s(literal 1 binary32) cosTheta) cosTheta)) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta)))))
#s(approx (exp (* (neg cosTheta) cosTheta)) #s(literal 1 binary32))
(*.f32 #s(literal 4732765/8388608 binary32) (/.f32 (sqrt.f32 #s(approx (- (- 1 cosTheta) cosTheta) (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -2 binary32) cosTheta)))) cosTheta))
(*.f32 (*.f32 #s(literal 4732765/8388608 binary32) (/.f32 (sqrt.f32 #s(approx (- (- 1 cosTheta) cosTheta) (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -2 binary32) cosTheta)))) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta)))
(+.f32 (+.f32 #s(literal 1 binary32) c) (*.f32 (*.f32 #s(literal 4732765/8388608 binary32) (/.f32 (sqrt.f32 #s(approx (- (- 1 cosTheta) cosTheta) (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -2 binary32) cosTheta)))) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta))))
(/.f32 #s(literal 1 binary32) (+.f32 (+.f32 #s(literal 1 binary32) c) (*.f32 (*.f32 #s(literal 4732765/8388608 binary32) (/.f32 (sqrt.f32 #s(approx (- (- 1 cosTheta) cosTheta) (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -2 binary32) cosTheta)))) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta)))))
(*.f32 (*.f32 #s(literal 9465531/16777216 binary32) (/.f32 (sqrt.f32 #s(approx (- (- 1 cosTheta) cosTheta) (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -2 binary32) cosTheta)))) cosTheta)) #s(approx (exp (* (neg cosTheta) cosTheta)) #s(literal 1 binary32)))
(+.f32 (+.f32 #s(literal 1 binary32) c) (*.f32 (*.f32 #s(literal 9465531/16777216 binary32) (/.f32 (sqrt.f32 #s(approx (- (- 1 cosTheta) cosTheta) (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -2 binary32) cosTheta)))) cosTheta)) #s(approx (exp (* (neg cosTheta) cosTheta)) #s(literal 1 binary32))))
(/.f32 #s(literal 1 binary32) (+.f32 (+.f32 #s(literal 1 binary32) c) (*.f32 (*.f32 #s(literal 9465531/16777216 binary32) (/.f32 (sqrt.f32 #s(approx (- (- 1 cosTheta) cosTheta) (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -2 binary32) cosTheta)))) cosTheta)) #s(approx (exp (* (neg cosTheta) cosTheta)) #s(literal 1 binary32)))))
Outputs
#s(approx 1 #s(literal 0 binary32))
#s(approx cosTheta cosTheta)
#s(approx (- 1 cosTheta) #s(literal 1 binary32))
#s(approx (- 1 cosTheta) (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -1 binary32) cosTheta)))
#s(approx (- (- 1 cosTheta) cosTheta) (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -2 binary32) cosTheta)))
#s(approx (sqrt (- (- 1 cosTheta) cosTheta)) (+.f32 #s(literal 1 binary32) (*.f32 cosTheta (-.f32 (*.f32 #s(literal -1/2 binary32) cosTheta) #s(literal 1 binary32)))))
#s(approx (sqrt (- (- 1 cosTheta) cosTheta)) (+.f32 #s(literal 1 binary32) (*.f32 cosTheta (-.f32 (*.f32 cosTheta (-.f32 (*.f32 #s(literal -1/2 binary32) cosTheta) #s(literal 1/2 binary32))) #s(literal 1 binary32)))))
#s(approx (neg cosTheta) (*.f32 #s(literal -1 binary32) cosTheta))
#s(approx (* -2 cosTheta) (*.f32 #s(literal -2 binary32) cosTheta))
#s(approx (* cosTheta (+ 6479813/14868421 c)) (*.f32 cosTheta (+.f32 #s(literal 6479813/14868421 binary32) c)))
#s(approx (* -221069943033241/70368744177664 (* cosTheta (+ 6479813/14868421 c))) (*.f32 #s(literal -221069943033241/70368744177664 binary32) (*.f32 cosTheta (+.f32 #s(literal 6479813/14868421 binary32) c))))
#s(approx (+ 14868421/8388608 (* -221069943033241/70368744177664 (* cosTheta (+ 6479813/14868421 c)))) #s(literal 14868421/8388608 binary32))
#s(approx (+ 14868421/8388608 (* -221069943033241/70368744177664 (* cosTheta (+ 6479813/14868421 c)))) (+.f32 #s(literal 14868421/8388608 binary32) (*.f32 #s(literal -221069943033241/70368744177664 binary32) (*.f32 cosTheta (+.f32 #s(literal 6479813/14868421 binary32) c)))))
#s(approx (* cosTheta (+ 14868421/8388608 (* -221069943033241/70368744177664 (* cosTheta (+ 6479813/14868421 c))))) (*.f32 #s(literal 14868421/8388608 binary32) cosTheta))
#s(approx (* cosTheta (+ 14868421/8388608 (* -221069943033241/70368744177664 (* cosTheta (+ 6479813/14868421 c))))) (*.f32 cosTheta (+.f32 #s(literal 14868421/8388608 binary32) (*.f32 #s(literal -221069943033241/70368744177664 binary32) (*.f32 cosTheta (+.f32 #s(literal 6479813/14868421 binary32) c))))))
#s(approx (/ 1 (+ (+ 1 c) (* (* (/ 1 (sqrt (PI))) (/ (sqrt (- (- 1 cosTheta) cosTheta)) cosTheta)) (exp (* (neg cosTheta) cosTheta))))) (*.f32 cosTheta (sqrt.f32 (PI.f32))))
#s(approx (/ 1 (+ (+ 1 c) (* (* 4732765/8388608 (/ (sqrt (- (- 1 cosTheta) cosTheta)) cosTheta)) (exp (* (neg cosTheta) cosTheta))))) (*.f32 #s(literal 8388608/4732765 binary32) cosTheta))
#s(approx (/ 1 (+ (+ 1 c) (* (* 4732765/8388608 (/ (sqrt (- (- 1 cosTheta) cosTheta)) cosTheta)) (exp (* (neg cosTheta) cosTheta))))) (*.f32 cosTheta (+.f32 #s(literal 8388608/4732765 binary32) (*.f32 #s(literal -70368744177664/22399064545225 binary32) (*.f32 cosTheta (+.f32 #s(literal 3655843/8388608 binary32) c))))))
#s(approx (/ 1 (+ (+ 1 c) (* (* 9465531/16777216 (/ (sqrt (- (- 1 cosTheta) cosTheta)) cosTheta)) (exp (* (neg cosTheta) cosTheta))))) (*.f32 #s(literal 16777216/9465531 binary32) cosTheta))
#s(approx (/ 1 (+ (+ 1 c) (* (* 9465531/16777216 (/ (sqrt (- (- 1 cosTheta) cosTheta)) cosTheta)) (exp (* (neg cosTheta) cosTheta))))) (*.f32 cosTheta (+.f32 #s(literal 16777216/9465531 binary32) (*.f32 #s(literal -281474976710656/89596277111961 binary32) (*.f32 cosTheta (+.f32 #s(literal 7311685/16777216 binary32) c))))))
#s(approx c c)
#s(approx (+ 1 c) (+.f32 #s(literal 1 binary32) c))
#s(approx (+ 6479813/14868421 c) #s(literal 6479813/14868421 binary32))
#s(approx (+ 6479813/14868421 c) (+.f32 #s(literal 6479813/14868421 binary32) c))
#s(approx (* cosTheta (+ 6479813/14868421 c)) (*.f32 #s(literal 6479813/14868421 binary32) cosTheta))
#s(approx (* cosTheta (+ 6479813/14868421 c)) (fma.f32 #s(literal 6479813/14868421 binary32) cosTheta (*.f32 c cosTheta)))
#s(approx (* -221069943033241/70368744177664 (* cosTheta (+ 6479813/14868421 c))) (*.f32 #s(literal -96344587685273/70368744177664 binary32) cosTheta))
#s(approx (* -221069943033241/70368744177664 (* cosTheta (+ 6479813/14868421 c))) (fma.f32 #s(literal -221069943033241/70368744177664 binary32) (*.f32 c cosTheta) (*.f32 #s(literal -96344587685273/70368744177664 binary32) cosTheta)))
#s(approx (+ 14868421/8388608 (* -221069943033241/70368744177664 (* cosTheta (+ 6479813/14868421 c)))) (+.f32 #s(literal 14868421/8388608 binary32) (*.f32 #s(literal -96344587685273/70368744177664 binary32) cosTheta)))
#s(approx (+ 14868421/8388608 (* -221069943033241/70368744177664 (* cosTheta (+ 6479813/14868421 c)))) (+.f32 #s(literal 14868421/8388608 binary32) (fma.f32 #s(literal -221069943033241/70368744177664 binary32) (*.f32 c cosTheta) (*.f32 #s(literal -96344587685273/70368744177664 binary32) cosTheta))))
#s(approx (* cosTheta (+ 14868421/8388608 (* -221069943033241/70368744177664 (* cosTheta (+ 6479813/14868421 c))))) (*.f32 cosTheta (+.f32 #s(literal 14868421/8388608 binary32) (*.f32 #s(literal -96344587685273/70368744177664 binary32) cosTheta))))
#s(approx (* cosTheta (+ 6479813/14868421 c)) (*.f32 c cosTheta))
#s(approx (* -221069943033241/70368744177664 (* cosTheta (+ 6479813/14868421 c))) (*.f32 #s(literal -221069943033241/70368744177664 binary32) (*.f32 c cosTheta)))
Calls

6 calls:

TimeVariablePoint
507.0ms
cosTheta
-inf
17.0ms
c
-inf
6.0ms
cosTheta
inf
4.0ms
cosTheta
0
2.0ms
c
0

rewrite1.0s (5.8%)

Memory
-1.7MiB live, 193.7MiB allocated; 12ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
064456
099456
1417454
22854445
323860445
442900445
05006943
Stop Event
iter-limit
node-limit
iter-limit
Counts
43 → 0
Calls
Call 1
Inputs
#s(literal 1 binary32)
c
(+.f32 #s(literal 1 binary32) c)
cosTheta
(-.f32 #s(literal 1 binary32) cosTheta)
(-.f32 (-.f32 #s(literal 1 binary32) cosTheta) cosTheta)
(sqrt.f32 (-.f32 (-.f32 #s(literal 1 binary32) cosTheta) cosTheta))
(/.f32 (sqrt.f32 (-.f32 (-.f32 #s(literal 1 binary32) cosTheta) cosTheta)) cosTheta)
(neg.f32 cosTheta)
(*.f32 (neg.f32 cosTheta) cosTheta)
(exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta))
#s(literal 14868421/8388608 binary32)
#s(literal 9465531/16777216 binary32)
#s(literal -2 binary32)
(*.f32 #s(literal -2 binary32) cosTheta)
(+.f32 #s(literal 1 binary32) (*.f32 #s(literal -2 binary32) cosTheta))
#s(approx (- (- 1 cosTheta) cosTheta) (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -2 binary32) cosTheta)))
(sqrt.f32 #s(approx (- (- 1 cosTheta) cosTheta) (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -2 binary32) cosTheta))))
(/.f32 (sqrt.f32 #s(approx (- (- 1 cosTheta) cosTheta) (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -2 binary32) cosTheta)))) cosTheta)
#s(literal 4732765/8388608 binary32)
#s(literal -221069943033241/70368744177664 binary32)
#s(literal 6479813/14868421 binary32)
(+.f32 #s(literal 6479813/14868421 binary32) c)
(*.f32 cosTheta (+.f32 #s(literal 6479813/14868421 binary32) c))
(*.f32 #s(literal -221069943033241/70368744177664 binary32) (*.f32 cosTheta (+.f32 #s(literal 6479813/14868421 binary32) c)))
(+.f32 #s(literal 14868421/8388608 binary32) (*.f32 #s(literal -221069943033241/70368744177664 binary32) (*.f32 cosTheta (+.f32 #s(literal 6479813/14868421 binary32) c))))
(*.f32 cosTheta (+.f32 #s(literal 14868421/8388608 binary32) (*.f32 #s(literal -221069943033241/70368744177664 binary32) (*.f32 cosTheta (+.f32 #s(literal 6479813/14868421 binary32) c)))))
#s(approx (/ 1 (+ (+ 1 c) (* (* (/ 1 14868421/8388608) (/ (sqrt (- (- 1 cosTheta) cosTheta)) cosTheta)) (exp (* (neg cosTheta) cosTheta))))) (*.f32 cosTheta (+.f32 #s(literal 14868421/8388608 binary32) (*.f32 #s(literal -221069943033241/70368744177664 binary32) (*.f32 cosTheta (+.f32 #s(literal 6479813/14868421 binary32) c))))))
(*.f32 cosTheta #s(literal 14868421/8388608 binary32))
#s(approx (/ 1 (+ (+ 1 c) (* (* (/ 1 (sqrt (PI))) (/ (sqrt (- (- 1 cosTheta) cosTheta)) cosTheta)) (exp (* (neg cosTheta) cosTheta))))) (*.f32 cosTheta #s(literal 14868421/8388608 binary32)))
(*.f32 #s(literal 9465531/16777216 binary32) (/.f32 (sqrt.f32 #s(approx (- (- 1 cosTheta) cosTheta) (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -2 binary32) cosTheta)))) cosTheta))
(*.f32 #s(literal 4732765/8388608 binary32) (/.f32 (sqrt.f32 (-.f32 (-.f32 #s(literal 1 binary32) cosTheta) cosTheta)) cosTheta))
(*.f32 (*.f32 #s(literal 4732765/8388608 binary32) (/.f32 (sqrt.f32 (-.f32 (-.f32 #s(literal 1 binary32) cosTheta) cosTheta)) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta)))
(+.f32 (+.f32 #s(literal 1 binary32) c) (*.f32 (*.f32 #s(literal 4732765/8388608 binary32) (/.f32 (sqrt.f32 (-.f32 (-.f32 #s(literal 1 binary32) cosTheta) cosTheta)) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta))))
(/.f32 #s(literal 1 binary32) (+.f32 (+.f32 #s(literal 1 binary32) c) (*.f32 (*.f32 #s(literal 4732765/8388608 binary32) (/.f32 (sqrt.f32 (-.f32 (-.f32 #s(literal 1 binary32) cosTheta) cosTheta)) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta)))))
#s(approx (exp (* (neg cosTheta) cosTheta)) #s(literal 1 binary32))
(*.f32 #s(literal 4732765/8388608 binary32) (/.f32 (sqrt.f32 #s(approx (- (- 1 cosTheta) cosTheta) (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -2 binary32) cosTheta)))) cosTheta))
(*.f32 (*.f32 #s(literal 4732765/8388608 binary32) (/.f32 (sqrt.f32 #s(approx (- (- 1 cosTheta) cosTheta) (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -2 binary32) cosTheta)))) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta)))
(+.f32 (+.f32 #s(literal 1 binary32) c) (*.f32 (*.f32 #s(literal 4732765/8388608 binary32) (/.f32 (sqrt.f32 #s(approx (- (- 1 cosTheta) cosTheta) (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -2 binary32) cosTheta)))) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta))))
(/.f32 #s(literal 1 binary32) (+.f32 (+.f32 #s(literal 1 binary32) c) (*.f32 (*.f32 #s(literal 4732765/8388608 binary32) (/.f32 (sqrt.f32 #s(approx (- (- 1 cosTheta) cosTheta) (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -2 binary32) cosTheta)))) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta)))))
(*.f32 (*.f32 #s(literal 9465531/16777216 binary32) (/.f32 (sqrt.f32 #s(approx (- (- 1 cosTheta) cosTheta) (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -2 binary32) cosTheta)))) cosTheta)) #s(approx (exp (* (neg cosTheta) cosTheta)) #s(literal 1 binary32)))
(+.f32 (+.f32 #s(literal 1 binary32) c) (*.f32 (*.f32 #s(literal 9465531/16777216 binary32) (/.f32 (sqrt.f32 #s(approx (- (- 1 cosTheta) cosTheta) (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -2 binary32) cosTheta)))) cosTheta)) #s(approx (exp (* (neg cosTheta) cosTheta)) #s(literal 1 binary32))))
(/.f32 #s(literal 1 binary32) (+.f32 (+.f32 #s(literal 1 binary32) c) (*.f32 (*.f32 #s(literal 9465531/16777216 binary32) (/.f32 (sqrt.f32 #s(approx (- (- 1 cosTheta) cosTheta) (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -2 binary32) cosTheta)))) cosTheta)) #s(approx (exp (* (neg cosTheta) cosTheta)) #s(literal 1 binary32)))))
Outputs

eval4.0ms (0.0%)

Memory
4.8MiB live, 52.5MiB allocated; 1ms collecting garbage
Compiler

Compiled 741 to 157 computations (78.8% saved)

prune134.0ms (0.8%)

Memory
-24.2MiB live, 166.1MiB allocated; 7ms collecting garbage
Pruning

12 alts after pruning (4 fresh and 8 done)

PrunedKeptTotal
New51152
Fresh033
Picked055
Done033
Total511263
Accuracy
99.9%
Counts
63 → 12
Alt Table
Click to see full alt table
StatusAccuracyProgram
96.2%
(/.f32 #s(literal 1 binary32) (+.f32 (+.f32 #s(literal 1 binary32) c) (*.f32 (*.f32 (/.f32 #s(literal 1 binary32) #s(literal 14868421/8388608 binary32)) (/.f32 (sqrt.f32 #s(approx (- (- 1 cosTheta) cosTheta) (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -2 binary32) cosTheta)))) cosTheta)) #s(approx (exp (* (neg cosTheta) cosTheta)) #s(literal 1 binary32)))))
98.0%
(/.f32 #s(literal 1 binary32) (+.f32 (+.f32 #s(literal 1 binary32) c) (*.f32 (*.f32 #s(literal 9465531/16777216 binary32) (/.f32 (sqrt.f32 (-.f32 (-.f32 #s(literal 1 binary32) cosTheta) cosTheta)) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta)))))
92.8%
(/.f32 #s(literal 1 binary32) (+.f32 (+.f32 #s(literal 1 binary32) c) (*.f32 (*.f32 #s(literal 9465531/16777216 binary32) (/.f32 (sqrt.f32 (-.f32 #s(approx (- 1 cosTheta) #s(literal 1 binary32)) cosTheta)) cosTheta)) #s(approx (exp (* (neg cosTheta) cosTheta)) #s(literal 1 binary32)))))
98.1%
(/.f32 #s(literal 1 binary32) (+.f32 (+.f32 #s(literal 1 binary32) c) (*.f32 (*.f32 #s(literal 9465531/16777216 binary32) (/.f32 (sqrt.f32 #s(approx (- (- 1 cosTheta) cosTheta) (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -2 binary32) cosTheta)))) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta)))))
96.2%
(/.f32 #s(literal 1 binary32) (+.f32 (+.f32 #s(literal 1 binary32) c) (*.f32 (*.f32 #s(literal 9465531/16777216 binary32) (/.f32 (sqrt.f32 #s(approx (- (- 1 cosTheta) cosTheta) (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -2 binary32) cosTheta)))) cosTheta)) #s(approx (exp (* (neg cosTheta) cosTheta)) #s(literal 1 binary32)))))
98.1%
(/.f32 #s(literal 1 binary32) (+.f32 (+.f32 #s(literal 1 binary32) c) (*.f32 (*.f32 #s(literal 4732765/8388608 binary32) (/.f32 (sqrt.f32 (-.f32 (-.f32 #s(literal 1 binary32) cosTheta) cosTheta)) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta)))))
98.1%
(/.f32 #s(literal 1 binary32) (+.f32 (+.f32 #s(literal 1 binary32) c) (*.f32 (*.f32 #s(literal 4732765/8388608 binary32) (/.f32 (sqrt.f32 #s(approx (- (- 1 cosTheta) cosTheta) (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -2 binary32) cosTheta)))) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta)))))
93.1%
#s(approx (/ 1 (+ (+ 1 c) (* (* (/ 1 (sqrt (PI))) (/ (sqrt (- (- 1 cosTheta) cosTheta)) cosTheta)) (exp (* (neg cosTheta) cosTheta))))) (*.f32 cosTheta #s(literal 14868421/8388608 binary32)))
96.7%
#s(approx (/ 1 (+ (+ 1 c) (* (* (/ 1 14868421/8388608) (/ (sqrt (- (- 1 cosTheta) cosTheta)) cosTheta)) (exp (* (neg cosTheta) cosTheta))))) (*.f32 cosTheta (+.f32 #s(literal 14868421/8388608 binary32) (*.f32 #s(literal -221069943033241/70368744177664 binary32) (*.f32 cosTheta (+.f32 #s(literal 6479813/14868421 binary32) c))))))
96.6%
#s(approx (/ 1 (+ (+ 1 c) (* (* (/ 1 14868421/8388608) (/ (sqrt (- (- 1 cosTheta) cosTheta)) cosTheta)) (exp (* (neg cosTheta) cosTheta))))) (*.f32 cosTheta (+.f32 #s(literal 14868421/8388608 binary32) #s(approx (* -221069943033241/70368744177664 (* cosTheta (+ 6479813/14868421 c))) (*.f32 #s(literal -96344587685273/70368744177664 binary32) cosTheta)))))
96.2%
#s(approx (/ 1 (+ (+ 1 c) (* (* 9465531/16777216 (/ (sqrt (- (- 1 cosTheta) cosTheta)) cosTheta)) (exp (* (neg cosTheta) cosTheta))))) (*.f32 cosTheta (+.f32 #s(literal 16777216/9465531 binary32) #s(approx (* -281474976710656/89596277111961 (* cosTheta (+ 7311685/16777216 c))) (*.f32 #s(literal -122669718568960/89596277111961 binary32) cosTheta)))))
92.9%
#s(approx (/ 1 (+ (+ 1 c) (* (* 9465531/16777216 (/ (sqrt (- (- 1 cosTheta) cosTheta)) cosTheta)) (exp (* (neg cosTheta) cosTheta))))) (*.f32 #s(literal 16777216/9465531 binary32) cosTheta))
Compiler

Compiled 173 to 67 computations (61.3% saved)

regimes3.0s (17.3%)

Memory
62.1MiB live, 472.8MiB allocated; 109ms collecting garbage
Counts
1 → 1
3 → 1
4 → 1
6 → 1
11 → 1
14 → 1
20 → 1
Calls
Call 1
Inputs
#s(approx (/ 1 (+ (+ 1 c) (* (* 9465531/16777216 (/ (sqrt (- (- 1 cosTheta) cosTheta)) cosTheta)) (exp (* (neg cosTheta) cosTheta))))) (*.f32 #s(literal 16777216/9465531 binary32) cosTheta))
Outputs
#s(approx (/ 1 (+ (+ 1 c) (* (* 9465531/16777216 (/ (sqrt (- (- 1 cosTheta) cosTheta)) cosTheta)) (exp (* (neg cosTheta) cosTheta))))) (*.f32 #s(literal 16777216/9465531 binary32) cosTheta))
Call 2
Inputs
#s(approx (/ 1 (+ (+ 1 c) (* (* 9465531/16777216 (/ (sqrt (- (- 1 cosTheta) cosTheta)) cosTheta)) (exp (* (neg cosTheta) cosTheta))))) (*.f32 #s(literal 16777216/9465531 binary32) cosTheta))
#s(approx (/ 1 (+ (+ 1 c) (* (* (/ 1 (sqrt (PI))) (/ (sqrt (- (- 1 cosTheta) cosTheta)) cosTheta)) (exp (* (neg cosTheta) cosTheta))))) (*.f32 cosTheta #s(literal 14868421/8388608 binary32)))
#s(approx (/ 1 (+ (+ 1 c) (* (* (/ 1 (sqrt (PI))) (/ (sqrt (- (- 1 cosTheta) cosTheta)) cosTheta)) (exp (* (neg cosTheta) cosTheta))))) (*.f32 cosTheta (sqrt.f32 (PI.f32))))
Outputs
#s(approx (/ 1 (+ (+ 1 c) (* (* (/ 1 (sqrt (PI))) (/ (sqrt (- (- 1 cosTheta) cosTheta)) cosTheta)) (exp (* (neg cosTheta) cosTheta))))) (*.f32 cosTheta #s(literal 14868421/8388608 binary32)))
Call 3
Inputs
#s(approx (/ 1 (+ (+ 1 c) (* (* 9465531/16777216 (/ (sqrt (- (- 1 cosTheta) cosTheta)) cosTheta)) (exp (* (neg cosTheta) cosTheta))))) (*.f32 #s(literal 16777216/9465531 binary32) cosTheta))
#s(approx (/ 1 (+ (+ 1 c) (* (* (/ 1 (sqrt (PI))) (/ (sqrt (- (- 1 cosTheta) cosTheta)) cosTheta)) (exp (* (neg cosTheta) cosTheta))))) (*.f32 cosTheta #s(literal 14868421/8388608 binary32)))
#s(approx (/ 1 (+ (+ 1 c) (* (* (/ 1 (sqrt (PI))) (/ (sqrt (- (- 1 cosTheta) cosTheta)) cosTheta)) (exp (* (neg cosTheta) cosTheta))))) (*.f32 cosTheta (sqrt.f32 (PI.f32))))
#s(approx (/ 1 (+ (+ 1 c) (* (* 9465531/16777216 (/ (sqrt (- (- 1 cosTheta) cosTheta)) cosTheta)) (exp (* (neg cosTheta) cosTheta))))) (*.f32 cosTheta (+.f32 #s(literal 16777216/9465531 binary32) #s(approx (* -281474976710656/89596277111961 (* cosTheta (+ 7311685/16777216 c))) (*.f32 #s(literal -122669718568960/89596277111961 binary32) cosTheta)))))
Outputs
#s(approx (/ 1 (+ (+ 1 c) (* (* 9465531/16777216 (/ (sqrt (- (- 1 cosTheta) cosTheta)) cosTheta)) (exp (* (neg cosTheta) cosTheta))))) (*.f32 cosTheta (+.f32 #s(literal 16777216/9465531 binary32) #s(approx (* -281474976710656/89596277111961 (* cosTheta (+ 7311685/16777216 c))) (*.f32 #s(literal -122669718568960/89596277111961 binary32) cosTheta)))))
Call 4
Inputs
#s(approx (/ 1 (+ (+ 1 c) (* (* 9465531/16777216 (/ (sqrt (- (- 1 cosTheta) cosTheta)) cosTheta)) (exp (* (neg cosTheta) cosTheta))))) (*.f32 #s(literal 16777216/9465531 binary32) cosTheta))
#s(approx (/ 1 (+ (+ 1 c) (* (* (/ 1 (sqrt (PI))) (/ (sqrt (- (- 1 cosTheta) cosTheta)) cosTheta)) (exp (* (neg cosTheta) cosTheta))))) (*.f32 cosTheta #s(literal 14868421/8388608 binary32)))
#s(approx (/ 1 (+ (+ 1 c) (* (* (/ 1 (sqrt (PI))) (/ (sqrt (- (- 1 cosTheta) cosTheta)) cosTheta)) (exp (* (neg cosTheta) cosTheta))))) (*.f32 cosTheta (sqrt.f32 (PI.f32))))
#s(approx (/ 1 (+ (+ 1 c) (* (* 9465531/16777216 (/ (sqrt (- (- 1 cosTheta) cosTheta)) cosTheta)) (exp (* (neg cosTheta) cosTheta))))) (*.f32 cosTheta (+.f32 #s(literal 16777216/9465531 binary32) #s(approx (* -281474976710656/89596277111961 (* cosTheta (+ 7311685/16777216 c))) (*.f32 #s(literal -122669718568960/89596277111961 binary32) cosTheta)))))
#s(approx (/ 1 (+ (+ 1 c) (* (* (/ 1 14868421/8388608) (/ (sqrt (- (- 1 cosTheta) cosTheta)) cosTheta)) (exp (* (neg cosTheta) cosTheta))))) (*.f32 cosTheta (+.f32 #s(literal 14868421/8388608 binary32) #s(approx (* -221069943033241/70368744177664 (* cosTheta (+ 6479813/14868421 c))) (*.f32 #s(literal -96344587685273/70368744177664 binary32) cosTheta)))))
#s(approx (/ 1 (+ (+ 1 c) (* (* 9465531/16777216 (/ (sqrt (- (- 1 cosTheta) cosTheta)) cosTheta)) (exp (* (neg cosTheta) cosTheta))))) (*.f32 cosTheta (+.f32 #s(literal 16777216/9465531 binary32) (*.f32 #s(literal -281474976710656/89596277111961 binary32) (*.f32 cosTheta (+.f32 #s(literal 7311685/16777216 binary32) c))))))
Outputs
#s(approx (/ 1 (+ (+ 1 c) (* (* (/ 1 14868421/8388608) (/ (sqrt (- (- 1 cosTheta) cosTheta)) cosTheta)) (exp (* (neg cosTheta) cosTheta))))) (*.f32 cosTheta (+.f32 #s(literal 14868421/8388608 binary32) #s(approx (* -221069943033241/70368744177664 (* cosTheta (+ 6479813/14868421 c))) (*.f32 #s(literal -96344587685273/70368744177664 binary32) cosTheta)))))
Call 5
Inputs
#s(approx (/ 1 (+ (+ 1 c) (* (* 9465531/16777216 (/ (sqrt (- (- 1 cosTheta) cosTheta)) cosTheta)) (exp (* (neg cosTheta) cosTheta))))) (*.f32 #s(literal 16777216/9465531 binary32) cosTheta))
#s(approx (/ 1 (+ (+ 1 c) (* (* (/ 1 (sqrt (PI))) (/ (sqrt (- (- 1 cosTheta) cosTheta)) cosTheta)) (exp (* (neg cosTheta) cosTheta))))) (*.f32 cosTheta #s(literal 14868421/8388608 binary32)))
#s(approx (/ 1 (+ (+ 1 c) (* (* (/ 1 (sqrt (PI))) (/ (sqrt (- (- 1 cosTheta) cosTheta)) cosTheta)) (exp (* (neg cosTheta) cosTheta))))) (*.f32 cosTheta (sqrt.f32 (PI.f32))))
#s(approx (/ 1 (+ (+ 1 c) (* (* 9465531/16777216 (/ (sqrt (- (- 1 cosTheta) cosTheta)) cosTheta)) (exp (* (neg cosTheta) cosTheta))))) (*.f32 cosTheta (+.f32 #s(literal 16777216/9465531 binary32) #s(approx (* -281474976710656/89596277111961 (* cosTheta (+ 7311685/16777216 c))) (*.f32 #s(literal -122669718568960/89596277111961 binary32) cosTheta)))))
#s(approx (/ 1 (+ (+ 1 c) (* (* (/ 1 14868421/8388608) (/ (sqrt (- (- 1 cosTheta) cosTheta)) cosTheta)) (exp (* (neg cosTheta) cosTheta))))) (*.f32 cosTheta (+.f32 #s(literal 14868421/8388608 binary32) #s(approx (* -221069943033241/70368744177664 (* cosTheta (+ 6479813/14868421 c))) (*.f32 #s(literal -96344587685273/70368744177664 binary32) cosTheta)))))
#s(approx (/ 1 (+ (+ 1 c) (* (* 9465531/16777216 (/ (sqrt (- (- 1 cosTheta) cosTheta)) cosTheta)) (exp (* (neg cosTheta) cosTheta))))) (*.f32 cosTheta (+.f32 #s(literal 16777216/9465531 binary32) (*.f32 #s(literal -281474976710656/89596277111961 binary32) (*.f32 cosTheta (+.f32 #s(literal 7311685/16777216 binary32) c))))))
#s(approx (/ 1 (+ (+ 1 c) (* (* (/ 1 14868421/8388608) (/ (sqrt (- (- 1 cosTheta) cosTheta)) cosTheta)) (exp (* (neg cosTheta) cosTheta))))) (*.f32 cosTheta (+.f32 #s(literal 14868421/8388608 binary32) (*.f32 #s(literal -221069943033241/70368744177664 binary32) (*.f32 cosTheta (+.f32 #s(literal 6479813/14868421 binary32) c))))))
(/.f32 #s(literal 1 binary32) (+.f32 (+.f32 #s(literal 1 binary32) c) (*.f32 (*.f32 #s(literal 9465531/16777216 binary32) (/.f32 (sqrt.f32 (-.f32 #s(approx (- 1 cosTheta) #s(literal 1 binary32)) cosTheta)) cosTheta)) #s(approx (exp (* (neg cosTheta) cosTheta)) #s(literal 1 binary32)))))
(/.f32 #s(literal 1 binary32) (+.f32 (+.f32 #s(literal 1 binary32) c) (*.f32 (*.f32 #s(literal 9465531/16777216 binary32) (/.f32 (sqrt.f32 #s(approx (- (- 1 cosTheta) cosTheta) (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -2 binary32) cosTheta)))) cosTheta)) #s(approx (exp (* (neg cosTheta) cosTheta)) #s(literal 1 binary32)))))
(/.f32 #s(literal 1 binary32) (+.f32 (+.f32 #s(literal 1 binary32) c) (*.f32 (*.f32 (/.f32 #s(literal 1 binary32) #s(literal 14868421/8388608 binary32)) (/.f32 (sqrt.f32 #s(approx (- (- 1 cosTheta) cosTheta) (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -2 binary32) cosTheta)))) cosTheta)) #s(approx (exp (* (neg cosTheta) cosTheta)) #s(literal 1 binary32)))))
(/.f32 #s(literal 1 binary32) (+.f32 (+.f32 #s(literal 1 binary32) c) (*.f32 (*.f32 #s(literal 9465531/16777216 binary32) (/.f32 (sqrt.f32 (-.f32 #s(approx (- 1 cosTheta) #s(literal 1 binary32)) cosTheta)) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta)))))
Outputs
#s(approx (/ 1 (+ (+ 1 c) (* (* (/ 1 14868421/8388608) (/ (sqrt (- (- 1 cosTheta) cosTheta)) cosTheta)) (exp (* (neg cosTheta) cosTheta))))) (*.f32 cosTheta (+.f32 #s(literal 14868421/8388608 binary32) (*.f32 #s(literal -221069943033241/70368744177664 binary32) (*.f32 cosTheta (+.f32 #s(literal 6479813/14868421 binary32) c))))))
Call 6
Inputs
#s(approx (/ 1 (+ (+ 1 c) (* (* 9465531/16777216 (/ (sqrt (- (- 1 cosTheta) cosTheta)) cosTheta)) (exp (* (neg cosTheta) cosTheta))))) (*.f32 #s(literal 16777216/9465531 binary32) cosTheta))
#s(approx (/ 1 (+ (+ 1 c) (* (* (/ 1 (sqrt (PI))) (/ (sqrt (- (- 1 cosTheta) cosTheta)) cosTheta)) (exp (* (neg cosTheta) cosTheta))))) (*.f32 cosTheta #s(literal 14868421/8388608 binary32)))
#s(approx (/ 1 (+ (+ 1 c) (* (* (/ 1 (sqrt (PI))) (/ (sqrt (- (- 1 cosTheta) cosTheta)) cosTheta)) (exp (* (neg cosTheta) cosTheta))))) (*.f32 cosTheta (sqrt.f32 (PI.f32))))
#s(approx (/ 1 (+ (+ 1 c) (* (* 9465531/16777216 (/ (sqrt (- (- 1 cosTheta) cosTheta)) cosTheta)) (exp (* (neg cosTheta) cosTheta))))) (*.f32 cosTheta (+.f32 #s(literal 16777216/9465531 binary32) #s(approx (* -281474976710656/89596277111961 (* cosTheta (+ 7311685/16777216 c))) (*.f32 #s(literal -122669718568960/89596277111961 binary32) cosTheta)))))
#s(approx (/ 1 (+ (+ 1 c) (* (* (/ 1 14868421/8388608) (/ (sqrt (- (- 1 cosTheta) cosTheta)) cosTheta)) (exp (* (neg cosTheta) cosTheta))))) (*.f32 cosTheta (+.f32 #s(literal 14868421/8388608 binary32) #s(approx (* -221069943033241/70368744177664 (* cosTheta (+ 6479813/14868421 c))) (*.f32 #s(literal -96344587685273/70368744177664 binary32) cosTheta)))))
#s(approx (/ 1 (+ (+ 1 c) (* (* 9465531/16777216 (/ (sqrt (- (- 1 cosTheta) cosTheta)) cosTheta)) (exp (* (neg cosTheta) cosTheta))))) (*.f32 cosTheta (+.f32 #s(literal 16777216/9465531 binary32) (*.f32 #s(literal -281474976710656/89596277111961 binary32) (*.f32 cosTheta (+.f32 #s(literal 7311685/16777216 binary32) c))))))
#s(approx (/ 1 (+ (+ 1 c) (* (* (/ 1 14868421/8388608) (/ (sqrt (- (- 1 cosTheta) cosTheta)) cosTheta)) (exp (* (neg cosTheta) cosTheta))))) (*.f32 cosTheta (+.f32 #s(literal 14868421/8388608 binary32) (*.f32 #s(literal -221069943033241/70368744177664 binary32) (*.f32 cosTheta (+.f32 #s(literal 6479813/14868421 binary32) c))))))
(/.f32 #s(literal 1 binary32) (+.f32 (+.f32 #s(literal 1 binary32) c) (*.f32 (*.f32 #s(literal 9465531/16777216 binary32) (/.f32 (sqrt.f32 (-.f32 #s(approx (- 1 cosTheta) #s(literal 1 binary32)) cosTheta)) cosTheta)) #s(approx (exp (* (neg cosTheta) cosTheta)) #s(literal 1 binary32)))))
(/.f32 #s(literal 1 binary32) (+.f32 (+.f32 #s(literal 1 binary32) c) (*.f32 (*.f32 #s(literal 9465531/16777216 binary32) (/.f32 (sqrt.f32 #s(approx (- (- 1 cosTheta) cosTheta) (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -2 binary32) cosTheta)))) cosTheta)) #s(approx (exp (* (neg cosTheta) cosTheta)) #s(literal 1 binary32)))))
(/.f32 #s(literal 1 binary32) (+.f32 (+.f32 #s(literal 1 binary32) c) (*.f32 (*.f32 (/.f32 #s(literal 1 binary32) #s(literal 14868421/8388608 binary32)) (/.f32 (sqrt.f32 #s(approx (- (- 1 cosTheta) cosTheta) (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -2 binary32) cosTheta)))) cosTheta)) #s(approx (exp (* (neg cosTheta) cosTheta)) #s(literal 1 binary32)))))
(/.f32 #s(literal 1 binary32) (+.f32 (+.f32 #s(literal 1 binary32) c) (*.f32 (*.f32 #s(literal 9465531/16777216 binary32) (/.f32 (sqrt.f32 (-.f32 #s(approx (- 1 cosTheta) #s(literal 1 binary32)) cosTheta)) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta)))))
(/.f32 #s(literal 1 binary32) (+.f32 (+.f32 #s(literal 1 binary32) c) (*.f32 (*.f32 #s(literal 4732765/8388608 binary32) (/.f32 (sqrt.f32 (-.f32 (-.f32 #s(literal 1 binary32) cosTheta) cosTheta)) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta)))))
(/.f32 #s(literal 1 binary32) (+.f32 (+.f32 #s(literal 1 binary32) c) (*.f32 (*.f32 #s(literal 9465531/16777216 binary32) (/.f32 (sqrt.f32 (-.f32 (-.f32 #s(literal 1 binary32) cosTheta) cosTheta)) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta)))))
(/.f32 #s(literal 1 binary32) (+.f32 (+.f32 #s(literal 1 binary32) c) (*.f32 (*.f32 #s(literal 4732765/8388608 binary32) (/.f32 (sqrt.f32 #s(approx (- (- 1 cosTheta) cosTheta) (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -2 binary32) cosTheta)))) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta)))))
Outputs
(/.f32 #s(literal 1 binary32) (+.f32 (+.f32 #s(literal 1 binary32) c) (*.f32 (*.f32 #s(literal 4732765/8388608 binary32) (/.f32 (sqrt.f32 (-.f32 (-.f32 #s(literal 1 binary32) cosTheta) cosTheta)) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta)))))
Call 7
Inputs
#s(approx (/ 1 (+ (+ 1 c) (* (* 9465531/16777216 (/ (sqrt (- (- 1 cosTheta) cosTheta)) cosTheta)) (exp (* (neg cosTheta) cosTheta))))) (*.f32 #s(literal 16777216/9465531 binary32) cosTheta))
#s(approx (/ 1 (+ (+ 1 c) (* (* (/ 1 (sqrt (PI))) (/ (sqrt (- (- 1 cosTheta) cosTheta)) cosTheta)) (exp (* (neg cosTheta) cosTheta))))) (*.f32 cosTheta #s(literal 14868421/8388608 binary32)))
#s(approx (/ 1 (+ (+ 1 c) (* (* (/ 1 (sqrt (PI))) (/ (sqrt (- (- 1 cosTheta) cosTheta)) cosTheta)) (exp (* (neg cosTheta) cosTheta))))) (*.f32 cosTheta (sqrt.f32 (PI.f32))))
#s(approx (/ 1 (+ (+ 1 c) (* (* 9465531/16777216 (/ (sqrt (- (- 1 cosTheta) cosTheta)) cosTheta)) (exp (* (neg cosTheta) cosTheta))))) (*.f32 cosTheta (+.f32 #s(literal 16777216/9465531 binary32) #s(approx (* -281474976710656/89596277111961 (* cosTheta (+ 7311685/16777216 c))) (*.f32 #s(literal -122669718568960/89596277111961 binary32) cosTheta)))))
#s(approx (/ 1 (+ (+ 1 c) (* (* (/ 1 14868421/8388608) (/ (sqrt (- (- 1 cosTheta) cosTheta)) cosTheta)) (exp (* (neg cosTheta) cosTheta))))) (*.f32 cosTheta (+.f32 #s(literal 14868421/8388608 binary32) #s(approx (* -221069943033241/70368744177664 (* cosTheta (+ 6479813/14868421 c))) (*.f32 #s(literal -96344587685273/70368744177664 binary32) cosTheta)))))
#s(approx (/ 1 (+ (+ 1 c) (* (* 9465531/16777216 (/ (sqrt (- (- 1 cosTheta) cosTheta)) cosTheta)) (exp (* (neg cosTheta) cosTheta))))) (*.f32 cosTheta (+.f32 #s(literal 16777216/9465531 binary32) (*.f32 #s(literal -281474976710656/89596277111961 binary32) (*.f32 cosTheta (+.f32 #s(literal 7311685/16777216 binary32) c))))))
#s(approx (/ 1 (+ (+ 1 c) (* (* (/ 1 14868421/8388608) (/ (sqrt (- (- 1 cosTheta) cosTheta)) cosTheta)) (exp (* (neg cosTheta) cosTheta))))) (*.f32 cosTheta (+.f32 #s(literal 14868421/8388608 binary32) (*.f32 #s(literal -221069943033241/70368744177664 binary32) (*.f32 cosTheta (+.f32 #s(literal 6479813/14868421 binary32) c))))))
(/.f32 #s(literal 1 binary32) (+.f32 (+.f32 #s(literal 1 binary32) c) (*.f32 (*.f32 #s(literal 9465531/16777216 binary32) (/.f32 (sqrt.f32 (-.f32 #s(approx (- 1 cosTheta) #s(literal 1 binary32)) cosTheta)) cosTheta)) #s(approx (exp (* (neg cosTheta) cosTheta)) #s(literal 1 binary32)))))
(/.f32 #s(literal 1 binary32) (+.f32 (+.f32 #s(literal 1 binary32) c) (*.f32 (*.f32 #s(literal 9465531/16777216 binary32) (/.f32 (sqrt.f32 #s(approx (- (- 1 cosTheta) cosTheta) (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -2 binary32) cosTheta)))) cosTheta)) #s(approx (exp (* (neg cosTheta) cosTheta)) #s(literal 1 binary32)))))
(/.f32 #s(literal 1 binary32) (+.f32 (+.f32 #s(literal 1 binary32) c) (*.f32 (*.f32 (/.f32 #s(literal 1 binary32) #s(literal 14868421/8388608 binary32)) (/.f32 (sqrt.f32 #s(approx (- (- 1 cosTheta) cosTheta) (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -2 binary32) cosTheta)))) cosTheta)) #s(approx (exp (* (neg cosTheta) cosTheta)) #s(literal 1 binary32)))))
(/.f32 #s(literal 1 binary32) (+.f32 (+.f32 #s(literal 1 binary32) c) (*.f32 (*.f32 #s(literal 9465531/16777216 binary32) (/.f32 (sqrt.f32 (-.f32 #s(approx (- 1 cosTheta) #s(literal 1 binary32)) cosTheta)) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta)))))
(/.f32 #s(literal 1 binary32) (+.f32 (+.f32 #s(literal 1 binary32) c) (*.f32 (*.f32 #s(literal 4732765/8388608 binary32) (/.f32 (sqrt.f32 (-.f32 (-.f32 #s(literal 1 binary32) cosTheta) cosTheta)) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta)))))
(/.f32 #s(literal 1 binary32) (+.f32 (+.f32 #s(literal 1 binary32) c) (*.f32 (*.f32 #s(literal 9465531/16777216 binary32) (/.f32 (sqrt.f32 (-.f32 (-.f32 #s(literal 1 binary32) cosTheta) cosTheta)) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta)))))
(/.f32 #s(literal 1 binary32) (+.f32 (+.f32 #s(literal 1 binary32) c) (*.f32 (*.f32 #s(literal 4732765/8388608 binary32) (/.f32 (sqrt.f32 #s(approx (- (- 1 cosTheta) cosTheta) (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -2 binary32) cosTheta)))) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta)))))
(/.f32 #s(literal 1 binary32) (+.f32 (+.f32 #s(literal 1 binary32) c) (*.f32 (*.f32 #s(literal 9465531/16777216 binary32) (/.f32 (sqrt.f32 #s(approx (- (- 1 cosTheta) cosTheta) (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -2 binary32) cosTheta)))) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta)))))
(/.f32 #s(literal 1 binary32) (+.f32 (+.f32 #s(literal 1 binary32) c) (*.f32 (*.f32 (/.f32 #s(literal 1 binary32) (sqrt.f32 (PI.f32))) (/.f32 (sqrt.f32 (-.f32 #s(approx (- 1 cosTheta) #s(literal 1 binary32)) cosTheta)) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta)))))
(/.f32 #s(literal 1 binary32) (+.f32 (+.f32 #s(literal 1 binary32) c) (*.f32 (*.f32 (/.f32 #s(literal 1 binary32) #s(literal 14868421/8388608 binary32)) (/.f32 (sqrt.f32 (-.f32 (-.f32 #s(literal 1 binary32) cosTheta) cosTheta)) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta)))))
(/.f32 #s(literal 1 binary32) (+.f32 (+.f32 #s(literal 1 binary32) c) (*.f32 (*.f32 (/.f32 #s(literal 1 binary32) #s(literal 14868421/8388608 binary32)) (/.f32 (sqrt.f32 #s(approx (- (- 1 cosTheta) cosTheta) (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -2 binary32) cosTheta)))) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta)))))
(/.f32 #s(literal 1 binary32) (+.f32 (+.f32 #s(literal 1 binary32) c) (*.f32 (*.f32 (/.f32 #s(literal 1 binary32) (sqrt.f32 (PI.f32))) (/.f32 (sqrt.f32 (-.f32 (-.f32 #s(literal 1 binary32) cosTheta) cosTheta)) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta)))))
(/.f32 #s(literal 1 binary32) (+.f32 (+.f32 #s(literal 1 binary32) c) (*.f32 (*.f32 (/.f32 #s(literal 1 binary32) (sqrt.f32 (PI.f32))) (/.f32 (sqrt.f32 #s(approx (- (- 1 cosTheta) cosTheta) (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -2 binary32) cosTheta)))) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta)))))
Outputs
(/.f32 #s(literal 1 binary32) (+.f32 (+.f32 #s(literal 1 binary32) c) (*.f32 (*.f32 #s(literal 9465531/16777216 binary32) (/.f32 (sqrt.f32 #s(approx (- (- 1 cosTheta) cosTheta) (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -2 binary32) cosTheta)))) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta)))))
Calls

42 calls:

2.8s
cosTheta
22.0ms
(/.f32 #s(literal 1 binary32) (+.f32 (+.f32 #s(literal 1 binary32) c) (*.f32 (*.f32 (/.f32 #s(literal 1 binary32) (sqrt.f32 (PI.f32))) (/.f32 (sqrt.f32 (-.f32 (-.f32 #s(literal 1 binary32) cosTheta) cosTheta)) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta)))))
16.0ms
(*.f32 (*.f32 (/.f32 #s(literal 1 binary32) (sqrt.f32 (PI.f32))) (/.f32 (sqrt.f32 (-.f32 (-.f32 #s(literal 1 binary32) cosTheta) cosTheta)) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta)))
10.0ms
(*.f32 (*.f32 (/.f32 #s(literal 1 binary32) (sqrt.f32 (PI.f32))) (/.f32 (sqrt.f32 (-.f32 (-.f32 #s(literal 1 binary32) cosTheta) cosTheta)) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta)))
9.0ms
(+.f32 (+.f32 #s(literal 1 binary32) c) (*.f32 (*.f32 (/.f32 #s(literal 1 binary32) (sqrt.f32 (PI.f32))) (/.f32 (sqrt.f32 (-.f32 (-.f32 #s(literal 1 binary32) cosTheta) cosTheta)) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta))))
Results
AccuracySegmentsBranch
92.9%1(/.f32 #s(literal 1 binary32) (+.f32 (+.f32 #s(literal 1 binary32) c) (*.f32 (*.f32 (/.f32 #s(literal 1 binary32) (sqrt.f32 (PI.f32))) (/.f32 (sqrt.f32 (-.f32 (-.f32 #s(literal 1 binary32) cosTheta) cosTheta)) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta)))))
92.9%1cosTheta
92.9%1(*.f32 (*.f32 (/.f32 #s(literal 1 binary32) (sqrt.f32 (PI.f32))) (/.f32 (sqrt.f32 (-.f32 (-.f32 #s(literal 1 binary32) cosTheta) cosTheta)) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta)))
92.9%1(+.f32 #s(literal 1 binary32) c)
92.9%1(+.f32 (+.f32 #s(literal 1 binary32) c) (*.f32 (*.f32 (/.f32 #s(literal 1 binary32) (sqrt.f32 (PI.f32))) (/.f32 (sqrt.f32 (-.f32 (-.f32 #s(literal 1 binary32) cosTheta) cosTheta)) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta))))
92.9%1c
93.1%1(*.f32 (*.f32 (/.f32 #s(literal 1 binary32) (sqrt.f32 (PI.f32))) (/.f32 (sqrt.f32 (-.f32 (-.f32 #s(literal 1 binary32) cosTheta) cosTheta)) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta)))
93.1%1(+.f32 #s(literal 1 binary32) c)
93.1%1(+.f32 (+.f32 #s(literal 1 binary32) c) (*.f32 (*.f32 (/.f32 #s(literal 1 binary32) (sqrt.f32 (PI.f32))) (/.f32 (sqrt.f32 (-.f32 (-.f32 #s(literal 1 binary32) cosTheta) cosTheta)) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta))))
93.1%1(/.f32 #s(literal 1 binary32) (+.f32 (+.f32 #s(literal 1 binary32) c) (*.f32 (*.f32 (/.f32 #s(literal 1 binary32) (sqrt.f32 (PI.f32))) (/.f32 (sqrt.f32 (-.f32 (-.f32 #s(literal 1 binary32) cosTheta) cosTheta)) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta)))))
93.1%1cosTheta
93.1%1c
96.2%1(*.f32 (*.f32 (/.f32 #s(literal 1 binary32) (sqrt.f32 (PI.f32))) (/.f32 (sqrt.f32 (-.f32 (-.f32 #s(literal 1 binary32) cosTheta) cosTheta)) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta)))
96.2%1(+.f32 (+.f32 #s(literal 1 binary32) c) (*.f32 (*.f32 (/.f32 #s(literal 1 binary32) (sqrt.f32 (PI.f32))) (/.f32 (sqrt.f32 (-.f32 (-.f32 #s(literal 1 binary32) cosTheta) cosTheta)) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta))))
96.2%1(+.f32 #s(literal 1 binary32) c)
96.2%1(/.f32 #s(literal 1 binary32) (+.f32 (+.f32 #s(literal 1 binary32) c) (*.f32 (*.f32 (/.f32 #s(literal 1 binary32) (sqrt.f32 (PI.f32))) (/.f32 (sqrt.f32 (-.f32 (-.f32 #s(literal 1 binary32) cosTheta) cosTheta)) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta)))))
96.2%1cosTheta
96.2%1c
96.6%1(*.f32 (*.f32 (/.f32 #s(literal 1 binary32) (sqrt.f32 (PI.f32))) (/.f32 (sqrt.f32 (-.f32 (-.f32 #s(literal 1 binary32) cosTheta) cosTheta)) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta)))
96.6%1(+.f32 (+.f32 #s(literal 1 binary32) c) (*.f32 (*.f32 (/.f32 #s(literal 1 binary32) (sqrt.f32 (PI.f32))) (/.f32 (sqrt.f32 (-.f32 (-.f32 #s(literal 1 binary32) cosTheta) cosTheta)) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta))))
96.6%1c
96.6%1(+.f32 #s(literal 1 binary32) c)
96.6%1(/.f32 #s(literal 1 binary32) (+.f32 (+.f32 #s(literal 1 binary32) c) (*.f32 (*.f32 (/.f32 #s(literal 1 binary32) (sqrt.f32 (PI.f32))) (/.f32 (sqrt.f32 (-.f32 (-.f32 #s(literal 1 binary32) cosTheta) cosTheta)) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta)))))
96.6%1cosTheta
96.7%1(*.f32 (*.f32 (/.f32 #s(literal 1 binary32) (sqrt.f32 (PI.f32))) (/.f32 (sqrt.f32 (-.f32 (-.f32 #s(literal 1 binary32) cosTheta) cosTheta)) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta)))
96.7%1(+.f32 (+.f32 #s(literal 1 binary32) c) (*.f32 (*.f32 (/.f32 #s(literal 1 binary32) (sqrt.f32 (PI.f32))) (/.f32 (sqrt.f32 (-.f32 (-.f32 #s(literal 1 binary32) cosTheta) cosTheta)) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta))))
96.7%1(+.f32 #s(literal 1 binary32) c)
96.7%1(/.f32 #s(literal 1 binary32) (+.f32 (+.f32 #s(literal 1 binary32) c) (*.f32 (*.f32 (/.f32 #s(literal 1 binary32) (sqrt.f32 (PI.f32))) (/.f32 (sqrt.f32 (-.f32 (-.f32 #s(literal 1 binary32) cosTheta) cosTheta)) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta)))))
96.7%1cosTheta
96.7%1c
98.1%1(*.f32 (*.f32 (/.f32 #s(literal 1 binary32) (sqrt.f32 (PI.f32))) (/.f32 (sqrt.f32 (-.f32 (-.f32 #s(literal 1 binary32) cosTheta) cosTheta)) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta)))
98.1%1(+.f32 #s(literal 1 binary32) c)
98.1%1(+.f32 (+.f32 #s(literal 1 binary32) c) (*.f32 (*.f32 (/.f32 #s(literal 1 binary32) (sqrt.f32 (PI.f32))) (/.f32 (sqrt.f32 (-.f32 (-.f32 #s(literal 1 binary32) cosTheta) cosTheta)) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta))))
98.1%1c
98.1%1(/.f32 #s(literal 1 binary32) (+.f32 (+.f32 #s(literal 1 binary32) c) (*.f32 (*.f32 (/.f32 #s(literal 1 binary32) (sqrt.f32 (PI.f32))) (/.f32 (sqrt.f32 (-.f32 (-.f32 #s(literal 1 binary32) cosTheta) cosTheta)) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta)))))
98.1%1cosTheta
98.1%1(*.f32 (*.f32 (/.f32 #s(literal 1 binary32) (sqrt.f32 (PI.f32))) (/.f32 (sqrt.f32 (-.f32 (-.f32 #s(literal 1 binary32) cosTheta) cosTheta)) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta)))
98.1%1(+.f32 #s(literal 1 binary32) c)
98.1%1(+.f32 (+.f32 #s(literal 1 binary32) c) (*.f32 (*.f32 (/.f32 #s(literal 1 binary32) (sqrt.f32 (PI.f32))) (/.f32 (sqrt.f32 (-.f32 (-.f32 #s(literal 1 binary32) cosTheta) cosTheta)) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta))))
98.1%1(/.f32 #s(literal 1 binary32) (+.f32 (+.f32 #s(literal 1 binary32) c) (*.f32 (*.f32 (/.f32 #s(literal 1 binary32) (sqrt.f32 (PI.f32))) (/.f32 (sqrt.f32 (-.f32 (-.f32 #s(literal 1 binary32) cosTheta) cosTheta)) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta)))))
98.1%1cosTheta
98.1%1c
Compiler

Compiled 833 to 478 computations (42.6% saved)

derivations21.0ms (0.1%)

Memory
-3.9MiB live, 43.6MiB allocated; 6ms collecting garbage
Stop Event
fuel
Compiler

Compiled 75 to 45 computations (40.0% saved)

preprocess1.7s (10.0%)

Memory
-13.6MiB live, 124.4MiB allocated; 24ms collecting garbage
Compiler

Compiled 100 to 63 computations (37.0% saved)

end0.0ms (0.0%)

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

Profiling

Loading profile data...