UniformSampleCone, z

Time bar (total: 1.2s)

start0.0ms (0%)

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

analyze49.0ms (3.9%)

Memory
28.9MiB live, 73.5MiB allocated; 7ms collecting garbage
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%0.1%99.9%0%0%0%0
0%0%0.1%99.9%0%0%0%1
0%0%0.1%99.9%0%0%0%2
25%0%0.1%99.9%0%0%0%3
25%0%0.1%99.9%0%0%0%4
37.5%0%0.1%99.9%0%0%0%5
56.2%0.1%0%99.9%0%0%0%6
56.2%0.1%0%99.9%0%0%0%7
65.6%0.1%0%99.9%0%0%0%8
76.6%0.1%0%99.9%0%0%0%9
76.6%0.1%0%99.9%0%0%0%10
82%0.1%0%99.9%0%0%0%11
87.9%0.1%0%99.9%0%0%0%12
Compiler

Compiled 31 to 21 computations (32.3% saved)

sample538.0ms (43.1%)

Memory
-11.4MiB live, 602.4MiB allocated; 245ms collecting garbage
Samples
320.0ms8 152×0valid
35.0ms104×1valid
Precisions
Click to see histograms. Total time spent on operations: 183.0ms
ival-add!: 77.0ms (42.1% of total)
ival-mult!: 68.0ms (37.2% of total)
ival-sub!: 28.0ms (15.3% of total)
adjust: 3.0ms (1.6% of total)
ival-and: 3.0ms (1.6% of total)
ival-<=: 3.0ms (1.6% of total)
ival-assert: 0.0ms (0% of total)
Bogosity

explain58.0ms (4.7%)

Memory
3.4MiB live, 93.8MiB allocated; 22ms collecting garbage
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
00-0-#s(literal 1 binary32)
00-0-(*.f32 ux maxCos)
00-0-maxCos
00-0-ux
00-0-(+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux maxCos))
00-0-(-.f32 #s(literal 1 binary32) ux)
Confusion
Predicted +Predicted -
+00
-0256
Precision
0/0
Recall
0/0
Confusion?
Predicted +Predicted MaybePredicted -
+000
-00256
Precision?
0/0
Recall?
0/0
Freqs
test
numberfreq
0256
Total Confusion?
Predicted +Predicted MaybePredicted -
+000
-001
Precision?
0/0
Recall?
0/0
Samples
17.0ms512×0valid
Compiler

Compiled 43 to 25 computations (41.9% saved)

Precisions
Click to see histograms. Total time spent on operations: 5.0ms
ival-mult!: 3.0ms (56.8% of total)
ival-sub!: 1.0ms (18.9% of total)
ival-add!: 1.0ms (18.9% of total)
adjust: 0.0ms (0% of total)

preprocess53.0ms (4.2%)

Memory
-16.8MiB live, 29.3MiB allocated; 5ms collecting garbage
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
02577
17575
215975
328171
457070
5171870
6530570
Stop Event
node-limit
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux maxCos))
Symmetry

(abs uy)

Compiler

Compiled 14 to 14 computations (0% saved)

series5.0ms (0.4%)

Memory
10.8MiB live, 10.8MiB allocated; 0ms collecting garbage
Counts
6 → 19
Calls
Call 1
Inputs
(+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux maxCos))
(-.f32 #s(literal 1 binary32) ux)
#s(literal 1 binary32)
ux
(*.f32 ux maxCos)
maxCos
Outputs
#s(approx (+ (- 1 ux) (* ux maxCos)) #s(hole binary32 1))
#s(approx (+ (- 1 ux) (* ux maxCos)) #s(hole binary32 (+ 1 (* ux (- maxCos 1)))))
#s(approx (- 1 ux) #s(hole binary32 1))
#s(approx (- 1 ux) #s(hole binary32 (+ 1 (* -1 ux))))
#s(approx ux #s(hole binary32 ux))
#s(approx (* ux maxCos) #s(hole binary32 (* maxCos ux)))
#s(approx (+ (- 1 ux) (* ux maxCos)) #s(hole binary32 (* ux (- maxCos 1))))
#s(approx (+ (- 1 ux) (* ux maxCos)) #s(hole binary32 (* ux (- (+ maxCos (/ 1 ux)) 1))))
#s(approx (- 1 ux) #s(hole binary32 (* -1 ux)))
#s(approx (- 1 ux) #s(hole binary32 (* ux (- (/ 1 ux) 1))))
#s(approx (+ (- 1 ux) (* ux maxCos)) #s(hole binary32 (* -1 (* ux (+ 1 (* -1 maxCos))))))
#s(approx (+ (- 1 ux) (* ux maxCos)) #s(hole binary32 (* -1 (* ux (- (+ 1 (* -1 maxCos)) (/ 1 ux))))))
#s(approx (- 1 ux) #s(hole binary32 (* -1 (* ux (- 1 (/ 1 ux))))))
#s(approx (+ (- 1 ux) (* ux maxCos)) #s(hole binary32 (- 1 ux)))
#s(approx (+ (- 1 ux) (* ux maxCos)) #s(hole binary32 (- (+ 1 (* maxCos ux)) ux)))
#s(approx maxCos #s(hole binary32 maxCos))
#s(approx (+ (- 1 ux) (* ux maxCos)) #s(hole binary32 (* maxCos ux)))
#s(approx (+ (- 1 ux) (* ux maxCos)) #s(hole binary32 (* maxCos (- (+ ux (/ 1 maxCos)) (/ ux maxCos)))))
#s(approx (+ (- 1 ux) (* ux maxCos)) #s(hole binary32 (* -1 (* maxCos (+ (* -1 ux) (* -1 (/ (- 1 ux) maxCos)))))))
Calls

9 calls:

TimeVariablePointExpression
1.0ms
ux
@-inf
((+ (- 1 ux) (* ux maxCos)) (- 1 ux) 1 ux (* ux maxCos) maxCos)
1.0ms
ux
@inf
((+ (- 1 ux) (* ux maxCos)) (- 1 ux) 1 ux (* ux maxCos) maxCos)
1.0ms
maxCos
@-inf
((+ (- 1 ux) (* ux maxCos)) (- 1 ux) 1 ux (* ux maxCos) maxCos)
1.0ms
maxCos
@0
((+ (- 1 ux) (* ux maxCos)) (- 1 ux) 1 ux (* ux maxCos) maxCos)
1.0ms
maxCos
@inf
((+ (- 1 ux) (* ux maxCos)) (- 1 ux) 1 ux (* ux maxCos) maxCos)

rewrite208.0ms (16.7%)

Memory
-1.3MiB live, 183.1MiB allocated; 31ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
063245
067233
1328229
22853228
08915212
Stop Event
iter-limit
node-limit
iter-limit
Counts
25 → 123
Calls
Call 1
Inputs
(+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux maxCos))
(-.f32 #s(literal 1 binary32) ux)
#s(literal 1 binary32)
ux
(*.f32 ux maxCos)
maxCos
#s(approx (+ (- 1 ux) (* ux maxCos)) #s(hole binary32 1))
#s(approx (+ (- 1 ux) (* ux maxCos)) #s(hole binary32 (+ 1 (* ux (- maxCos 1)))))
#s(approx (- 1 ux) #s(hole binary32 1))
#s(approx (- 1 ux) #s(hole binary32 (+ 1 (* -1 ux))))
#s(approx ux #s(hole binary32 ux))
#s(approx (* ux maxCos) #s(hole binary32 (* maxCos ux)))
#s(approx (+ (- 1 ux) (* ux maxCos)) #s(hole binary32 (* ux (- maxCos 1))))
#s(approx (+ (- 1 ux) (* ux maxCos)) #s(hole binary32 (* ux (- (+ maxCos (/ 1 ux)) 1))))
#s(approx (- 1 ux) #s(hole binary32 (* -1 ux)))
#s(approx (- 1 ux) #s(hole binary32 (* ux (- (/ 1 ux) 1))))
#s(approx (+ (- 1 ux) (* ux maxCos)) #s(hole binary32 (* -1 (* ux (+ 1 (* -1 maxCos))))))
#s(approx (+ (- 1 ux) (* ux maxCos)) #s(hole binary32 (* -1 (* ux (- (+ 1 (* -1 maxCos)) (/ 1 ux))))))
#s(approx (- 1 ux) #s(hole binary32 (* -1 (* ux (- 1 (/ 1 ux))))))
#s(approx (+ (- 1 ux) (* ux maxCos)) #s(hole binary32 (- 1 ux)))
#s(approx (+ (- 1 ux) (* ux maxCos)) #s(hole binary32 (- (+ 1 (* maxCos ux)) ux)))
#s(approx maxCos #s(hole binary32 maxCos))
#s(approx (+ (- 1 ux) (* ux maxCos)) #s(hole binary32 (* maxCos ux)))
#s(approx (+ (- 1 ux) (* ux maxCos)) #s(hole binary32 (* maxCos (- (+ ux (/ 1 maxCos)) (/ ux maxCos)))))
#s(approx (+ (- 1 ux) (* ux maxCos)) #s(hole binary32 (* -1 (* maxCos (+ (* -1 ux) (* -1 (/ (- 1 ux) maxCos)))))))
Outputs
(-.f32 (/.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) (*.f32 (-.f32 maxCos #s(literal 1 binary32)) ux))) (/.f32 (pow.f32 (*.f32 (-.f32 maxCos #s(literal 1 binary32)) ux) #s(literal 2 binary32)) (-.f32 #s(literal 1 binary32) (*.f32 (-.f32 maxCos #s(literal 1 binary32)) ux))))
(-.f32 (/.f32 (pow.f32 (fma.f32 maxCos ux #s(literal 1 binary32)) #s(literal 2 binary32)) (fma.f32 maxCos ux (+.f32 ux #s(literal 1 binary32)))) (/.f32 (*.f32 ux ux) (fma.f32 maxCos ux (+.f32 ux #s(literal 1 binary32)))))
(-.f32 (/.f32 (pow.f32 (fma.f32 maxCos ux #s(literal 1 binary32)) #s(literal 3 binary32)) (fma.f32 ux (fma.f32 maxCos ux (+.f32 ux #s(literal 1 binary32))) (pow.f32 (fma.f32 maxCos ux #s(literal 1 binary32)) #s(literal 2 binary32)))) (/.f32 (pow.f32 ux #s(literal 3 binary32)) (fma.f32 ux (fma.f32 maxCos ux (+.f32 ux #s(literal 1 binary32))) (pow.f32 (fma.f32 maxCos ux #s(literal 1 binary32)) #s(literal 2 binary32)))))
(-.f32 (/.f32 (pow.f32 (-.f32 #s(literal 1 binary32) ux) #s(literal 2 binary32)) (-.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 maxCos ux))) (/.f32 (pow.f32 (*.f32 maxCos ux) #s(literal 2 binary32)) (-.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 maxCos ux))))
(-.f32 (fma.f32 maxCos ux #s(literal 1 binary32)) ux)
(-.f32 (*.f32 (-.f32 maxCos #s(literal 1 binary32)) ux) #s(literal -1 binary32))
(-.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 (neg.f32 maxCos) ux))
(-.f32 #s(literal 1 binary32) (*.f32 (-.f32 #s(literal 1 binary32) maxCos) ux))
(-.f32 #s(literal 1 binary32) (*.f32 (neg.f32 ux) (-.f32 maxCos #s(literal 1 binary32))))
(/.f32 (-.f32 (*.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) (*.f32 (-.f32 maxCos #s(literal 1 binary32)) ux))) (*.f32 (-.f32 #s(literal 1 binary32) (*.f32 (-.f32 maxCos #s(literal 1 binary32)) ux)) (pow.f32 (*.f32 (-.f32 maxCos #s(literal 1 binary32)) ux) #s(literal 2 binary32)))) (*.f32 (-.f32 #s(literal 1 binary32) (*.f32 (-.f32 maxCos #s(literal 1 binary32)) ux)) (-.f32 #s(literal 1 binary32) (*.f32 (-.f32 maxCos #s(literal 1 binary32)) ux))))
(/.f32 (-.f32 (*.f32 (pow.f32 (fma.f32 maxCos ux #s(literal 1 binary32)) #s(literal 2 binary32)) (fma.f32 maxCos ux (+.f32 ux #s(literal 1 binary32)))) (*.f32 (fma.f32 maxCos ux (+.f32 ux #s(literal 1 binary32))) (*.f32 ux ux))) (*.f32 (fma.f32 maxCos ux (+.f32 ux #s(literal 1 binary32))) (fma.f32 maxCos ux (+.f32 ux #s(literal 1 binary32)))))
(/.f32 (-.f32 (*.f32 (pow.f32 (fma.f32 maxCos ux #s(literal 1 binary32)) #s(literal 3 binary32)) (fma.f32 ux (fma.f32 maxCos ux (+.f32 ux #s(literal 1 binary32))) (pow.f32 (fma.f32 maxCos ux #s(literal 1 binary32)) #s(literal 2 binary32)))) (*.f32 (fma.f32 ux (fma.f32 maxCos ux (+.f32 ux #s(literal 1 binary32))) (pow.f32 (fma.f32 maxCos ux #s(literal 1 binary32)) #s(literal 2 binary32))) (pow.f32 ux #s(literal 3 binary32)))) (*.f32 (fma.f32 ux (fma.f32 maxCos ux (+.f32 ux #s(literal 1 binary32))) (pow.f32 (fma.f32 maxCos ux #s(literal 1 binary32)) #s(literal 2 binary32))) (fma.f32 ux (fma.f32 maxCos ux (+.f32 ux #s(literal 1 binary32))) (pow.f32 (fma.f32 maxCos ux #s(literal 1 binary32)) #s(literal 2 binary32)))))
(/.f32 (-.f32 (*.f32 (pow.f32 (-.f32 #s(literal 1 binary32) ux) #s(literal 2 binary32)) (-.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 maxCos ux))) (*.f32 (-.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 maxCos ux)) (pow.f32 (*.f32 maxCos ux) #s(literal 2 binary32)))) (*.f32 (-.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 maxCos ux)) (-.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 maxCos ux))))
(/.f32 (-.f32 (*.f32 #s(literal 2 binary32) (-.f32 maxCos #s(literal -1 binary32))) (*.f32 #s(literal 2 binary32) (*.f32 ux (-.f32 #s(literal 1 binary32) (*.f32 maxCos maxCos))))) (*.f32 #s(literal 2 binary32) (-.f32 maxCos #s(literal -1 binary32))))
(/.f32 (-.f32 (*.f32 #s(literal 2 binary32) (-.f32 (+.f32 #s(literal 1 binary32) (*.f32 maxCos maxCos)) (neg.f32 maxCos))) (*.f32 #s(literal 2 binary32) (*.f32 ux (+.f32 (pow.f32 maxCos #s(literal 3 binary32)) #s(literal 1 binary32))))) (*.f32 #s(literal 2 binary32) (-.f32 (+.f32 #s(literal 1 binary32) (*.f32 maxCos maxCos)) (neg.f32 maxCos))))
(/.f32 (-.f32 (*.f32 #s(literal 2 binary32) (+.f32 ux (*.f32 maxCos ux))) (*.f32 #s(literal 2 binary32) (-.f32 (*.f32 ux ux) (pow.f32 (*.f32 maxCos ux) #s(literal 2 binary32))))) (*.f32 #s(literal 2 binary32) (+.f32 ux (*.f32 maxCos ux))))
(/.f32 (-.f32 (*.f32 #s(literal 2 binary32) (-.f32 ux (*.f32 (neg.f32 maxCos) ux))) (*.f32 #s(literal 2 binary32) (-.f32 (*.f32 ux ux) (pow.f32 (*.f32 maxCos ux) #s(literal 2 binary32))))) (*.f32 #s(literal 2 binary32) (-.f32 ux (*.f32 (neg.f32 maxCos) ux))))
(/.f32 (-.f32 (*.f32 #s(literal 2 binary32) (fma.f32 ux ux (+.f32 (pow.f32 (*.f32 maxCos ux) #s(literal 2 binary32)) (*.f32 ux (*.f32 maxCos ux))))) (*.f32 #s(literal 2 binary32) (-.f32 (pow.f32 ux #s(literal 3 binary32)) (pow.f32 (*.f32 maxCos ux) #s(literal 3 binary32))))) (*.f32 #s(literal 2 binary32) (fma.f32 ux ux (+.f32 (pow.f32 (*.f32 maxCos ux) #s(literal 2 binary32)) (*.f32 ux (*.f32 maxCos ux))))))
(/.f32 (-.f32 (*.f32 #s(literal 2 binary32) (fma.f32 ux ux (-.f32 (pow.f32 (*.f32 maxCos ux) #s(literal 2 binary32)) (*.f32 ux (*.f32 (neg.f32 maxCos) ux))))) (*.f32 #s(literal 2 binary32) (+.f32 (pow.f32 ux #s(literal 3 binary32)) (pow.f32 (*.f32 maxCos ux) #s(literal 3 binary32))))) (*.f32 #s(literal 2 binary32) (fma.f32 ux ux (-.f32 (pow.f32 (*.f32 maxCos ux) #s(literal 2 binary32)) (*.f32 ux (*.f32 (neg.f32 maxCos) ux))))))
(/.f32 (-.f32 (*.f32 #s(literal 2 binary32) (-.f32 maxCos #s(literal -1 binary32))) (*.f32 #s(literal 2 binary32) (*.f32 (-.f32 #s(literal 1 binary32) (*.f32 maxCos maxCos)) ux))) (*.f32 #s(literal 2 binary32) (-.f32 maxCos #s(literal -1 binary32))))
(/.f32 (-.f32 (*.f32 #s(literal 2 binary32) (-.f32 (+.f32 #s(literal 1 binary32) (*.f32 maxCos maxCos)) (neg.f32 maxCos))) (*.f32 #s(literal 2 binary32) (*.f32 (+.f32 (pow.f32 maxCos #s(literal 3 binary32)) #s(literal 1 binary32)) ux))) (*.f32 #s(literal 2 binary32) (-.f32 (+.f32 #s(literal 1 binary32) (*.f32 maxCos maxCos)) (neg.f32 maxCos))))
(/.f32 (-.f32 (*.f32 #s(literal -1 binary32) (-.f32 maxCos #s(literal -1 binary32))) (*.f32 #s(literal -1 binary32) (*.f32 ux (-.f32 #s(literal 1 binary32) (*.f32 maxCos maxCos))))) (*.f32 #s(literal -1 binary32) (-.f32 maxCos #s(literal -1 binary32))))
(/.f32 (-.f32 (*.f32 #s(literal -1 binary32) (-.f32 (+.f32 #s(literal 1 binary32) (*.f32 maxCos maxCos)) (neg.f32 maxCos))) (*.f32 #s(literal -1 binary32) (*.f32 ux (+.f32 (pow.f32 maxCos #s(literal 3 binary32)) #s(literal 1 binary32))))) (*.f32 #s(literal -1 binary32) (-.f32 (+.f32 #s(literal 1 binary32) (*.f32 maxCos maxCos)) (neg.f32 maxCos))))
(/.f32 (-.f32 (*.f32 #s(literal -1 binary32) (+.f32 ux (*.f32 maxCos ux))) (*.f32 #s(literal -1 binary32) (-.f32 (*.f32 ux ux) (pow.f32 (*.f32 maxCos ux) #s(literal 2 binary32))))) (*.f32 #s(literal -1 binary32) (+.f32 ux (*.f32 maxCos ux))))
(/.f32 (-.f32 (*.f32 #s(literal -1 binary32) (-.f32 ux (*.f32 (neg.f32 maxCos) ux))) (*.f32 #s(literal -1 binary32) (-.f32 (*.f32 ux ux) (pow.f32 (*.f32 maxCos ux) #s(literal 2 binary32))))) (*.f32 #s(literal -1 binary32) (-.f32 ux (*.f32 (neg.f32 maxCos) ux))))
(/.f32 (-.f32 (*.f32 #s(literal -1 binary32) (fma.f32 ux ux (+.f32 (pow.f32 (*.f32 maxCos ux) #s(literal 2 binary32)) (*.f32 ux (*.f32 maxCos ux))))) (*.f32 #s(literal -1 binary32) (-.f32 (pow.f32 ux #s(literal 3 binary32)) (pow.f32 (*.f32 maxCos ux) #s(literal 3 binary32))))) (*.f32 #s(literal -1 binary32) (fma.f32 ux ux (+.f32 (pow.f32 (*.f32 maxCos ux) #s(literal 2 binary32)) (*.f32 ux (*.f32 maxCos ux))))))
(/.f32 (-.f32 (*.f32 #s(literal -1 binary32) (fma.f32 ux ux (-.f32 (pow.f32 (*.f32 maxCos ux) #s(literal 2 binary32)) (*.f32 ux (*.f32 (neg.f32 maxCos) ux))))) (*.f32 #s(literal -1 binary32) (+.f32 (pow.f32 ux #s(literal 3 binary32)) (pow.f32 (*.f32 maxCos ux) #s(literal 3 binary32))))) (*.f32 #s(literal -1 binary32) (fma.f32 ux ux (-.f32 (pow.f32 (*.f32 maxCos ux) #s(literal 2 binary32)) (*.f32 ux (*.f32 (neg.f32 maxCos) ux))))))
(/.f32 (-.f32 (*.f32 #s(literal -1 binary32) (-.f32 maxCos #s(literal -1 binary32))) (*.f32 #s(literal -1 binary32) (*.f32 (-.f32 #s(literal 1 binary32) (*.f32 maxCos maxCos)) ux))) (*.f32 #s(literal -1 binary32) (-.f32 maxCos #s(literal -1 binary32))))
(/.f32 (-.f32 (*.f32 #s(literal -1 binary32) (-.f32 (+.f32 #s(literal 1 binary32) (*.f32 maxCos maxCos)) (neg.f32 maxCos))) (*.f32 #s(literal -1 binary32) (*.f32 (+.f32 (pow.f32 maxCos #s(literal 3 binary32)) #s(literal 1 binary32)) ux))) (*.f32 #s(literal -1 binary32) (-.f32 (+.f32 #s(literal 1 binary32) (*.f32 maxCos maxCos)) (neg.f32 maxCos))))
(/.f32 (-.f32 (*.f32 #s(literal 2 binary32) (-.f32 maxCos #s(literal -1 binary32))) (*.f32 #s(literal 2 binary32) (*.f32 (neg.f32 ux) (fma.f32 maxCos maxCos #s(literal -1 binary32))))) (*.f32 #s(literal 2 binary32) (-.f32 maxCos #s(literal -1 binary32))))
(/.f32 (-.f32 (*.f32 #s(literal 2 binary32) (fma.f32 maxCos maxCos (-.f32 maxCos #s(literal -1 binary32)))) (*.f32 #s(literal 2 binary32) (*.f32 (neg.f32 ux) (-.f32 (pow.f32 maxCos #s(literal 3 binary32)) #s(literal 1 binary32))))) (*.f32 #s(literal 2 binary32) (fma.f32 maxCos maxCos (-.f32 maxCos #s(literal -1 binary32)))))
(/.f32 (-.f32 (*.f32 #s(literal -1 binary32) (-.f32 maxCos #s(literal -1 binary32))) (*.f32 #s(literal -1 binary32) (*.f32 (neg.f32 ux) (fma.f32 maxCos maxCos #s(literal -1 binary32))))) (*.f32 #s(literal -1 binary32) (-.f32 maxCos #s(literal -1 binary32))))
(/.f32 (-.f32 (*.f32 #s(literal -1 binary32) (fma.f32 maxCos maxCos (-.f32 maxCos #s(literal -1 binary32)))) (*.f32 #s(literal -1 binary32) (*.f32 (neg.f32 ux) (-.f32 (pow.f32 maxCos #s(literal 3 binary32)) #s(literal 1 binary32))))) (*.f32 #s(literal -1 binary32) (fma.f32 maxCos maxCos (-.f32 maxCos #s(literal -1 binary32)))))
(/.f32 (-.f32 #s(literal 1 binary32) (pow.f32 (*.f32 (-.f32 #s(literal 1 binary32) maxCos) ux) #s(literal 2 binary32))) (-.f32 #s(literal 1 binary32) (*.f32 (-.f32 maxCos #s(literal 1 binary32)) ux)))
(/.f32 (-.f32 (pow.f32 (*.f32 (-.f32 maxCos #s(literal 1 binary32)) ux) #s(literal 2 binary32)) #s(literal 1 binary32)) (-.f32 (*.f32 (-.f32 maxCos #s(literal 1 binary32)) ux) #s(literal 1 binary32)))
(/.f32 (-.f32 (pow.f32 (*.f32 maxCos ux) #s(literal 2 binary32)) (pow.f32 (-.f32 #s(literal 1 binary32) ux) #s(literal 2 binary32))) (-.f32 (*.f32 maxCos ux) (-.f32 #s(literal 1 binary32) ux)))
(/.f32 (-.f32 #s(literal 1 binary32) (pow.f32 (-.f32 (*.f32 maxCos ux) ux) #s(literal 2 binary32))) (-.f32 #s(literal 1 binary32) (-.f32 (*.f32 maxCos ux) ux)))
(/.f32 (-.f32 (pow.f32 (-.f32 #s(literal 1 binary32) ux) #s(literal 3 binary32)) (pow.f32 (*.f32 maxCos ux) #s(literal 3 binary32))) (+.f32 (pow.f32 (-.f32 #s(literal 1 binary32) ux) #s(literal 2 binary32)) (+.f32 (pow.f32 (*.f32 maxCos ux) #s(literal 2 binary32)) (*.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 (neg.f32 maxCos) ux)))))
(/.f32 (-.f32 #s(literal 1 binary32) (pow.f32 (*.f32 (-.f32 maxCos #s(literal 1 binary32)) ux) #s(literal 3 binary32))) (+.f32 #s(literal 1 binary32) (+.f32 (pow.f32 (*.f32 (-.f32 maxCos #s(literal 1 binary32)) ux) #s(literal 2 binary32)) (*.f32 #s(literal 1 binary32) (*.f32 (neg.f32 ux) (-.f32 maxCos #s(literal 1 binary32)))))))
(/.f32 (-.f32 #s(literal 1 binary32) (pow.f32 (*.f32 (-.f32 #s(literal 1 binary32) maxCos) ux) #s(literal 3 binary32))) (+.f32 #s(literal 1 binary32) (+.f32 (pow.f32 (*.f32 (-.f32 #s(literal 1 binary32) maxCos) ux) #s(literal 2 binary32)) (*.f32 #s(literal 1 binary32) (*.f32 (-.f32 #s(literal 1 binary32) maxCos) ux)))))
(/.f32 (+.f32 #s(literal 1 binary32) (pow.f32 (-.f32 (*.f32 maxCos ux) ux) #s(literal 3 binary32))) (+.f32 #s(literal 1 binary32) (-.f32 (pow.f32 (-.f32 (*.f32 maxCos ux) ux) #s(literal 2 binary32)) (*.f32 #s(literal 1 binary32) (-.f32 (*.f32 maxCos ux) ux)))))
(/.f32 (neg.f32 (-.f32 #s(literal 1 binary32) (pow.f32 (*.f32 (-.f32 maxCos #s(literal 1 binary32)) ux) #s(literal 2 binary32)))) (neg.f32 (-.f32 #s(literal 1 binary32) (*.f32 (-.f32 maxCos #s(literal 1 binary32)) ux))))
(/.f32 (neg.f32 (+.f32 (pow.f32 (*.f32 (-.f32 maxCos #s(literal 1 binary32)) ux) #s(literal 3 binary32)) #s(literal 1 binary32))) (neg.f32 (fma.f32 (*.f32 (-.f32 maxCos #s(literal 1 binary32)) ux) (-.f32 (*.f32 (-.f32 maxCos #s(literal 1 binary32)) ux) #s(literal 1 binary32)) #s(literal 1 binary32))))
(/.f32 (neg.f32 (-.f32 (pow.f32 (fma.f32 maxCos ux #s(literal 1 binary32)) #s(literal 2 binary32)) (*.f32 ux ux))) (neg.f32 (fma.f32 maxCos ux (+.f32 ux #s(literal 1 binary32)))))
(/.f32 (neg.f32 (-.f32 (pow.f32 (fma.f32 maxCos ux #s(literal 1 binary32)) #s(literal 3 binary32)) (pow.f32 ux #s(literal 3 binary32)))) (neg.f32 (fma.f32 ux (fma.f32 maxCos ux (+.f32 ux #s(literal 1 binary32))) (pow.f32 (fma.f32 maxCos ux #s(literal 1 binary32)) #s(literal 2 binary32)))))
(/.f32 (neg.f32 (-.f32 (pow.f32 (-.f32 #s(literal 1 binary32) ux) #s(literal 2 binary32)) (pow.f32 (*.f32 maxCos ux) #s(literal 2 binary32)))) (neg.f32 (-.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 maxCos ux))))
(/.f32 (neg.f32 (+.f32 (pow.f32 (*.f32 maxCos ux) #s(literal 3 binary32)) (pow.f32 (-.f32 #s(literal 1 binary32) ux) #s(literal 3 binary32)))) (neg.f32 (fma.f32 (*.f32 maxCos ux) (-.f32 (*.f32 maxCos ux) (-.f32 #s(literal 1 binary32) ux)) (pow.f32 (-.f32 #s(literal 1 binary32) ux) #s(literal 2 binary32)))))
(/.f32 (-.f32 (pow.f32 (fma.f32 maxCos ux #s(literal 1 binary32)) #s(literal 2 binary32)) (*.f32 ux ux)) (fma.f32 maxCos ux (+.f32 ux #s(literal 1 binary32))))
(/.f32 (-.f32 #s(literal 1 binary32) (pow.f32 (*.f32 (-.f32 maxCos #s(literal 1 binary32)) ux) #s(literal 2 binary32))) (-.f32 #s(literal 1 binary32) (*.f32 (-.f32 maxCos #s(literal 1 binary32)) ux)))
(/.f32 (-.f32 (pow.f32 (-.f32 #s(literal 1 binary32) ux) #s(literal 2 binary32)) (pow.f32 (*.f32 maxCos ux) #s(literal 2 binary32))) (-.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 maxCos ux)))
(/.f32 (-.f32 (pow.f32 (fma.f32 maxCos ux #s(literal 1 binary32)) #s(literal 3 binary32)) (pow.f32 ux #s(literal 3 binary32))) (fma.f32 ux (fma.f32 maxCos ux (+.f32 ux #s(literal 1 binary32))) (pow.f32 (fma.f32 maxCos ux #s(literal 1 binary32)) #s(literal 2 binary32))))
(/.f32 (+.f32 (pow.f32 (*.f32 (-.f32 maxCos #s(literal 1 binary32)) ux) #s(literal 3 binary32)) #s(literal 1 binary32)) (+.f32 (pow.f32 (*.f32 (-.f32 maxCos #s(literal 1 binary32)) ux) #s(literal 2 binary32)) (-.f32 #s(literal 1 binary32) (*.f32 (-.f32 maxCos #s(literal 1 binary32)) ux))))
(/.f32 (+.f32 (pow.f32 (*.f32 (-.f32 maxCos #s(literal 1 binary32)) ux) #s(literal 3 binary32)) #s(literal 1 binary32)) (fma.f32 (*.f32 (-.f32 maxCos #s(literal 1 binary32)) ux) (-.f32 (*.f32 (-.f32 maxCos #s(literal 1 binary32)) ux) #s(literal 1 binary32)) #s(literal 1 binary32)))
(/.f32 (+.f32 (pow.f32 (*.f32 maxCos ux) #s(literal 3 binary32)) (pow.f32 (-.f32 #s(literal 1 binary32) ux) #s(literal 3 binary32))) (+.f32 (pow.f32 (*.f32 maxCos ux) #s(literal 2 binary32)) (-.f32 (pow.f32 (-.f32 #s(literal 1 binary32) ux) #s(literal 2 binary32)) (*.f32 (*.f32 (-.f32 #s(literal 1 binary32) ux) maxCos) ux))))
(/.f32 (+.f32 (pow.f32 (*.f32 maxCos ux) #s(literal 3 binary32)) (pow.f32 (-.f32 #s(literal 1 binary32) ux) #s(literal 3 binary32))) (fma.f32 (*.f32 maxCos ux) (-.f32 (*.f32 maxCos ux) (-.f32 #s(literal 1 binary32) ux)) (pow.f32 (-.f32 #s(literal 1 binary32) ux) #s(literal 2 binary32))))
(fma.f32 (*.f32 #s(literal 1 binary32) (-.f32 maxCos #s(literal 1 binary32))) ux #s(literal 1 binary32))
(fma.f32 (*.f32 (-.f32 maxCos #s(literal 1 binary32)) ux) #s(literal 1 binary32) #s(literal 1 binary32))
(fma.f32 (-.f32 maxCos #s(literal 1 binary32)) ux #s(literal 1 binary32))
(fma.f32 (*.f32 maxCos ux) #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) ux))
(fma.f32 maxCos ux (-.f32 #s(literal 1 binary32) ux))
(fma.f32 ux (-.f32 maxCos #s(literal 1 binary32)) #s(literal 1 binary32))
(fma.f32 ux maxCos (-.f32 #s(literal 1 binary32) ux))
(fma.f32 #s(literal 1 binary32) (*.f32 (-.f32 maxCos #s(literal 1 binary32)) ux) #s(literal 1 binary32))
(fma.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) ux) (*.f32 maxCos ux))
(fma.f32 #s(literal 1 binary32) (*.f32 maxCos ux) (-.f32 #s(literal 1 binary32) ux))
(+.f32 (/.f32 #s(literal 1 binary32) (fma.f32 (*.f32 (-.f32 maxCos #s(literal 1 binary32)) ux) (-.f32 (*.f32 (-.f32 maxCos #s(literal 1 binary32)) ux) #s(literal 1 binary32)) #s(literal 1 binary32))) (/.f32 (pow.f32 (*.f32 (-.f32 maxCos #s(literal 1 binary32)) ux) #s(literal 3 binary32)) (fma.f32 (*.f32 (-.f32 maxCos #s(literal 1 binary32)) ux) (-.f32 (*.f32 (-.f32 maxCos #s(literal 1 binary32)) ux) #s(literal 1 binary32)) #s(literal 1 binary32))))
(+.f32 (/.f32 (pow.f32 (-.f32 #s(literal 1 binary32) ux) #s(literal 3 binary32)) (fma.f32 (*.f32 maxCos ux) (-.f32 (*.f32 maxCos ux) (-.f32 #s(literal 1 binary32) ux)) (pow.f32 (-.f32 #s(literal 1 binary32) ux) #s(literal 2 binary32)))) (/.f32 (pow.f32 (*.f32 maxCos ux) #s(literal 3 binary32)) (fma.f32 (*.f32 maxCos ux) (-.f32 (*.f32 maxCos ux) (-.f32 #s(literal 1 binary32) ux)) (pow.f32 (-.f32 #s(literal 1 binary32) ux) #s(literal 2 binary32)))))
(+.f32 (-.f32 (*.f32 maxCos ux) ux) #s(literal 1 binary32))
(+.f32 (*.f32 (-.f32 maxCos #s(literal 1 binary32)) ux) #s(literal 1 binary32))
(+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 maxCos ux))
(+.f32 (*.f32 maxCos ux) (-.f32 #s(literal 1 binary32) ux))
(+.f32 #s(literal 1 binary32) (-.f32 (*.f32 maxCos ux) ux))
(+.f32 #s(literal 1 binary32) (*.f32 (-.f32 maxCos #s(literal 1 binary32)) ux))
(*.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) ux))
(-.f32 (/.f32 #s(literal 1 binary32) (+.f32 ux #s(literal 1 binary32))) (/.f32 (*.f32 ux ux) (+.f32 ux #s(literal 1 binary32))))
(-.f32 (/.f32 #s(literal 1 binary32) (+.f32 (fma.f32 ux ux ux) #s(literal 1 binary32))) (/.f32 (pow.f32 ux #s(literal 3 binary32)) (+.f32 (fma.f32 ux ux ux) #s(literal 1 binary32))))
(-.f32 (neg.f32 ux) #s(literal -1 binary32))
(-.f32 #s(literal 1 binary32) (*.f32 (neg.f32 ux) #s(literal -1 binary32)))
(-.f32 #s(literal 1 binary32) ux)
(/.f32 (-.f32 (*.f32 #s(literal 1 binary32) (+.f32 ux #s(literal 1 binary32))) (*.f32 (+.f32 ux #s(literal 1 binary32)) (*.f32 ux ux))) (pow.f32 (+.f32 ux #s(literal 1 binary32)) #s(literal 2 binary32)))
(/.f32 (-.f32 (*.f32 #s(literal 1 binary32) (+.f32 (fma.f32 ux ux ux) #s(literal 1 binary32))) (*.f32 (+.f32 (fma.f32 ux ux ux) #s(literal 1 binary32)) (pow.f32 ux #s(literal 3 binary32)))) (pow.f32 (+.f32 (fma.f32 ux ux ux) #s(literal 1 binary32)) #s(literal 2 binary32)))
(/.f32 (-.f32 (*.f32 ux ux) #s(literal 1 binary32)) (-.f32 (neg.f32 ux) #s(literal 1 binary32)))
(/.f32 (neg.f32 (-.f32 #s(literal 1 binary32) (*.f32 ux ux))) (neg.f32 (+.f32 ux #s(literal 1 binary32))))
(/.f32 (neg.f32 (-.f32 #s(literal 1 binary32) (pow.f32 ux #s(literal 3 binary32)))) (neg.f32 (+.f32 (fma.f32 ux ux ux) #s(literal 1 binary32))))
(/.f32 (-.f32 #s(literal 1 binary32) (*.f32 ux ux)) (+.f32 ux #s(literal 1 binary32)))
(/.f32 (-.f32 #s(literal 1 binary32) (pow.f32 ux #s(literal 3 binary32))) (fma.f32 ux ux (+.f32 ux #s(literal 1 binary32))))
(/.f32 (-.f32 #s(literal 1 binary32) (pow.f32 ux #s(literal 3 binary32))) (+.f32 (fma.f32 ux ux ux) #s(literal 1 binary32)))
(fma.f32 (neg.f32 ux) #s(literal 1 binary32) #s(literal 1 binary32))
(fma.f32 #s(literal -1 binary32) ux #s(literal 1 binary32))
(fma.f32 ux #s(literal -1 binary32) #s(literal 1 binary32))
(fma.f32 #s(literal 1 binary32) (neg.f32 ux) #s(literal 1 binary32))
(+.f32 (/.f32 #s(literal 1 binary32) (+.f32 (fma.f32 ux ux ux) #s(literal 1 binary32))) (/.f32 (pow.f32 ux #s(literal 3 binary32)) (+.f32 (fma.f32 ux ux ux) #s(literal 1 binary32))))
(+.f32 (neg.f32 ux) #s(literal 1 binary32))
(+.f32 #s(literal 1 binary32) (neg.f32 ux))
(neg.f32 (+.f32 ux #s(literal -1 binary32)))
(neg.f32 (+.f32 #s(literal -1 binary32) ux))
#s(literal 1 binary32)
ux
(*.f32 (*.f32 maxCos ux) #s(literal 1 binary32))
(*.f32 maxCos ux)
(*.f32 ux maxCos)
(*.f32 #s(literal 1 binary32) (*.f32 maxCos ux))
(neg.f32 (*.f32 (neg.f32 maxCos) ux))
maxCos
#s(approx (+ (- 1 ux) (* ux maxCos)) #s(literal 1 binary32))
#s(approx (+ (- 1 ux) (* ux maxCos)) (fma.f32 maxCos ux (-.f32 #s(literal 1 binary32) ux)))
#s(approx (- 1 ux) #s(literal 1 binary32))
#s(approx (- 1 ux) (-.f32 #s(literal 1 binary32) ux))
#s(approx ux ux)
#s(approx (* ux maxCos) (*.f32 maxCos ux))
#s(approx (+ (- 1 ux) (* ux maxCos)) (*.f32 (-.f32 maxCos #s(literal 1 binary32)) ux))
#s(approx (+ (- 1 ux) (* ux maxCos)) (*.f32 (+.f32 (expm1.f32 (neg.f32 (log.f32 ux))) maxCos) ux))
#s(approx (- 1 ux) (neg.f32 ux))
#s(approx (- 1 ux) (*.f32 (expm1.f32 (neg.f32 (log.f32 ux))) ux))
#s(approx (+ (- 1 ux) (* ux maxCos)) (fma.f32 #s(literal -1 binary32) ux (*.f32 maxCos ux)))
#s(approx (+ (- 1 ux) (* ux maxCos)) (*.f32 (-.f32 #s(literal 1 binary32) (+.f32 (/.f32 #s(literal 1 binary32) ux) maxCos)) (neg.f32 ux)))
#s(approx (- 1 ux) (*.f32 (-.f32 #s(literal 1 binary32) (/.f32 #s(literal 1 binary32) ux)) (neg.f32 ux)))
#s(approx (+ (- 1 ux) (* ux maxCos)) (-.f32 #s(literal 1 binary32) ux))
#s(approx (+ (- 1 ux) (* ux maxCos)) (fma.f32 maxCos ux (-.f32 #s(literal 1 binary32) ux)))
#s(approx maxCos maxCos)
#s(approx (+ (- 1 ux) (* ux maxCos)) (*.f32 maxCos ux))
#s(approx (+ (- 1 ux) (* ux maxCos)) (*.f32 (+.f32 (/.f32 (-.f32 #s(literal 1 binary32) ux) maxCos) ux) maxCos))
#s(approx (+ (- 1 ux) (* ux maxCos)) (*.f32 (-.f32 (/.f32 (+.f32 ux #s(literal -1 binary32)) maxCos) ux) (neg.f32 maxCos)))

eval8.0ms (0.7%)

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

Compiled 2 232 to 397 computations (82.2% saved)

prune3.0ms (0.3%)

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

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New1153118
Fresh000
Picked101
Done000
Total1163119
Accuracy
100.0%
Counts
119 → 3
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(fma.f32 (-.f32 maxCos #s(literal 1 binary32)) ux #s(literal 1 binary32))
98.6%
#s(approx (+ (- 1 ux) (* ux maxCos)) (-.f32 #s(literal 1 binary32) ux))
74.0%
#s(approx (+ (- 1 ux) (* ux maxCos)) #s(literal 1 binary32))
Compiler

Compiled 26 to 25 computations (3.8% saved)

series5.0ms (0.4%)

Memory
3.2MiB live, 3.2MiB allocated; 0ms collecting garbage
Counts
8 → 33
Calls
Call 1
Inputs
#s(approx (+ (- 1 ux) (* ux maxCos)) #s(literal 1 binary32))
#s(literal 1 binary32)
#s(approx (+ (- 1 ux) (* ux maxCos)) (-.f32 #s(literal 1 binary32) ux))
(-.f32 #s(literal 1 binary32) ux)
ux
(fma.f32 (-.f32 maxCos #s(literal 1 binary32)) ux #s(literal 1 binary32))
(-.f32 maxCos #s(literal 1 binary32))
maxCos
Outputs
#s(approx (+ (- 1 ux) (* ux maxCos)) #s(hole binary32 1))
#s(approx (+ (- 1 ux) (* ux maxCos)) #s(hole binary32 (+ 1 (* ux (- maxCos 1)))))
#s(approx (- 1 ux) #s(hole binary32 1))
#s(approx (- 1 ux) #s(hole binary32 (+ 1 (* -1 ux))))
#s(approx ux #s(hole binary32 ux))
#s(approx (+ (* (- maxCos 1) ux) 1) #s(hole binary32 1))
#s(approx (+ (* (- maxCos 1) ux) 1) #s(hole binary32 (+ 1 (* ux (- maxCos 1)))))
#s(approx (+ (- 1 ux) (* ux maxCos)) #s(hole binary32 (* ux (- maxCos 1))))
#s(approx (+ (- 1 ux) (* ux maxCos)) #s(hole binary32 (* ux (- (+ maxCos (/ 1 ux)) 1))))
#s(approx (- 1 ux) #s(hole binary32 (* -1 ux)))
#s(approx (- 1 ux) #s(hole binary32 (* ux (- (/ 1 ux) 1))))
#s(approx (+ (* (- maxCos 1) ux) 1) #s(hole binary32 (* ux (- maxCos 1))))
#s(approx (+ (* (- maxCos 1) ux) 1) #s(hole binary32 (* ux (- (+ maxCos (/ 1 ux)) 1))))
#s(approx (+ (- 1 ux) (* ux maxCos)) #s(hole binary32 (* -1 (* ux (+ 1 (* -1 maxCos))))))
#s(approx (+ (- 1 ux) (* ux maxCos)) #s(hole binary32 (* -1 (* ux (- (+ 1 (* -1 maxCos)) (/ 1 ux))))))
#s(approx (- 1 ux) #s(hole binary32 (* -1 (* ux (- 1 (/ 1 ux))))))
#s(approx (+ (* (- maxCos 1) ux) 1) #s(hole binary32 (* -1 (* ux (- (* -1 (- maxCos 1)) (/ 1 ux))))))
#s(approx (+ (- 1 ux) (* ux maxCos)) #s(hole binary32 (- 1 ux)))
#s(approx (+ (- 1 ux) (* ux maxCos)) #s(hole binary32 (- (+ 1 (* maxCos ux)) ux)))
#s(approx (+ (* (- maxCos 1) ux) 1) #s(hole binary32 (+ 1 (* -1 ux))))
#s(approx (+ (* (- maxCos 1) ux) 1) #s(hole binary32 (+ 1 (+ (* -1 ux) (* maxCos ux)))))
#s(approx (- maxCos 1) #s(hole binary32 -1))
#s(approx (- maxCos 1) #s(hole binary32 (- maxCos 1)))
#s(approx maxCos #s(hole binary32 maxCos))
#s(approx (+ (- 1 ux) (* ux maxCos)) #s(hole binary32 (* maxCos ux)))
#s(approx (+ (- 1 ux) (* ux maxCos)) #s(hole binary32 (* maxCos (- (+ ux (/ 1 maxCos)) (/ ux maxCos)))))
#s(approx (+ (* (- maxCos 1) ux) 1) #s(hole binary32 (* maxCos ux)))
#s(approx (+ (* (- maxCos 1) ux) 1) #s(hole binary32 (* maxCos (+ ux (+ (* -1 (/ ux maxCos)) (/ 1 maxCos))))))
#s(approx (- maxCos 1) #s(hole binary32 maxCos))
#s(approx (- maxCos 1) #s(hole binary32 (* maxCos (- 1 (/ 1 maxCos)))))
#s(approx (+ (- 1 ux) (* ux maxCos)) #s(hole binary32 (* -1 (* maxCos (+ (* -1 ux) (* -1 (/ (- 1 ux) maxCos)))))))
#s(approx (+ (* (- maxCos 1) ux) 1) #s(hole binary32 (* -1 (* maxCos (+ (* -1 ux) (* -1 (/ (+ 1 (* -1 ux)) maxCos)))))))
#s(approx (- maxCos 1) #s(hole binary32 (* -1 (* maxCos (- (/ 1 maxCos) 1)))))
Calls

9 calls:

TimeVariablePointExpression
1.0ms
maxCos
@0
((+ (- 1 ux) (* ux maxCos)) 1 (+ (- 1 ux) (* ux maxCos)) (- 1 ux) ux (+ (* (- maxCos 1) ux) 1) (- maxCos 1) maxCos)
1.0ms
ux
@-inf
((+ (- 1 ux) (* ux maxCos)) 1 (+ (- 1 ux) (* ux maxCos)) (- 1 ux) ux (+ (* (- maxCos 1) ux) 1) (- maxCos 1) maxCos)
1.0ms
maxCos
@-inf
((+ (- 1 ux) (* ux maxCos)) 1 (+ (- 1 ux) (* ux maxCos)) (- 1 ux) ux (+ (* (- maxCos 1) ux) 1) (- maxCos 1) maxCos)
1.0ms
maxCos
@inf
((+ (- 1 ux) (* ux maxCos)) 1 (+ (- 1 ux) (* ux maxCos)) (- 1 ux) ux (+ (* (- maxCos 1) ux) 1) (- maxCos 1) maxCos)
0.0ms
ux
@0
((+ (- 1 ux) (* ux maxCos)) 1 (+ (- 1 ux) (* ux maxCos)) (- 1 ux) ux (+ (* (- maxCos 1) ux) 1) (- maxCos 1) maxCos)

rewrite181.0ms (14.5%)

Memory
-28.7MiB live, 171.0MiB allocated; 71ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0100450
0101426
1507396
24566396
08279390
Stop Event
iter-limit
node-limit
iter-limit
Counts
41 → 141
Calls
Call 1
Inputs
#s(approx (+ (- 1 ux) (* ux maxCos)) #s(literal 1 binary32))
#s(literal 1 binary32)
#s(approx (+ (- 1 ux) (* ux maxCos)) (-.f32 #s(literal 1 binary32) ux))
(-.f32 #s(literal 1 binary32) ux)
ux
(fma.f32 (-.f32 maxCos #s(literal 1 binary32)) ux #s(literal 1 binary32))
(-.f32 maxCos #s(literal 1 binary32))
maxCos
#s(approx (+ (- 1 ux) (* ux maxCos)) #s(hole binary32 1))
#s(approx (+ (- 1 ux) (* ux maxCos)) #s(hole binary32 (+ 1 (* ux (- maxCos 1)))))
#s(approx (- 1 ux) #s(hole binary32 1))
#s(approx (- 1 ux) #s(hole binary32 (+ 1 (* -1 ux))))
#s(approx ux #s(hole binary32 ux))
#s(approx (+ (* (- maxCos 1) ux) 1) #s(hole binary32 1))
#s(approx (+ (* (- maxCos 1) ux) 1) #s(hole binary32 (+ 1 (* ux (- maxCos 1)))))
#s(approx (+ (- 1 ux) (* ux maxCos)) #s(hole binary32 (* ux (- maxCos 1))))
#s(approx (+ (- 1 ux) (* ux maxCos)) #s(hole binary32 (* ux (- (+ maxCos (/ 1 ux)) 1))))
#s(approx (- 1 ux) #s(hole binary32 (* -1 ux)))
#s(approx (- 1 ux) #s(hole binary32 (* ux (- (/ 1 ux) 1))))
#s(approx (+ (* (- maxCos 1) ux) 1) #s(hole binary32 (* ux (- maxCos 1))))
#s(approx (+ (* (- maxCos 1) ux) 1) #s(hole binary32 (* ux (- (+ maxCos (/ 1 ux)) 1))))
#s(approx (+ (- 1 ux) (* ux maxCos)) #s(hole binary32 (* -1 (* ux (+ 1 (* -1 maxCos))))))
#s(approx (+ (- 1 ux) (* ux maxCos)) #s(hole binary32 (* -1 (* ux (- (+ 1 (* -1 maxCos)) (/ 1 ux))))))
#s(approx (- 1 ux) #s(hole binary32 (* -1 (* ux (- 1 (/ 1 ux))))))
#s(approx (+ (* (- maxCos 1) ux) 1) #s(hole binary32 (* -1 (* ux (- (* -1 (- maxCos 1)) (/ 1 ux))))))
#s(approx (+ (- 1 ux) (* ux maxCos)) #s(hole binary32 (- 1 ux)))
#s(approx (+ (- 1 ux) (* ux maxCos)) #s(hole binary32 (- (+ 1 (* maxCos ux)) ux)))
#s(approx (+ (* (- maxCos 1) ux) 1) #s(hole binary32 (+ 1 (* -1 ux))))
#s(approx (+ (* (- maxCos 1) ux) 1) #s(hole binary32 (+ 1 (+ (* -1 ux) (* maxCos ux)))))
#s(approx (- maxCos 1) #s(hole binary32 -1))
#s(approx (- maxCos 1) #s(hole binary32 (- maxCos 1)))
#s(approx maxCos #s(hole binary32 maxCos))
#s(approx (+ (- 1 ux) (* ux maxCos)) #s(hole binary32 (* maxCos ux)))
#s(approx (+ (- 1 ux) (* ux maxCos)) #s(hole binary32 (* maxCos (- (+ ux (/ 1 maxCos)) (/ ux maxCos)))))
#s(approx (+ (* (- maxCos 1) ux) 1) #s(hole binary32 (* maxCos ux)))
#s(approx (+ (* (- maxCos 1) ux) 1) #s(hole binary32 (* maxCos (+ ux (+ (* -1 (/ ux maxCos)) (/ 1 maxCos))))))
#s(approx (- maxCos 1) #s(hole binary32 maxCos))
#s(approx (- maxCos 1) #s(hole binary32 (* maxCos (- 1 (/ 1 maxCos)))))
#s(approx (+ (- 1 ux) (* ux maxCos)) #s(hole binary32 (* -1 (* maxCos (+ (* -1 ux) (* -1 (/ (- 1 ux) maxCos)))))))
#s(approx (+ (* (- maxCos 1) ux) 1) #s(hole binary32 (* -1 (* maxCos (+ (* -1 ux) (* -1 (/ (+ 1 (* -1 ux)) maxCos)))))))
#s(approx (- maxCos 1) #s(hole binary32 (* -1 (* maxCos (- (/ 1 maxCos) 1)))))
Outputs
#s(approx (+ (* (- maxCos 1) ux) 1) #s(literal 1 binary32))
#s(literal 1 binary32)
#s(approx (+ (* (- maxCos 1) ux) 1) (-.f32 #s(literal 1 binary32) ux))
(*.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) ux))
(-.f32 (/.f32 #s(literal 1 binary32) (+.f32 ux #s(literal 1 binary32))) (/.f32 (*.f32 ux ux) (+.f32 ux #s(literal 1 binary32))))
(-.f32 (/.f32 #s(literal 1 binary32) (+.f32 (fma.f32 ux ux ux) #s(literal 1 binary32))) (/.f32 (pow.f32 ux #s(literal 3 binary32)) (+.f32 (fma.f32 ux ux ux) #s(literal 1 binary32))))
(-.f32 (neg.f32 ux) #s(literal -1 binary32))
(-.f32 #s(literal 1 binary32) (*.f32 (neg.f32 ux) #s(literal -1 binary32)))
(-.f32 #s(literal 1 binary32) ux)
(/.f32 (-.f32 (*.f32 ux ux) #s(literal 1 binary32)) (-.f32 (neg.f32 ux) #s(literal 1 binary32)))
(/.f32 (neg.f32 (-.f32 #s(literal 1 binary32) (*.f32 ux ux))) (neg.f32 (+.f32 ux #s(literal 1 binary32))))
(/.f32 (neg.f32 (-.f32 #s(literal 1 binary32) (pow.f32 ux #s(literal 3 binary32)))) (neg.f32 (+.f32 (fma.f32 ux ux ux) #s(literal 1 binary32))))
(/.f32 (-.f32 #s(literal 1 binary32) (*.f32 ux ux)) (+.f32 ux #s(literal 1 binary32)))
(/.f32 (-.f32 #s(literal 1 binary32) (pow.f32 ux #s(literal 3 binary32))) (fma.f32 ux ux (+.f32 ux #s(literal 1 binary32))))
(/.f32 (-.f32 #s(literal 1 binary32) (pow.f32 ux #s(literal 3 binary32))) (+.f32 (fma.f32 ux ux ux) #s(literal 1 binary32)))
(fma.f32 (neg.f32 ux) #s(literal 1 binary32) #s(literal 1 binary32))
(fma.f32 #s(literal -1 binary32) ux #s(literal 1 binary32))
(fma.f32 ux #s(literal -1 binary32) #s(literal 1 binary32))
(fma.f32 #s(literal 1 binary32) (neg.f32 ux) #s(literal 1 binary32))
(+.f32 (/.f32 #s(literal 1 binary32) (+.f32 (fma.f32 ux ux ux) #s(literal 1 binary32))) (/.f32 (pow.f32 ux #s(literal 3 binary32)) (+.f32 (fma.f32 ux ux ux) #s(literal 1 binary32))))
(+.f32 (neg.f32 ux) #s(literal 1 binary32))
(+.f32 #s(literal 1 binary32) (neg.f32 ux))
(neg.f32 (+.f32 #s(literal -1 binary32) ux))
ux
(*.f32 #s(literal 1 binary32) (fma.f32 (-.f32 maxCos #s(literal 1 binary32)) ux #s(literal 1 binary32)))
(-.f32 (/.f32 (pow.f32 (+.f32 #s(literal -1 binary32) ux) #s(literal 2 binary32)) (-.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 maxCos ux))) (/.f32 (pow.f32 (*.f32 maxCos ux) #s(literal 2 binary32)) (-.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 maxCos ux))))
(-.f32 (/.f32 (pow.f32 (*.f32 (-.f32 maxCos #s(literal 1 binary32)) ux) #s(literal 2 binary32)) (fma.f32 (-.f32 #s(literal 1 binary32) maxCos) ux #s(literal -1 binary32))) (/.f32 #s(literal 1 binary32) (fma.f32 (-.f32 #s(literal 1 binary32) maxCos) ux #s(literal -1 binary32))))
(-.f32 (/.f32 #s(literal 1 binary32) (fma.f32 (-.f32 maxCos #s(literal 1 binary32)) ux #s(literal 1 binary32))) (/.f32 (pow.f32 (*.f32 (-.f32 maxCos #s(literal 1 binary32)) ux) #s(literal 2 binary32)) (fma.f32 (-.f32 maxCos #s(literal 1 binary32)) ux #s(literal 1 binary32))))
(-.f32 (/.f32 (pow.f32 (fma.f32 maxCos ux #s(literal 1 binary32)) #s(literal 2 binary32)) (+.f32 (fma.f32 maxCos ux #s(literal 1 binary32)) ux)) (/.f32 (*.f32 ux ux) (+.f32 (fma.f32 maxCos ux #s(literal 1 binary32)) ux)))
(-.f32 (/.f32 (pow.f32 (fma.f32 maxCos ux #s(literal 1 binary32)) #s(literal 3 binary32)) (fma.f32 ux (+.f32 (fma.f32 maxCos ux #s(literal 1 binary32)) ux) (pow.f32 (fma.f32 maxCos ux #s(literal 1 binary32)) #s(literal 2 binary32)))) (/.f32 (pow.f32 ux #s(literal 3 binary32)) (fma.f32 ux (+.f32 (fma.f32 maxCos ux #s(literal 1 binary32)) ux) (pow.f32 (fma.f32 maxCos ux #s(literal 1 binary32)) #s(literal 2 binary32)))))
(-.f32 (+.f32 ux #s(literal 1 binary32)) (*.f32 maxCos ux))
(-.f32 (-.f32 #s(literal 1 binary32) (*.f32 maxCos ux)) (neg.f32 ux))
(-.f32 (fma.f32 maxCos ux #s(literal 1 binary32)) ux)
(-.f32 (neg.f32 ux) (-.f32 (*.f32 (neg.f32 maxCos) ux) #s(literal 1 binary32)))
(-.f32 (*.f32 (-.f32 maxCos #s(literal 1 binary32)) ux) #s(literal -1 binary32))
(-.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 (neg.f32 maxCos) ux))
(-.f32 #s(literal 1 binary32) (*.f32 (-.f32 maxCos #s(literal 1 binary32)) ux))
(/.f32 (-.f32 (pow.f32 (*.f32 maxCos ux) #s(literal 2 binary32)) (pow.f32 (+.f32 #s(literal -1 binary32) ux) #s(literal 2 binary32))) (-.f32 (*.f32 maxCos ux) (-.f32 #s(literal 1 binary32) ux)))
(/.f32 (-.f32 #s(literal 1 binary32) (pow.f32 (*.f32 (-.f32 maxCos #s(literal 1 binary32)) ux) #s(literal 3 binary32))) (fma.f32 (*.f32 (-.f32 maxCos #s(literal 1 binary32)) ux) (fma.f32 (-.f32 #s(literal 1 binary32) maxCos) ux #s(literal -1 binary32)) #s(literal 1 binary32)))
(/.f32 (-.f32 (pow.f32 (-.f32 #s(literal 1 binary32) ux) #s(literal 3 binary32)) (pow.f32 (*.f32 maxCos ux) #s(literal 3 binary32))) (+.f32 (pow.f32 (+.f32 #s(literal -1 binary32) ux) #s(literal 2 binary32)) (+.f32 (pow.f32 (*.f32 maxCos ux) #s(literal 2 binary32)) (*.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 (neg.f32 maxCos) ux)))))
(/.f32 (neg.f32 (-.f32 (pow.f32 (+.f32 #s(literal -1 binary32) ux) #s(literal 2 binary32)) (pow.f32 (*.f32 maxCos ux) #s(literal 2 binary32)))) (neg.f32 (-.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 maxCos ux))))
(/.f32 (neg.f32 (+.f32 (pow.f32 (-.f32 #s(literal 1 binary32) ux) #s(literal 3 binary32)) (pow.f32 (*.f32 maxCos ux) #s(literal 3 binary32)))) (neg.f32 (fma.f32 (*.f32 maxCos ux) (-.f32 (*.f32 maxCos ux) (-.f32 #s(literal 1 binary32) ux)) (pow.f32 (+.f32 #s(literal -1 binary32) ux) #s(literal 2 binary32)))))
(/.f32 (neg.f32 (-.f32 (pow.f32 (*.f32 (-.f32 maxCos #s(literal 1 binary32)) ux) #s(literal 2 binary32)) #s(literal 1 binary32))) (neg.f32 (fma.f32 (-.f32 #s(literal 1 binary32) maxCos) ux #s(literal -1 binary32))))
(/.f32 (neg.f32 (pow.f32 (fma.f32 (-.f32 maxCos #s(literal 1 binary32)) ux #s(literal 1 binary32)) #s(literal 2 binary32))) (neg.f32 (fma.f32 (-.f32 maxCos #s(literal 1 binary32)) ux #s(literal 1 binary32))))
(/.f32 (neg.f32 (-.f32 (pow.f32 (*.f32 (-.f32 maxCos #s(literal 1 binary32)) ux) #s(literal 3 binary32)) #s(literal -1 binary32))) (neg.f32 (fma.f32 (*.f32 (-.f32 maxCos #s(literal 1 binary32)) ux) (fma.f32 (-.f32 #s(literal 1 binary32) maxCos) ux #s(literal -1 binary32)) #s(literal 1 binary32))))
(/.f32 (neg.f32 (-.f32 (pow.f32 (*.f32 (-.f32 maxCos #s(literal 1 binary32)) ux) #s(literal 3 binary32)) #s(literal -1 binary32))) (neg.f32 (+.f32 (pow.f32 (*.f32 (-.f32 maxCos #s(literal 1 binary32)) ux) #s(literal 2 binary32)) (fma.f32 (-.f32 maxCos #s(literal 1 binary32)) ux #s(literal 1 binary32)))))
(/.f32 (neg.f32 (-.f32 (pow.f32 (fma.f32 maxCos ux #s(literal 1 binary32)) #s(literal 2 binary32)) (*.f32 ux ux))) (neg.f32 (+.f32 (fma.f32 maxCos ux #s(literal 1 binary32)) ux)))
(/.f32 (neg.f32 (-.f32 (pow.f32 (fma.f32 maxCos ux #s(literal 1 binary32)) #s(literal 3 binary32)) (pow.f32 ux #s(literal 3 binary32)))) (neg.f32 (fma.f32 ux (+.f32 (fma.f32 maxCos ux #s(literal 1 binary32)) ux) (pow.f32 (fma.f32 maxCos ux #s(literal 1 binary32)) #s(literal 2 binary32)))))
(/.f32 (-.f32 (pow.f32 (fma.f32 maxCos ux #s(literal 1 binary32)) #s(literal 2 binary32)) (*.f32 ux ux)) (+.f32 (fma.f32 maxCos ux #s(literal 1 binary32)) ux))
(/.f32 (-.f32 (pow.f32 (+.f32 #s(literal -1 binary32) ux) #s(literal 2 binary32)) (pow.f32 (*.f32 maxCos ux) #s(literal 2 binary32))) (-.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 maxCos ux)))
(/.f32 (-.f32 (pow.f32 (*.f32 (-.f32 maxCos #s(literal 1 binary32)) ux) #s(literal 2 binary32)) #s(literal 1 binary32)) (fma.f32 (-.f32 #s(literal 1 binary32) maxCos) ux #s(literal -1 binary32)))
(/.f32 (pow.f32 (fma.f32 (-.f32 maxCos #s(literal 1 binary32)) ux #s(literal 1 binary32)) #s(literal 2 binary32)) (fma.f32 (-.f32 maxCos #s(literal 1 binary32)) ux #s(literal 1 binary32)))
(/.f32 (-.f32 (pow.f32 (fma.f32 maxCos ux #s(literal 1 binary32)) #s(literal 3 binary32)) (pow.f32 ux #s(literal 3 binary32))) (fma.f32 ux (+.f32 (fma.f32 maxCos ux #s(literal 1 binary32)) ux) (pow.f32 (fma.f32 maxCos ux #s(literal 1 binary32)) #s(literal 2 binary32))))
(/.f32 (+.f32 (pow.f32 (-.f32 #s(literal 1 binary32) ux) #s(literal 3 binary32)) (pow.f32 (*.f32 maxCos ux) #s(literal 3 binary32))) (+.f32 (pow.f32 (*.f32 maxCos ux) #s(literal 2 binary32)) (-.f32 (pow.f32 (+.f32 #s(literal -1 binary32) ux) #s(literal 2 binary32)) (*.f32 (*.f32 (-.f32 #s(literal 1 binary32) ux) maxCos) ux))))
(/.f32 (+.f32 (pow.f32 (-.f32 #s(literal 1 binary32) ux) #s(literal 3 binary32)) (pow.f32 (*.f32 maxCos ux) #s(literal 3 binary32))) (fma.f32 (*.f32 maxCos ux) (-.f32 (*.f32 maxCos ux) (-.f32 #s(literal 1 binary32) ux)) (pow.f32 (+.f32 #s(literal -1 binary32) ux) #s(literal 2 binary32))))
(/.f32 (-.f32 (pow.f32 (*.f32 (-.f32 maxCos #s(literal 1 binary32)) ux) #s(literal 3 binary32)) #s(literal -1 binary32)) (fma.f32 (*.f32 (-.f32 maxCos #s(literal 1 binary32)) ux) (fma.f32 (-.f32 #s(literal 1 binary32) maxCos) ux #s(literal -1 binary32)) #s(literal 1 binary32)))
(/.f32 (-.f32 (pow.f32 (*.f32 (-.f32 maxCos #s(literal 1 binary32)) ux) #s(literal 3 binary32)) #s(literal -1 binary32)) (+.f32 (pow.f32 (*.f32 (-.f32 maxCos #s(literal 1 binary32)) ux) #s(literal 2 binary32)) (fma.f32 (-.f32 maxCos #s(literal 1 binary32)) ux #s(literal 1 binary32))))
(fma.f32 (*.f32 #s(literal -1 binary32) (-.f32 #s(literal 1 binary32) maxCos)) ux #s(literal 1 binary32))
(fma.f32 (*.f32 #s(literal 1 binary32) (-.f32 maxCos #s(literal 1 binary32))) ux #s(literal 1 binary32))
(fma.f32 (neg.f32 (-.f32 #s(literal 1 binary32) maxCos)) ux #s(literal 1 binary32))
(fma.f32 (*.f32 maxCos ux) #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) ux))
(fma.f32 (-.f32 #s(literal 1 binary32) maxCos) (neg.f32 ux) #s(literal 1 binary32))
(fma.f32 (-.f32 #s(literal 1 binary32) maxCos) ux #s(literal 1 binary32))
(fma.f32 (neg.f32 ux) (-.f32 #s(literal 1 binary32) maxCos) #s(literal 1 binary32))
(fma.f32 (neg.f32 ux) (-.f32 maxCos #s(literal 1 binary32)) #s(literal 1 binary32))
(fma.f32 (neg.f32 ux) #s(literal 1 binary32) (fma.f32 maxCos ux #s(literal 1 binary32)))
(fma.f32 #s(literal -1 binary32) (*.f32 (-.f32 maxCos #s(literal 1 binary32)) ux) #s(literal 1 binary32))
(fma.f32 #s(literal -1 binary32) ux (fma.f32 maxCos ux #s(literal 1 binary32)))
(fma.f32 (*.f32 (-.f32 maxCos #s(literal 1 binary32)) ux) #s(literal -1 binary32) #s(literal 1 binary32))
(fma.f32 (*.f32 (-.f32 maxCos #s(literal 1 binary32)) ux) #s(literal 1 binary32) #s(literal 1 binary32))
(fma.f32 (-.f32 maxCos #s(literal 1 binary32)) (neg.f32 ux) #s(literal 1 binary32))
(fma.f32 (-.f32 maxCos #s(literal 1 binary32)) ux #s(literal 1 binary32))
(fma.f32 maxCos ux (-.f32 #s(literal 1 binary32) ux))
(fma.f32 ux (*.f32 (-.f32 #s(literal 1 binary32) maxCos) #s(literal -1 binary32)) #s(literal 1 binary32))
(fma.f32 ux (*.f32 #s(literal -1 binary32) (-.f32 #s(literal 1 binary32) maxCos)) #s(literal 1 binary32))
(fma.f32 ux (-.f32 #s(literal -1 binary32) (neg.f32 maxCos)) #s(literal 1 binary32))
(fma.f32 ux (*.f32 (-.f32 maxCos #s(literal 1 binary32)) #s(literal 1 binary32)) #s(literal 1 binary32))
(fma.f32 ux (neg.f32 (-.f32 #s(literal 1 binary32) maxCos)) #s(literal 1 binary32))
(fma.f32 ux (-.f32 #s(literal 1 binary32) maxCos) #s(literal 1 binary32))
(fma.f32 ux #s(literal -1 binary32) (fma.f32 maxCos ux #s(literal 1 binary32)))
(fma.f32 ux (-.f32 maxCos #s(literal 1 binary32)) #s(literal 1 binary32))
(fma.f32 ux maxCos (-.f32 #s(literal 1 binary32) ux))
(fma.f32 #s(literal 1 binary32) (*.f32 maxCos ux) (-.f32 #s(literal 1 binary32) ux))
(fma.f32 #s(literal 1 binary32) (neg.f32 ux) (fma.f32 maxCos ux #s(literal 1 binary32)))
(fma.f32 #s(literal 1 binary32) (*.f32 (-.f32 maxCos #s(literal 1 binary32)) ux) #s(literal 1 binary32))
(fma.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) ux) (*.f32 maxCos ux))
(+.f32 (/.f32 (pow.f32 (-.f32 #s(literal 1 binary32) ux) #s(literal 3 binary32)) (fma.f32 (*.f32 maxCos ux) (-.f32 (*.f32 maxCos ux) (-.f32 #s(literal 1 binary32) ux)) (pow.f32 (+.f32 #s(literal -1 binary32) ux) #s(literal 2 binary32)))) (/.f32 (pow.f32 (*.f32 maxCos ux) #s(literal 3 binary32)) (fma.f32 (*.f32 maxCos ux) (-.f32 (*.f32 maxCos ux) (-.f32 #s(literal 1 binary32) ux)) (pow.f32 (+.f32 #s(literal -1 binary32) ux) #s(literal 2 binary32)))))
(+.f32 (/.f32 #s(literal 1 binary32) (fma.f32 (*.f32 (-.f32 maxCos #s(literal 1 binary32)) ux) (fma.f32 (-.f32 #s(literal 1 binary32) maxCos) ux #s(literal -1 binary32)) #s(literal 1 binary32))) (/.f32 (pow.f32 (*.f32 (-.f32 maxCos #s(literal 1 binary32)) ux) #s(literal 3 binary32)) (fma.f32 (*.f32 (-.f32 maxCos #s(literal 1 binary32)) ux) (fma.f32 (-.f32 #s(literal 1 binary32) maxCos) ux #s(literal -1 binary32)) #s(literal 1 binary32))))
(+.f32 (/.f32 (pow.f32 (*.f32 (-.f32 maxCos #s(literal 1 binary32)) ux) #s(literal 3 binary32)) (+.f32 (pow.f32 (*.f32 (-.f32 maxCos #s(literal 1 binary32)) ux) #s(literal 2 binary32)) (fma.f32 (-.f32 maxCos #s(literal 1 binary32)) ux #s(literal 1 binary32)))) (/.f32 #s(literal 1 binary32) (+.f32 (pow.f32 (*.f32 (-.f32 maxCos #s(literal 1 binary32)) ux) #s(literal 2 binary32)) (fma.f32 (-.f32 maxCos #s(literal 1 binary32)) ux #s(literal 1 binary32)))))
(+.f32 (+.f32 ux #s(literal 1 binary32)) (*.f32 (neg.f32 maxCos) ux))
(+.f32 (fma.f32 maxCos ux #s(literal 1 binary32)) (neg.f32 ux))
(+.f32 (*.f32 maxCos ux) (-.f32 #s(literal 1 binary32) ux))
(+.f32 (neg.f32 ux) (fma.f32 maxCos ux #s(literal 1 binary32)))
(+.f32 (*.f32 (-.f32 maxCos #s(literal 1 binary32)) ux) #s(literal 1 binary32))
(+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 maxCos ux))
(+.f32 #s(literal 1 binary32) (*.f32 (-.f32 maxCos #s(literal 1 binary32)) ux))
(-.f32 (/.f32 (pow.f32 maxCos #s(literal 3 binary32)) (fma.f32 maxCos maxCos (-.f32 maxCos #s(literal -1 binary32)))) (/.f32 #s(literal 1 binary32) (fma.f32 maxCos maxCos (-.f32 maxCos #s(literal -1 binary32)))))
(-.f32 (/.f32 (*.f32 maxCos maxCos) (-.f32 maxCos #s(literal -1 binary32))) (/.f32 #s(literal 1 binary32) (-.f32 maxCos #s(literal -1 binary32))))
(-.f32 maxCos #s(literal 1 binary32))
(/.f32 (+.f32 #s(literal -1 binary32) (pow.f32 maxCos #s(literal 3 binary32))) (-.f32 (+.f32 #s(literal 1 binary32) (*.f32 maxCos maxCos)) (neg.f32 maxCos)))
(/.f32 (neg.f32 (fma.f32 maxCos maxCos #s(literal -1 binary32))) (neg.f32 (-.f32 maxCos #s(literal -1 binary32))))
(/.f32 (neg.f32 (-.f32 (pow.f32 maxCos #s(literal 3 binary32)) #s(literal 1 binary32))) (neg.f32 (fma.f32 maxCos maxCos (-.f32 maxCos #s(literal -1 binary32)))))
(/.f32 (fma.f32 maxCos maxCos #s(literal -1 binary32)) (-.f32 maxCos #s(literal -1 binary32)))
(/.f32 (-.f32 #s(literal 1 binary32) (*.f32 maxCos maxCos)) (-.f32 #s(literal -1 binary32) maxCos))
(/.f32 (-.f32 (pow.f32 maxCos #s(literal 3 binary32)) #s(literal 1 binary32)) (fma.f32 maxCos maxCos (-.f32 maxCos #s(literal -1 binary32))))
(+.f32 #s(literal -1 binary32) maxCos)
(+.f32 maxCos #s(literal -1 binary32))
maxCos
#s(approx (+ (* (- maxCos 1) ux) 1) #s(literal 1 binary32))
#s(approx (+ (* (- maxCos 1) ux) 1) (fma.f32 (-.f32 maxCos #s(literal 1 binary32)) ux #s(literal 1 binary32)))
#s(approx (- 1 ux) #s(literal 1 binary32))
#s(approx (- 1 ux) (-.f32 #s(literal 1 binary32) ux))
#s(approx ux ux)
#s(approx (+ (* (- maxCos 1) ux) 1) #s(literal 1 binary32))
#s(approx (+ (* (- maxCos 1) ux) 1) (fma.f32 (-.f32 maxCos #s(literal 1 binary32)) ux #s(literal 1 binary32)))
#s(approx (+ (* (- maxCos 1) ux) 1) (*.f32 (-.f32 maxCos #s(literal 1 binary32)) ux))
#s(approx (+ (* (- maxCos 1) ux) 1) (*.f32 (+.f32 (expm1.f32 (neg.f32 (log.f32 ux))) maxCos) ux))
#s(approx (- 1 ux) (neg.f32 ux))
#s(approx (- 1 ux) (*.f32 (expm1.f32 (neg.f32 (log.f32 ux))) ux))
#s(approx (+ (* (- maxCos 1) ux) 1) (*.f32 (-.f32 maxCos #s(literal 1 binary32)) ux))
#s(approx (+ (* (- maxCos 1) ux) 1) (*.f32 (+.f32 (expm1.f32 (neg.f32 (log.f32 ux))) maxCos) ux))
#s(approx (+ (* (- maxCos 1) ux) 1) (*.f32 (-.f32 maxCos #s(literal 1 binary32)) ux))
#s(approx (+ (* (- maxCos 1) ux) 1) (*.f32 (-.f32 #s(literal 1 binary32) (+.f32 (/.f32 #s(literal 1 binary32) ux) maxCos)) (neg.f32 ux)))
#s(approx (- 1 ux) (*.f32 (-.f32 #s(literal 1 binary32) (/.f32 #s(literal 1 binary32) ux)) (neg.f32 ux)))
#s(approx (+ (* (- maxCos 1) ux) 1) (*.f32 (-.f32 #s(literal 1 binary32) (+.f32 (/.f32 #s(literal 1 binary32) ux) maxCos)) (neg.f32 ux)))
#s(approx (+ (* (- maxCos 1) ux) 1) (-.f32 #s(literal 1 binary32) ux))
#s(approx (+ (* (- maxCos 1) ux) 1) (fma.f32 (-.f32 maxCos #s(literal 1 binary32)) ux #s(literal 1 binary32)))
#s(approx (+ (* (- maxCos 1) ux) 1) (-.f32 #s(literal 1 binary32) ux))
#s(approx (+ (* (- maxCos 1) ux) 1) (fma.f32 (-.f32 maxCos #s(literal 1 binary32)) ux #s(literal 1 binary32)))
#s(approx (- maxCos 1) #s(literal -1 binary32))
#s(approx (- maxCos 1) (-.f32 maxCos #s(literal 1 binary32)))
#s(approx maxCos maxCos)
#s(approx (+ (* (- maxCos 1) ux) 1) (*.f32 maxCos ux))
#s(approx (+ (* (- maxCos 1) ux) 1) (fma.f32 (-.f32 ux (/.f32 ux maxCos)) maxCos #s(literal 1 binary32)))
#s(approx (+ (* (- maxCos 1) ux) 1) (*.f32 maxCos ux))
#s(approx (+ (* (- maxCos 1) ux) 1) (fma.f32 (-.f32 ux (/.f32 ux maxCos)) maxCos #s(literal 1 binary32)))
#s(approx (- maxCos 1) maxCos)
#s(approx (- maxCos 1) (*.f32 (-.f32 #s(literal 1 binary32) (/.f32 #s(literal 1 binary32) maxCos)) maxCos))
#s(approx (+ (* (- maxCos 1) ux) 1) (*.f32 (-.f32 (/.f32 (+.f32 #s(literal -1 binary32) ux) maxCos) ux) (neg.f32 maxCos)))
#s(approx (+ (* (- maxCos 1) ux) 1) (*.f32 (-.f32 (/.f32 (+.f32 #s(literal -1 binary32) ux) maxCos) ux) (neg.f32 maxCos)))
#s(approx (- maxCos 1) (*.f32 (expm1.f32 (neg.f32 (log.f32 maxCos))) (neg.f32 maxCos)))

eval8.0ms (0.6%)

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

Compiled 1 768 to 325 computations (81.6% saved)

prune4.0ms (0.3%)

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

3 alts after pruning (0 fresh and 3 done)

PrunedKeptTotal
New1220122
Fresh000
Picked033
Done000
Total1223125
Accuracy
100.0%
Counts
125 → 3
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(fma.f32 (-.f32 maxCos #s(literal 1 binary32)) ux #s(literal 1 binary32))
98.6%
#s(approx (+ (- 1 ux) (* ux maxCos)) (-.f32 #s(literal 1 binary32) ux))
74.0%
#s(approx (+ (- 1 ux) (* ux maxCos)) #s(literal 1 binary32))
Compiler

Compiled 59 to 40 computations (32.2% saved)

regimes16.0ms (1.2%)

Memory
-26.8MiB live, 26.3MiB allocated; 14ms collecting garbage
Counts
4 → 1
Calls
Call 1
Inputs
#s(approx (+ (- 1 ux) (* ux maxCos)) #s(literal 1 binary32))
#s(approx (+ (- 1 ux) (* ux maxCos)) (-.f32 #s(literal 1 binary32) ux))
(fma.f32 (-.f32 maxCos #s(literal 1 binary32)) ux #s(literal 1 binary32))
(+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux maxCos))
Outputs
(fma.f32 (-.f32 maxCos #s(literal 1 binary32)) ux #s(literal 1 binary32))
Calls

4 calls:

10.0ms
ux
2.0ms
(+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux maxCos))
2.0ms
uy
2.0ms
maxCos
Results
AccuracySegmentsBranch
100.0%1(+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux maxCos))
100.0%1ux
100.0%1uy
100.0%1maxCos
Compiler

Compiled 10 to 16 computations (-60% saved)

regimes5.0ms (0.4%)

Memory
13.4MiB live, 13.4MiB allocated; 0ms collecting garbage
Counts
2 → 1
Calls
Call 1
Inputs
#s(approx (+ (- 1 ux) (* ux maxCos)) #s(literal 1 binary32))
#s(approx (+ (- 1 ux) (* ux maxCos)) (-.f32 #s(literal 1 binary32) ux))
Outputs
#s(approx (+ (- 1 ux) (* ux maxCos)) (-.f32 #s(literal 1 binary32) ux))
Calls

4 calls:

1.0ms
maxCos
1.0ms
uy
1.0ms
(+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux maxCos))
1.0ms
ux
Results
AccuracySegmentsBranch
98.6%1(+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux maxCos))
98.6%1ux
98.6%1uy
98.6%1maxCos
Compiler

Compiled 10 to 16 computations (-60% saved)

regimes4.0ms (0.3%)

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

Total -0.0b remaining (-0%)

Threshold costs -0b (-0%)

Counts
1 → 1
Calls
Call 1
Inputs
#s(approx (+ (- 1 ux) (* ux maxCos)) #s(literal 1 binary32))
Outputs
#s(approx (+ (- 1 ux) (* ux maxCos)) #s(literal 1 binary32))
Calls

4 calls:

1.0ms
uy
1.0ms
(+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux maxCos))
1.0ms
ux
1.0ms
maxCos
Results
AccuracySegmentsBranch
74.0%1(+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux maxCos))
74.0%1ux
74.0%1uy
74.0%1maxCos
Compiler

Compiled 10 to 16 computations (-60% saved)

derivations93.0ms (7.5%)

Memory
-31.9MiB live, 103.7MiB allocated; 11ms collecting garbage
Stop Event
done
Compiler

Compiled 26 to 13 computations (50% saved)

preprocess10.0ms (0.8%)

Memory
26.1MiB live, 26.1MiB allocated; 0ms collecting garbage
Remove

(abs uy)

Compiler

Compiled 118 to 90 computations (23.7% saved)

end0.0ms (0%)

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

Profiling

Loading profile data...