Beckmann Distribution sample, tan2theta, alphax == alphay

Time bar (total: 2.6s)

start0.0ms (0%)

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

analyze60.0ms (2.3%)

Memory
1.7MiB live, 46.8MiB allocated; 8ms collecting garbage
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%0.2%99.8%0%0%0%0
0%0%0.2%99.8%0%0%0%1
0%0%0.2%99.8%0%0%0%2
0%0%0.2%99.8%0%0%0%3
0%0%0.2%99.8%0%0%0%4
37.5%0.1%0.1%99.8%0%0%0%5
43.7%0.1%0.1%99.8%0%0%0%6
65.6%0.1%0.1%99.8%0%0%0%7
70.3%0.1%0%99.8%0%0%0%8
82%0.1%0%99.8%0%0%0%9
84.8%0.1%0%99.8%0%0%0%10
90.8%0.1%0%99.8%0%0%0%11
92.3%0.2%0%99.8%0%0%0%12
Compiler

Compiled 25 to 18 computations (28% saved)

sample881.0ms (34.2%)

Memory
23.3MiB live, 911.1MiB allocated; 197ms collecting garbage
Samples
653.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 443.0ms
ival-mult: 149.0ms (33.7% of total)
ival-log: 144.0ms (32.5% of total)
ival-sub: 52.0ms (11.7% of total)
ival-neg: 45.0ms (10.2% of total)
const: 37.0ms (8.4% of total)
exact: 7.0ms (1.6% of total)
adjust: 3.0ms (0.7% of total)
ival-assert: 2.0ms (0.5% of total)
ival-<=: 2.0ms (0.5% of total)
ival-and: 1.0ms (0.2% of total)
Bogosity

explain90.0ms (3.5%)

Memory
15.9MiB live, 117.3MiB allocated; 7ms collecting garbage
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
1918(0.0009595235460437834 0.006227615289390087)4(0.06589572131633759 0.0114758824929595)(log.f32 (-.f32 #s(literal 1 binary32) u0))
00-0-u0
00-0-#s(literal 1 binary32)
00-0-(neg.f32 alpha)
00-0-(*.f32 (neg.f32 alpha) alpha)
00-0-alpha
00-0-(-.f32 #s(literal 1 binary32) u0)
00-0-(*.f32 (*.f32 (neg.f32 alpha) alpha) (log.f32 (-.f32 #s(literal 1 binary32) u0)))
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
log.f32(log.f32 (-.f32 #s(literal 1 binary32) u0))sensitivity19515
Confusion
Predicted +Predicted -
+1863
-958
Precision
0.9538461538461539
Recall
0.9841269841269841
Confusion?
Predicted +Predicted MaybePredicted -
+18630
-91246
Precision?
0.9
Recall?
1.0
Freqs
test
numberfreq
061
1195
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Samples
39.0ms512×0valid
Compiler

Compiled 63 to 28 computations (55.6% saved)

Precisions
Click to see histograms. Total time spent on operations: 22.0ms
ival-log: 8.0ms (36.2% of total)
ival-mult: 7.0ms (31.7% of total)
ival-sub: 3.0ms (13.6% of total)
ival-neg: 3.0ms (13.6% of total)
ival-true: 0.0ms (0% of total)
adjust: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

preprocess193.0ms (7.5%)

Memory
19.7MiB live, 157.4MiB allocated; 13ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02158
15654
212254
322052
441152
575752
6402052
089
0139
1219
2409
3789
41709
54129
622509
755389
086818
Stop Event
iter limit
node limit
iter limit
node limit
Calls
Call 1
Inputs
(*.f32 (*.f32 (neg.f32 alpha) alpha) (log.f32 (-.f32 #s(literal 1 binary32) u0)))
Outputs
(*.f32 (*.f32 (neg.f32 alpha) alpha) (log.f32 (-.f32 #s(literal 1 binary32) u0)))
(*.f32 (log1p.f32 (neg.f32 u0)) (*.f32 (neg.f32 alpha) alpha))
Symmetry

(abs alpha)

Compiler

Compiled 9 to 8 computations (11.1% saved)

eval0.0ms (0%)

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

Compiled 0 to 2 computations (-∞% saved)

prune0.0ms (0%)

Memory
0.5MiB live, 0.5MiB allocated; 0ms collecting garbage
Alt Table
Click to see full alt table
StatusAccuracyProgram
58.7%
(*.f32 (*.f32 (neg.f32 alpha) alpha) (log.f32 (-.f32 #s(literal 1 binary32) u0)))
Compiler

Compiled 9 to 8 computations (11.1% saved)

series73.0ms (2.8%)

Memory
-29.0MiB live, 63.2MiB allocated; 25ms collecting garbage
Counts
8 → 34
Calls
Call 1
Inputs
(*.f32 (*.f32 (neg.f32 alpha) alpha) (log.f32 (-.f32 #s(literal 1 binary32) u0)))
(*.f32 (neg.f32 alpha) alpha)
(neg.f32 alpha)
alpha
(log.f32 (-.f32 #s(literal 1 binary32) u0))
(-.f32 #s(literal 1 binary32) u0)
#s(literal 1 binary32)
u0
Outputs
#s(approx (* (* (neg alpha) alpha) (log (- 1 u0))) #s(hole binary32 (* -1 (* (pow alpha 2) (log (- 1 u0))))))
#s(approx (* (neg alpha) alpha) #s(hole binary32 (* -1 (pow alpha 2))))
#s(approx (neg alpha) #s(hole binary32 (* -1 alpha)))
#s(approx alpha #s(hole binary32 alpha))
#s(approx (* (* (neg alpha) alpha) (log (- 1 u0))) #s(hole binary32 (* (pow alpha 2) u0)))
#s(approx (* (* (neg alpha) alpha) (log (- 1 u0))) #s(hole binary32 (* u0 (+ (* 1/2 (* (pow alpha 2) u0)) (pow alpha 2)))))
#s(approx (* (* (neg alpha) alpha) (log (- 1 u0))) #s(hole binary32 (* u0 (+ (* u0 (+ (* 1/3 (* (pow alpha 2) u0)) (* 1/2 (pow alpha 2)))) (pow alpha 2)))))
#s(approx (* (* (neg alpha) alpha) (log (- 1 u0))) #s(hole binary32 (* u0 (+ (* u0 (+ (* 1/2 (pow alpha 2)) (* u0 (+ (* 1/4 (* (pow alpha 2) u0)) (* 1/3 (pow alpha 2)))))) (pow alpha 2)))))
#s(approx (log (- 1 u0)) #s(hole binary32 (* -1 u0)))
#s(approx (log (- 1 u0)) #s(hole binary32 (* u0 (- (* -1/2 u0) 1))))
#s(approx (log (- 1 u0)) #s(hole binary32 (* u0 (- (* u0 (- (* -1/3 u0) 1/2)) 1))))
#s(approx (log (- 1 u0)) #s(hole binary32 (* u0 (- (* u0 (- (* u0 (- (* -1/4 u0) 1/3)) 1/2)) 1))))
#s(approx (- 1 u0) #s(hole binary32 1))
#s(approx (- 1 u0) #s(hole binary32 (+ 1 (* -1 u0))))
#s(approx u0 #s(hole binary32 u0))
#s(approx (* (* (neg alpha) alpha) (log (- 1 u0))) #s(hole binary32 (* -1 (* (pow alpha 2) (+ (log -1) (* -1 (log (/ 1 u0))))))))
#s(approx (* (* (neg alpha) alpha) (log (- 1 u0))) #s(hole binary32 (+ (* -1 (* (pow alpha 2) (+ (log -1) (* -1 (log (/ 1 u0)))))) (/ (pow alpha 2) u0))))
#s(approx (* (* (neg alpha) alpha) (log (- 1 u0))) #s(hole binary32 (+ (* -1 (* (pow alpha 2) (+ (log -1) (* -1 (log (/ 1 u0)))))) (+ (* 1/2 (/ (pow alpha 2) (pow u0 2))) (/ (pow alpha 2) u0)))))
#s(approx (* (* (neg alpha) alpha) (log (- 1 u0))) #s(hole binary32 (+ (* -1 (* (pow alpha 2) (+ (log -1) (* -1 (log (/ 1 u0)))))) (+ (* 1/3 (/ (pow alpha 2) (pow u0 3))) (+ (* 1/2 (/ (pow alpha 2) (pow u0 2))) (/ (pow alpha 2) u0))))))
#s(approx (log (- 1 u0)) #s(hole binary32 (+ (log -1) (* -1 (log (/ 1 u0))))))
#s(approx (log (- 1 u0)) #s(hole binary32 (- (+ (log -1) (* -1 (log (/ 1 u0)))) (/ 1 u0))))
#s(approx (log (- 1 u0)) #s(hole binary32 (+ (log -1) (+ (* -1 (log (/ 1 u0))) (* -1 (/ (+ 1 (* 1/2 (/ 1 u0))) u0))))))
#s(approx (log (- 1 u0)) #s(hole binary32 (- (+ (log -1) (+ (* -1 (log (/ 1 u0))) (* -1 (/ (+ 1/2 (* 1/3 (/ 1 u0))) (pow u0 2))))) (/ 1 u0))))
#s(approx (- 1 u0) #s(hole binary32 (* -1 u0)))
#s(approx (- 1 u0) #s(hole binary32 (* u0 (- (/ 1 u0) 1))))
#s(approx (* (* (neg alpha) alpha) (log (- 1 u0))) #s(hole binary32 (* (pow alpha 2) (log (/ -1 u0)))))
#s(approx (* (* (neg alpha) alpha) (log (- 1 u0))) #s(hole binary32 (+ (* (pow alpha 2) (log (/ -1 u0))) (/ (pow alpha 2) u0))))
#s(approx (* (* (neg alpha) alpha) (log (- 1 u0))) #s(hole binary32 (+ (* -1 (/ (+ (* -1 (pow alpha 2)) (* -1/2 (/ (pow alpha 2) u0))) u0)) (* (pow alpha 2) (log (/ -1 u0))))))
#s(approx (* (* (neg alpha) alpha) (log (- 1 u0))) #s(hole binary32 (+ (* -1 (/ (+ (* -1 (/ (+ (* 1/3 (/ (pow alpha 2) u0)) (* 1/2 (pow alpha 2))) u0)) (* -1 (pow alpha 2))) u0)) (* (pow alpha 2) (log (/ -1 u0))))))
#s(approx (log (- 1 u0)) #s(hole binary32 (* -1 (log (/ -1 u0)))))
#s(approx (log (- 1 u0)) #s(hole binary32 (- (* -1 (log (/ -1 u0))) (/ 1 u0))))
#s(approx (log (- 1 u0)) #s(hole binary32 (+ (* -1 (log (/ -1 u0))) (* -1 (/ (+ 1 (* 1/2 (/ 1 u0))) u0)))))
#s(approx (log (- 1 u0)) #s(hole binary32 (+ (* -1 (log (/ -1 u0))) (* -1 (/ (+ 1 (+ (/ 1/3 (pow u0 2)) (* 1/2 (/ 1 u0)))) u0)))))
#s(approx (- 1 u0) #s(hole binary32 (* -1 (* u0 (- 1 (/ 1 u0))))))
Calls

6 calls:

TimeVariablePointExpression
48.0ms
alpha
@0
((* (* (neg alpha) alpha) (log (- 1 u0))) (* (neg alpha) alpha) (neg alpha) alpha (log (- 1 u0)) (- 1 u0) 1 u0)
14.0ms
alpha
@-inf
((* (* (neg alpha) alpha) (log (- 1 u0))) (* (neg alpha) alpha) (neg alpha) alpha (log (- 1 u0)) (- 1 u0) 1 u0)
7.0ms
alpha
@inf
((* (* (neg alpha) alpha) (log (- 1 u0))) (* (neg alpha) alpha) (neg alpha) alpha (log (- 1 u0)) (- 1 u0) 1 u0)
1.0ms
u0
@-inf
((* (* (neg alpha) alpha) (log (- 1 u0))) (* (neg alpha) alpha) (neg alpha) alpha (log (- 1 u0)) (- 1 u0) 1 u0)
1.0ms
u0
@inf
((* (* (neg alpha) alpha) (log (- 1 u0))) (* (neg alpha) alpha) (neg alpha) alpha (log (- 1 u0)) (- 1 u0) 1 u0)

rewrite160.0ms (6.2%)

Memory
43.5MiB live, 129.5MiB allocated; 23ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0160716
0166676
1897622
08491574
Stop Event
iter limit
node limit
iter limit
Counts
42 → 91
Calls
Call 1
Inputs
(*.f32 (*.f32 (neg.f32 alpha) alpha) (log.f32 (-.f32 #s(literal 1 binary32) u0)))
(*.f32 (neg.f32 alpha) alpha)
(neg.f32 alpha)
alpha
(log.f32 (-.f32 #s(literal 1 binary32) u0))
(-.f32 #s(literal 1 binary32) u0)
#s(literal 1 binary32)
u0
#s(approx (* (* (neg alpha) alpha) (log (- 1 u0))) #s(hole binary32 (* -1 (* (pow alpha 2) (log (- 1 u0))))))
#s(approx (* (neg alpha) alpha) #s(hole binary32 (* -1 (pow alpha 2))))
#s(approx (neg alpha) #s(hole binary32 (* -1 alpha)))
#s(approx alpha #s(hole binary32 alpha))
#s(approx (* (* (neg alpha) alpha) (log (- 1 u0))) #s(hole binary32 (* (pow alpha 2) u0)))
#s(approx (* (* (neg alpha) alpha) (log (- 1 u0))) #s(hole binary32 (* u0 (+ (* 1/2 (* (pow alpha 2) u0)) (pow alpha 2)))))
#s(approx (* (* (neg alpha) alpha) (log (- 1 u0))) #s(hole binary32 (* u0 (+ (* u0 (+ (* 1/3 (* (pow alpha 2) u0)) (* 1/2 (pow alpha 2)))) (pow alpha 2)))))
#s(approx (* (* (neg alpha) alpha) (log (- 1 u0))) #s(hole binary32 (* u0 (+ (* u0 (+ (* 1/2 (pow alpha 2)) (* u0 (+ (* 1/4 (* (pow alpha 2) u0)) (* 1/3 (pow alpha 2)))))) (pow alpha 2)))))
#s(approx (log (- 1 u0)) #s(hole binary32 (* -1 u0)))
#s(approx (log (- 1 u0)) #s(hole binary32 (* u0 (- (* -1/2 u0) 1))))
#s(approx (log (- 1 u0)) #s(hole binary32 (* u0 (- (* u0 (- (* -1/3 u0) 1/2)) 1))))
#s(approx (log (- 1 u0)) #s(hole binary32 (* u0 (- (* u0 (- (* u0 (- (* -1/4 u0) 1/3)) 1/2)) 1))))
#s(approx (- 1 u0) #s(hole binary32 1))
#s(approx (- 1 u0) #s(hole binary32 (+ 1 (* -1 u0))))
#s(approx u0 #s(hole binary32 u0))
#s(approx (* (* (neg alpha) alpha) (log (- 1 u0))) #s(hole binary32 (* -1 (* (pow alpha 2) (+ (log -1) (* -1 (log (/ 1 u0))))))))
#s(approx (* (* (neg alpha) alpha) (log (- 1 u0))) #s(hole binary32 (+ (* -1 (* (pow alpha 2) (+ (log -1) (* -1 (log (/ 1 u0)))))) (/ (pow alpha 2) u0))))
#s(approx (* (* (neg alpha) alpha) (log (- 1 u0))) #s(hole binary32 (+ (* -1 (* (pow alpha 2) (+ (log -1) (* -1 (log (/ 1 u0)))))) (+ (* 1/2 (/ (pow alpha 2) (pow u0 2))) (/ (pow alpha 2) u0)))))
#s(approx (* (* (neg alpha) alpha) (log (- 1 u0))) #s(hole binary32 (+ (* -1 (* (pow alpha 2) (+ (log -1) (* -1 (log (/ 1 u0)))))) (+ (* 1/3 (/ (pow alpha 2) (pow u0 3))) (+ (* 1/2 (/ (pow alpha 2) (pow u0 2))) (/ (pow alpha 2) u0))))))
#s(approx (log (- 1 u0)) #s(hole binary32 (+ (log -1) (* -1 (log (/ 1 u0))))))
#s(approx (log (- 1 u0)) #s(hole binary32 (- (+ (log -1) (* -1 (log (/ 1 u0)))) (/ 1 u0))))
#s(approx (log (- 1 u0)) #s(hole binary32 (+ (log -1) (+ (* -1 (log (/ 1 u0))) (* -1 (/ (+ 1 (* 1/2 (/ 1 u0))) u0))))))
#s(approx (log (- 1 u0)) #s(hole binary32 (- (+ (log -1) (+ (* -1 (log (/ 1 u0))) (* -1 (/ (+ 1/2 (* 1/3 (/ 1 u0))) (pow u0 2))))) (/ 1 u0))))
#s(approx (- 1 u0) #s(hole binary32 (* -1 u0)))
#s(approx (- 1 u0) #s(hole binary32 (* u0 (- (/ 1 u0) 1))))
#s(approx (* (* (neg alpha) alpha) (log (- 1 u0))) #s(hole binary32 (* (pow alpha 2) (log (/ -1 u0)))))
#s(approx (* (* (neg alpha) alpha) (log (- 1 u0))) #s(hole binary32 (+ (* (pow alpha 2) (log (/ -1 u0))) (/ (pow alpha 2) u0))))
#s(approx (* (* (neg alpha) alpha) (log (- 1 u0))) #s(hole binary32 (+ (* -1 (/ (+ (* -1 (pow alpha 2)) (* -1/2 (/ (pow alpha 2) u0))) u0)) (* (pow alpha 2) (log (/ -1 u0))))))
#s(approx (* (* (neg alpha) alpha) (log (- 1 u0))) #s(hole binary32 (+ (* -1 (/ (+ (* -1 (/ (+ (* 1/3 (/ (pow alpha 2) u0)) (* 1/2 (pow alpha 2))) u0)) (* -1 (pow alpha 2))) u0)) (* (pow alpha 2) (log (/ -1 u0))))))
#s(approx (log (- 1 u0)) #s(hole binary32 (* -1 (log (/ -1 u0)))))
#s(approx (log (- 1 u0)) #s(hole binary32 (- (* -1 (log (/ -1 u0))) (/ 1 u0))))
#s(approx (log (- 1 u0)) #s(hole binary32 (+ (* -1 (log (/ -1 u0))) (* -1 (/ (+ 1 (* 1/2 (/ 1 u0))) u0)))))
#s(approx (log (- 1 u0)) #s(hole binary32 (+ (* -1 (log (/ -1 u0))) (* -1 (/ (+ 1 (+ (/ 1/3 (pow u0 2)) (* 1/2 (/ 1 u0)))) u0)))))
#s(approx (- 1 u0) #s(hole binary32 (* -1 (* u0 (- 1 (/ 1 u0))))))
Outputs
(log.f32 (pow.f32 (pow.f32 (-.f32 #s(literal 1 binary32) u0) alpha) (neg.f32 alpha)))
(*.f32 (*.f32 #s(literal -1 binary32) (log1p.f32 (neg.f32 u0))) (*.f32 alpha alpha))
(*.f32 (*.f32 (log1p.f32 (neg.f32 u0)) #s(literal -1 binary32)) (*.f32 alpha alpha))
(*.f32 (*.f32 (log1p.f32 (neg.f32 u0)) (neg.f32 alpha)) alpha)
(*.f32 (*.f32 (log1p.f32 (neg.f32 u0)) alpha) (neg.f32 alpha))
(*.f32 (neg.f32 (log1p.f32 (neg.f32 u0))) (*.f32 alpha alpha))
(*.f32 (*.f32 (neg.f32 alpha) alpha) (log1p.f32 (neg.f32 u0)))
(*.f32 (*.f32 (*.f32 alpha alpha) (log1p.f32 (neg.f32 u0))) #s(literal -1 binary32))
(*.f32 (*.f32 alpha alpha) (*.f32 #s(literal -1 binary32) (log1p.f32 (neg.f32 u0))))
(*.f32 (*.f32 alpha alpha) (*.f32 (log1p.f32 (neg.f32 u0)) #s(literal -1 binary32)))
(*.f32 (*.f32 alpha alpha) (neg.f32 (log1p.f32 (neg.f32 u0))))
(*.f32 #s(literal -1 binary32) (*.f32 (*.f32 alpha alpha) (log1p.f32 (neg.f32 u0))))
(*.f32 (log1p.f32 (neg.f32 u0)) (*.f32 (neg.f32 alpha) alpha))
(*.f32 (neg.f32 alpha) (*.f32 alpha (log1p.f32 (neg.f32 u0))))
(*.f32 alpha (*.f32 (neg.f32 alpha) (log1p.f32 (neg.f32 u0))))
(*.f32 alpha (*.f32 #s(literal -1 binary32) (*.f32 alpha (log1p.f32 (neg.f32 u0)))))
(neg.f32 (*.f32 (*.f32 (*.f32 alpha alpha) (log1p.f32 (neg.f32 u0))) #s(literal 1 binary32)))
(neg.f32 (*.f32 #s(literal 1 binary32) (*.f32 (*.f32 alpha alpha) (log1p.f32 (neg.f32 u0)))))
(neg.f32 (*.f32 (*.f32 alpha alpha) (log1p.f32 (neg.f32 u0))))
(*.f32 (*.f32 alpha alpha) #s(literal -1 binary32))
(*.f32 #s(literal -1 binary32) (*.f32 alpha alpha))
(*.f32 (neg.f32 alpha) alpha)
(*.f32 alpha (neg.f32 alpha))
(neg.f32 (*.f32 (*.f32 alpha alpha) #s(literal 1 binary32)))
(neg.f32 (*.f32 alpha alpha))
(*.f32 #s(literal -1 binary32) alpha)
(*.f32 alpha #s(literal -1 binary32))
(neg.f32 (*.f32 alpha #s(literal 1 binary32)))
(neg.f32 (*.f32 #s(literal 1 binary32) alpha))
(neg.f32 alpha)
alpha
(log.f32 (-.f32 #s(literal 1 binary32) u0))
(-.f32 (log1p.f32 (*.f32 (neg.f32 u0) u0)) (log1p.f32 u0))
(-.f32 (log1p.f32 (pow.f32 (neg.f32 u0) #s(literal 3 binary32))) (log1p.f32 (fma.f32 u0 u0 u0)))
(log1p.f32 (neg.f32 u0))
(*.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) u0))
(/.f32 (-.f32 (*.f32 u0 u0) #s(literal 1 binary32)) (-.f32 (neg.f32 u0) #s(literal 1 binary32)))
(/.f32 (fma.f32 (pow.f32 u0 #s(literal 3 binary32)) #s(literal -1 binary32) #s(literal 1 binary32)) (fma.f32 u0 u0 (-.f32 #s(literal 1 binary32) (*.f32 (neg.f32 u0) #s(literal 1 binary32)))))
(/.f32 (neg.f32 (-.f32 #s(literal 1 binary32) (*.f32 u0 u0))) (neg.f32 (+.f32 #s(literal 1 binary32) u0)))
(/.f32 (neg.f32 (-.f32 #s(literal 1 binary32) (pow.f32 u0 #s(literal 3 binary32)))) (neg.f32 (+.f32 #s(literal 1 binary32) (fma.f32 u0 u0 u0))))
(/.f32 (-.f32 #s(literal 1 binary32) (*.f32 u0 u0)) (+.f32 #s(literal 1 binary32) u0))
(/.f32 (-.f32 #s(literal 1 binary32) (pow.f32 u0 #s(literal 3 binary32))) (+.f32 #s(literal 1 binary32) (fma.f32 u0 u0 u0)))
(-.f32 (/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) u0)) (/.f32 (*.f32 u0 u0) (+.f32 #s(literal 1 binary32) u0)))
(-.f32 (/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (fma.f32 u0 u0 u0))) (/.f32 (pow.f32 u0 #s(literal 3 binary32)) (+.f32 #s(literal 1 binary32) (fma.f32 u0 u0 u0))))
(-.f32 (neg.f32 u0) #s(literal -1 binary32))
(-.f32 #s(literal 1 binary32) (*.f32 (neg.f32 u0) #s(literal -1 binary32)))
(-.f32 #s(literal 1 binary32) u0)
(fma.f32 #s(literal -1 binary32) u0 #s(literal 1 binary32))
(fma.f32 u0 #s(literal -1 binary32) #s(literal 1 binary32))
(fma.f32 #s(literal 1 binary32) (neg.f32 u0) #s(literal 1 binary32))
(+.f32 (/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (fma.f32 u0 u0 u0))) (/.f32 (pow.f32 (neg.f32 u0) #s(literal 3 binary32)) (+.f32 #s(literal 1 binary32) (fma.f32 u0 u0 u0))))
(+.f32 (neg.f32 u0) #s(literal 1 binary32))
(+.f32 #s(literal 1 binary32) (neg.f32 u0))
(neg.f32 (+.f32 u0 #s(literal -1 binary32)))
(neg.f32 (+.f32 #s(literal -1 binary32) u0))
#s(literal 1 binary32)
u0
#s(approx (* (* (neg alpha) alpha) (log (- 1 u0))) (*.f32 (*.f32 (neg.f32 alpha) alpha) (log1p.f32 (neg.f32 u0))))
#s(approx (* (neg alpha) alpha) (*.f32 (neg.f32 alpha) alpha))
#s(approx (neg alpha) (neg.f32 alpha))
#s(approx alpha alpha)
#s(approx (* (* (neg alpha) alpha) (log (- 1 u0))) (*.f32 (*.f32 alpha alpha) u0))
#s(approx (* (* (neg alpha) alpha) (log (- 1 u0))) (*.f32 (fma.f32 #s(literal 1/2 binary32) (*.f32 (*.f32 alpha alpha) u0) (*.f32 alpha alpha)) u0))
#s(approx (* (* (neg alpha) alpha) (log (- 1 u0))) (*.f32 (fma.f32 (fma.f32 #s(literal 1/3 binary32) (*.f32 (*.f32 alpha alpha) u0) (*.f32 #s(literal 1/2 binary32) (*.f32 alpha alpha))) u0 (*.f32 alpha alpha)) u0))
#s(approx (* (* (neg alpha) alpha) (log (- 1 u0))) (*.f32 (fma.f32 (fma.f32 (fma.f32 #s(literal 1/4 binary32) (*.f32 (*.f32 alpha alpha) u0) (*.f32 #s(literal 1/3 binary32) (*.f32 alpha alpha))) u0 (*.f32 #s(literal 1/2 binary32) (*.f32 alpha alpha))) u0 (*.f32 alpha alpha)) u0))
#s(approx (log (- 1 u0)) (neg.f32 u0))
#s(approx (log (- 1 u0)) (*.f32 (fma.f32 #s(literal -1/2 binary32) u0 #s(literal -1 binary32)) u0))
#s(approx (log (- 1 u0)) (*.f32 (fma.f32 (fma.f32 #s(literal -1/3 binary32) u0 #s(literal -1/2 binary32)) u0 #s(literal -1 binary32)) u0))
#s(approx (log (- 1 u0)) (*.f32 (fma.f32 (fma.f32 (fma.f32 #s(literal -1/4 binary32) u0 #s(literal -1/3 binary32)) u0 #s(literal -1/2 binary32)) u0 #s(literal -1 binary32)) u0))
#s(approx (- 1 u0) #s(literal 1 binary32))
#s(approx (- 1 u0) (-.f32 #s(literal 1 binary32) u0))
#s(approx u0 u0)
#s(approx (* (* (neg alpha) alpha) (log (- 1 u0))) (*.f32 (log.f32 (neg.f32 u0)) (*.f32 (neg.f32 alpha) alpha)))
#s(approx (* (* (neg alpha) alpha) (log (- 1 u0))) (-.f32 (/.f32 (*.f32 alpha alpha) u0) (*.f32 (log.f32 (neg.f32 u0)) (*.f32 alpha alpha))))
#s(approx (* (* (neg alpha) alpha) (log (- 1 u0))) (-.f32 (fma.f32 (/.f32 (/.f32 (*.f32 alpha alpha) u0) u0) #s(literal 1/2 binary32) (/.f32 (*.f32 alpha alpha) u0)) (*.f32 (log.f32 (neg.f32 u0)) (*.f32 alpha alpha))))
#s(approx (* (* (neg alpha) alpha) (log (- 1 u0))) (-.f32 (fma.f32 (/.f32 (*.f32 alpha alpha) (pow.f32 u0 #s(literal 3 binary32))) #s(literal 1/3 binary32) (fma.f32 (/.f32 (/.f32 (*.f32 alpha alpha) u0) u0) #s(literal 1/2 binary32) (/.f32 (*.f32 alpha alpha) u0))) (*.f32 (log.f32 (neg.f32 u0)) (*.f32 alpha alpha))))
#s(approx (log (- 1 u0)) (log.f32 (neg.f32 u0)))
#s(approx (log (- 1 u0)) (-.f32 (log.f32 (neg.f32 u0)) (/.f32 #s(literal 1 binary32) u0)))
#s(approx (log (- 1 u0)) (-.f32 (log.f32 (neg.f32 u0)) (/.f32 (-.f32 (/.f32 #s(literal 1/2 binary32) u0) #s(literal -1 binary32)) u0)))
#s(approx (log (- 1 u0)) (-.f32 (-.f32 (log.f32 (neg.f32 u0)) (/.f32 (/.f32 (-.f32 (/.f32 #s(literal 1/3 binary32) u0) #s(literal -1/2 binary32)) u0) u0)) (/.f32 #s(literal 1 binary32) u0)))
#s(approx (- 1 u0) (neg.f32 u0))
#s(approx (- 1 u0) (*.f32 (-.f32 (/.f32 #s(literal 1 binary32) u0) #s(literal 1 binary32)) u0))
#s(approx (* (* (neg alpha) alpha) (log (- 1 u0))) (*.f32 (log.f32 (neg.f32 u0)) (*.f32 (neg.f32 alpha) alpha)))
#s(approx (* (* (neg alpha) alpha) (log (- 1 u0))) (-.f32 (/.f32 (*.f32 alpha alpha) u0) (*.f32 (log.f32 (neg.f32 u0)) (*.f32 alpha alpha))))
#s(approx (* (* (neg alpha) alpha) (log (- 1 u0))) (fma.f32 (log.f32 (/.f32 #s(literal -1 binary32) u0)) (*.f32 alpha alpha) (/.f32 (fma.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 alpha alpha) u0) (*.f32 alpha alpha)) u0)))
#s(approx (* (* (neg alpha) alpha) (log (- 1 u0))) (fma.f32 (log.f32 (/.f32 #s(literal -1 binary32) u0)) (*.f32 alpha alpha) (/.f32 (fma.f32 alpha alpha (/.f32 (fma.f32 (/.f32 (*.f32 alpha alpha) u0) #s(literal 1/3 binary32) (*.f32 #s(literal 1/2 binary32) (*.f32 alpha alpha))) u0)) u0)))
#s(approx (log (- 1 u0)) (neg.f32 (log.f32 (/.f32 #s(literal -1 binary32) u0))))
#s(approx (log (- 1 u0)) (-.f32 (neg.f32 (log.f32 (/.f32 #s(literal -1 binary32) u0))) (/.f32 #s(literal 1 binary32) u0)))
#s(approx (log (- 1 u0)) (fma.f32 (log.f32 (/.f32 #s(literal -1 binary32) u0)) #s(literal -1 binary32) (/.f32 (+.f32 (/.f32 #s(literal -1/2 binary32) u0) #s(literal -1 binary32)) u0)))
#s(approx (log (- 1 u0)) (fma.f32 (log.f32 (/.f32 #s(literal -1 binary32) u0)) #s(literal -1 binary32) (+.f32 (/.f32 #s(literal -1 binary32) u0) (/.f32 (/.f32 (+.f32 (/.f32 #s(literal -1/3 binary32) u0) #s(literal -1/2 binary32)) u0) u0))))
#s(approx (- 1 u0) (*.f32 (neg.f32 u0) (-.f32 #s(literal 1 binary32) (/.f32 #s(literal 1 binary32) u0))))

eval20.0ms (0.8%)

Memory
-45.6MiB live, 17.4MiB allocated; 20ms collecting garbage
Compiler

Compiled 1 310 to 309 computations (76.4% saved)

prune14.0ms (0.5%)

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

6 alts after pruning (6 fresh and 0 done)

PrunedKeptTotal
New85691
Fresh000
Picked101
Done000
Total86692
Accuracy
99.8%
Counts
92 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.1%
(*.f32 (*.f32 (*.f32 alpha alpha) (log1p.f32 (neg.f32 u0))) #s(literal -1 binary32))
98.6%
(*.f32 (*.f32 (neg.f32 alpha) alpha) (-.f32 (log1p.f32 (pow.f32 (neg.f32 u0) #s(literal 3 binary32))) (log1p.f32 (fma.f32 u0 u0 u0))))
98.8%
(*.f32 (*.f32 (neg.f32 alpha) alpha) (-.f32 (log1p.f32 (*.f32 (neg.f32 u0) u0)) (log1p.f32 u0)))
98.9%
(*.f32 (*.f32 (log1p.f32 (neg.f32 u0)) (neg.f32 alpha)) alpha)
92.5%
#s(approx (* (* (neg alpha) alpha) (log (- 1 u0))) (*.f32 (fma.f32 (fma.f32 (fma.f32 #s(literal 1/4 binary32) (*.f32 (*.f32 alpha alpha) u0) (*.f32 #s(literal 1/3 binary32) (*.f32 alpha alpha))) u0 (*.f32 #s(literal 1/2 binary32) (*.f32 alpha alpha))) u0 (*.f32 alpha alpha)) u0))
90.2%
#s(approx (* (* (neg alpha) alpha) (log (- 1 u0))) (*.f32 (fma.f32 (fma.f32 #s(literal 1/3 binary32) (*.f32 (*.f32 alpha alpha) u0) (*.f32 #s(literal 1/2 binary32) (*.f32 alpha alpha))) u0 (*.f32 alpha alpha)) u0))
Compiler

Compiled 222 to 148 computations (33.3% saved)

series36.0ms (1.4%)

Memory
-26.9MiB live, 64.0MiB allocated; 16ms collecting garbage
Counts
8 → 42
Calls
Call 1
Inputs
(*.f32 (*.f32 (*.f32 alpha alpha) (log1p.f32 (neg.f32 u0))) #s(literal -1 binary32))
(*.f32 (*.f32 alpha alpha) (log1p.f32 (neg.f32 u0)))
(*.f32 alpha alpha)
alpha
(log1p.f32 (neg.f32 u0))
(neg.f32 u0)
u0
#s(literal -1 binary32)
Outputs
#s(approx (* (* (* alpha alpha) (log (+ 1 (neg u0)))) -1) #s(hole binary32 (* -1 (* (pow alpha 2) (log (- 1 u0))))))
#s(approx (* (* alpha alpha) (log (+ 1 (neg u0)))) #s(hole binary32 (* (pow alpha 2) (log (- 1 u0)))))
#s(approx (* alpha alpha) #s(hole binary32 (pow alpha 2)))
#s(approx alpha #s(hole binary32 alpha))
#s(approx (* (* (* alpha alpha) (log (+ 1 (neg u0)))) -1) #s(hole binary32 (* (pow alpha 2) u0)))
#s(approx (* (* (* alpha alpha) (log (+ 1 (neg u0)))) -1) #s(hole binary32 (* u0 (+ (* 1/2 (* (pow alpha 2) u0)) (pow alpha 2)))))
#s(approx (* (* (* alpha alpha) (log (+ 1 (neg u0)))) -1) #s(hole binary32 (* u0 (+ (* u0 (+ (* 1/3 (* (pow alpha 2) u0)) (* 1/2 (pow alpha 2)))) (pow alpha 2)))))
#s(approx (* (* (* alpha alpha) (log (+ 1 (neg u0)))) -1) #s(hole binary32 (* u0 (+ (* u0 (+ (* 1/2 (pow alpha 2)) (* u0 (+ (* 1/4 (* (pow alpha 2) u0)) (* 1/3 (pow alpha 2)))))) (pow alpha 2)))))
#s(approx (* (* alpha alpha) (log (+ 1 (neg u0)))) #s(hole binary32 (* -1 (* (pow alpha 2) u0))))
#s(approx (* (* alpha alpha) (log (+ 1 (neg u0)))) #s(hole binary32 (* u0 (+ (* -1 (pow alpha 2)) (* -1/2 (* (pow alpha 2) u0))))))
#s(approx (* (* alpha alpha) (log (+ 1 (neg u0)))) #s(hole binary32 (* u0 (+ (* -1 (pow alpha 2)) (* u0 (+ (* -1/2 (pow alpha 2)) (* -1/3 (* (pow alpha 2) u0))))))))
#s(approx (* (* alpha alpha) (log (+ 1 (neg u0)))) #s(hole binary32 (* u0 (+ (* -1 (pow alpha 2)) (* u0 (+ (* -1/2 (pow alpha 2)) (* u0 (+ (* -1/3 (pow alpha 2)) (* -1/4 (* (pow alpha 2) u0))))))))))
#s(approx (log (+ 1 (neg u0))) #s(hole binary32 (* -1 u0)))
#s(approx (log (+ 1 (neg u0))) #s(hole binary32 (* u0 (- (* -1/2 u0) 1))))
#s(approx (log (+ 1 (neg u0))) #s(hole binary32 (* u0 (- (* u0 (- (* -1/3 u0) 1/2)) 1))))
#s(approx (log (+ 1 (neg u0))) #s(hole binary32 (* u0 (- (* u0 (- (* u0 (- (* -1/4 u0) 1/3)) 1/2)) 1))))
#s(approx (neg u0) #s(hole binary32 (* -1 u0)))
#s(approx u0 #s(hole binary32 u0))
#s(approx (* (* (* alpha alpha) (log (+ 1 (neg u0)))) -1) #s(hole binary32 (* -1 (* (pow alpha 2) (+ (log -1) (* -1 (log (/ 1 u0))))))))
#s(approx (* (* (* alpha alpha) (log (+ 1 (neg u0)))) -1) #s(hole binary32 (+ (* -1 (* (pow alpha 2) (+ (log -1) (* -1 (log (/ 1 u0)))))) (/ (pow alpha 2) u0))))
#s(approx (* (* (* alpha alpha) (log (+ 1 (neg u0)))) -1) #s(hole binary32 (+ (* -1 (* (pow alpha 2) (+ (log -1) (* -1 (log (/ 1 u0)))))) (+ (* 1/2 (/ (pow alpha 2) (pow u0 2))) (/ (pow alpha 2) u0)))))
#s(approx (* (* (* alpha alpha) (log (+ 1 (neg u0)))) -1) #s(hole binary32 (+ (* -1 (* (pow alpha 2) (+ (log -1) (* -1 (log (/ 1 u0)))))) (+ (* 1/3 (/ (pow alpha 2) (pow u0 3))) (+ (* 1/2 (/ (pow alpha 2) (pow u0 2))) (/ (pow alpha 2) u0))))))
#s(approx (* (* alpha alpha) (log (+ 1 (neg u0)))) #s(hole binary32 (* (pow alpha 2) (+ (log -1) (* -1 (log (/ 1 u0)))))))
#s(approx (* (* alpha alpha) (log (+ 1 (neg u0)))) #s(hole binary32 (+ (* -1 (/ (pow alpha 2) u0)) (* (pow alpha 2) (+ (log -1) (* -1 (log (/ 1 u0))))))))
#s(approx (* (* alpha alpha) (log (+ 1 (neg u0)))) #s(hole binary32 (+ (* -1 (/ (pow alpha 2) u0)) (+ (* -1/2 (/ (pow alpha 2) (pow u0 2))) (* (pow alpha 2) (+ (log -1) (* -1 (log (/ 1 u0)))))))))
#s(approx (* (* alpha alpha) (log (+ 1 (neg u0)))) #s(hole binary32 (+ (* -1 (/ (pow alpha 2) u0)) (+ (* -1/2 (/ (pow alpha 2) (pow u0 2))) (+ (* -1/3 (/ (pow alpha 2) (pow u0 3))) (* (pow alpha 2) (+ (log -1) (* -1 (log (/ 1 u0))))))))))
#s(approx (log (+ 1 (neg u0))) #s(hole binary32 (+ (log -1) (* -1 (log (/ 1 u0))))))
#s(approx (log (+ 1 (neg u0))) #s(hole binary32 (- (+ (log -1) (* -1 (log (/ 1 u0)))) (/ 1 u0))))
#s(approx (log (+ 1 (neg u0))) #s(hole binary32 (+ (log -1) (+ (* -1 (log (/ 1 u0))) (* -1 (/ (+ 1 (* 1/2 (/ 1 u0))) u0))))))
#s(approx (log (+ 1 (neg u0))) #s(hole binary32 (- (+ (log -1) (+ (* -1 (log (/ 1 u0))) (* -1 (/ (+ 1/2 (* 1/3 (/ 1 u0))) (pow u0 2))))) (/ 1 u0))))
#s(approx (* (* (* alpha alpha) (log (+ 1 (neg u0)))) -1) #s(hole binary32 (* (pow alpha 2) (log (/ -1 u0)))))
#s(approx (* (* (* alpha alpha) (log (+ 1 (neg u0)))) -1) #s(hole binary32 (+ (* (pow alpha 2) (log (/ -1 u0))) (/ (pow alpha 2) u0))))
#s(approx (* (* (* alpha alpha) (log (+ 1 (neg u0)))) -1) #s(hole binary32 (+ (* -1 (/ (+ (* -1 (pow alpha 2)) (* -1/2 (/ (pow alpha 2) u0))) u0)) (* (pow alpha 2) (log (/ -1 u0))))))
#s(approx (* (* (* alpha alpha) (log (+ 1 (neg u0)))) -1) #s(hole binary32 (+ (* -1 (/ (+ (* -1 (/ (+ (* 1/3 (/ (pow alpha 2) u0)) (* 1/2 (pow alpha 2))) u0)) (* -1 (pow alpha 2))) u0)) (* (pow alpha 2) (log (/ -1 u0))))))
#s(approx (* (* alpha alpha) (log (+ 1 (neg u0)))) #s(hole binary32 (* -1 (* (pow alpha 2) (log (/ -1 u0))))))
#s(approx (* (* alpha alpha) (log (+ 1 (neg u0)))) #s(hole binary32 (+ (* -1 (* (pow alpha 2) (log (/ -1 u0)))) (* -1 (/ (pow alpha 2) u0)))))
#s(approx (* (* alpha alpha) (log (+ 1 (neg u0)))) #s(hole binary32 (+ (* -1 (* (pow alpha 2) (log (/ -1 u0)))) (* -1 (/ (+ (* 1/2 (/ (pow alpha 2) u0)) (pow alpha 2)) u0)))))
#s(approx (* (* alpha alpha) (log (+ 1 (neg u0)))) #s(hole binary32 (+ (* -1 (* (pow alpha 2) (log (/ -1 u0)))) (* -1 (/ (+ (* -1 (/ (+ (* -1/2 (pow alpha 2)) (* -1/3 (/ (pow alpha 2) u0))) u0)) (pow alpha 2)) u0)))))
#s(approx (log (+ 1 (neg u0))) #s(hole binary32 (* -1 (log (/ -1 u0)))))
#s(approx (log (+ 1 (neg u0))) #s(hole binary32 (- (* -1 (log (/ -1 u0))) (/ 1 u0))))
#s(approx (log (+ 1 (neg u0))) #s(hole binary32 (+ (* -1 (log (/ -1 u0))) (* -1 (/ (+ 1 (* 1/2 (/ 1 u0))) u0)))))
#s(approx (log (+ 1 (neg u0))) #s(hole binary32 (+ (* -1 (log (/ -1 u0))) (* -1 (/ (+ 1 (+ (/ 1/3 (pow u0 2)) (* 1/2 (/ 1 u0)))) u0)))))
Calls

6 calls:

TimeVariablePointExpression
14.0ms
alpha
@0
((* (* (* alpha alpha) (log (+ 1 (neg u0)))) -1) (* (* alpha alpha) (log (+ 1 (neg u0)))) (* alpha alpha) alpha (log (+ 1 (neg u0))) (neg u0) u0 -1)
8.0ms
alpha
@-inf
((* (* (* alpha alpha) (log (+ 1 (neg u0)))) -1) (* (* alpha alpha) (log (+ 1 (neg u0)))) (* alpha alpha) alpha (log (+ 1 (neg u0))) (neg u0) u0 -1)
7.0ms
alpha
@inf
((* (* (* alpha alpha) (log (+ 1 (neg u0)))) -1) (* (* alpha alpha) (log (+ 1 (neg u0)))) (* alpha alpha) alpha (log (+ 1 (neg u0))) (neg u0) u0 -1)
4.0ms
u0
@inf
((* (* (* alpha alpha) (log (+ 1 (neg u0)))) -1) (* (* alpha alpha) (log (+ 1 (neg u0)))) (* alpha alpha) alpha (log (+ 1 (neg u0))) (neg u0) u0 -1)
1.0ms
u0
@-inf
((* (* (* alpha alpha) (log (+ 1 (neg u0)))) -1) (* (* alpha alpha) (log (+ 1 (neg u0)))) (* alpha alpha) alpha (log (+ 1 (neg u0))) (neg u0) u0 -1)

rewrite200.0ms (7.8%)

Memory
24.3MiB live, 263.2MiB allocated; 23ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02061042
0212975
11245923
08702892
Stop Event
iter limit
node limit
iter limit
Counts
50 → 75
Calls
Call 1
Inputs
(*.f32 (*.f32 (*.f32 alpha alpha) (log1p.f32 (neg.f32 u0))) #s(literal -1 binary32))
(*.f32 (*.f32 alpha alpha) (log1p.f32 (neg.f32 u0)))
(*.f32 alpha alpha)
alpha
(log1p.f32 (neg.f32 u0))
(neg.f32 u0)
u0
#s(literal -1 binary32)
#s(approx (* (* (* alpha alpha) (log (+ 1 (neg u0)))) -1) #s(hole binary32 (* -1 (* (pow alpha 2) (log (- 1 u0))))))
#s(approx (* (* alpha alpha) (log (+ 1 (neg u0)))) #s(hole binary32 (* (pow alpha 2) (log (- 1 u0)))))
#s(approx (* alpha alpha) #s(hole binary32 (pow alpha 2)))
#s(approx alpha #s(hole binary32 alpha))
#s(approx (* (* (* alpha alpha) (log (+ 1 (neg u0)))) -1) #s(hole binary32 (* (pow alpha 2) u0)))
#s(approx (* (* (* alpha alpha) (log (+ 1 (neg u0)))) -1) #s(hole binary32 (* u0 (+ (* 1/2 (* (pow alpha 2) u0)) (pow alpha 2)))))
#s(approx (* (* (* alpha alpha) (log (+ 1 (neg u0)))) -1) #s(hole binary32 (* u0 (+ (* u0 (+ (* 1/3 (* (pow alpha 2) u0)) (* 1/2 (pow alpha 2)))) (pow alpha 2)))))
#s(approx (* (* (* alpha alpha) (log (+ 1 (neg u0)))) -1) #s(hole binary32 (* u0 (+ (* u0 (+ (* 1/2 (pow alpha 2)) (* u0 (+ (* 1/4 (* (pow alpha 2) u0)) (* 1/3 (pow alpha 2)))))) (pow alpha 2)))))
#s(approx (* (* alpha alpha) (log (+ 1 (neg u0)))) #s(hole binary32 (* -1 (* (pow alpha 2) u0))))
#s(approx (* (* alpha alpha) (log (+ 1 (neg u0)))) #s(hole binary32 (* u0 (+ (* -1 (pow alpha 2)) (* -1/2 (* (pow alpha 2) u0))))))
#s(approx (* (* alpha alpha) (log (+ 1 (neg u0)))) #s(hole binary32 (* u0 (+ (* -1 (pow alpha 2)) (* u0 (+ (* -1/2 (pow alpha 2)) (* -1/3 (* (pow alpha 2) u0))))))))
#s(approx (* (* alpha alpha) (log (+ 1 (neg u0)))) #s(hole binary32 (* u0 (+ (* -1 (pow alpha 2)) (* u0 (+ (* -1/2 (pow alpha 2)) (* u0 (+ (* -1/3 (pow alpha 2)) (* -1/4 (* (pow alpha 2) u0))))))))))
#s(approx (log (+ 1 (neg u0))) #s(hole binary32 (* -1 u0)))
#s(approx (log (+ 1 (neg u0))) #s(hole binary32 (* u0 (- (* -1/2 u0) 1))))
#s(approx (log (+ 1 (neg u0))) #s(hole binary32 (* u0 (- (* u0 (- (* -1/3 u0) 1/2)) 1))))
#s(approx (log (+ 1 (neg u0))) #s(hole binary32 (* u0 (- (* u0 (- (* u0 (- (* -1/4 u0) 1/3)) 1/2)) 1))))
#s(approx (neg u0) #s(hole binary32 (* -1 u0)))
#s(approx u0 #s(hole binary32 u0))
#s(approx (* (* (* alpha alpha) (log (+ 1 (neg u0)))) -1) #s(hole binary32 (* -1 (* (pow alpha 2) (+ (log -1) (* -1 (log (/ 1 u0))))))))
#s(approx (* (* (* alpha alpha) (log (+ 1 (neg u0)))) -1) #s(hole binary32 (+ (* -1 (* (pow alpha 2) (+ (log -1) (* -1 (log (/ 1 u0)))))) (/ (pow alpha 2) u0))))
#s(approx (* (* (* alpha alpha) (log (+ 1 (neg u0)))) -1) #s(hole binary32 (+ (* -1 (* (pow alpha 2) (+ (log -1) (* -1 (log (/ 1 u0)))))) (+ (* 1/2 (/ (pow alpha 2) (pow u0 2))) (/ (pow alpha 2) u0)))))
#s(approx (* (* (* alpha alpha) (log (+ 1 (neg u0)))) -1) #s(hole binary32 (+ (* -1 (* (pow alpha 2) (+ (log -1) (* -1 (log (/ 1 u0)))))) (+ (* 1/3 (/ (pow alpha 2) (pow u0 3))) (+ (* 1/2 (/ (pow alpha 2) (pow u0 2))) (/ (pow alpha 2) u0))))))
#s(approx (* (* alpha alpha) (log (+ 1 (neg u0)))) #s(hole binary32 (* (pow alpha 2) (+ (log -1) (* -1 (log (/ 1 u0)))))))
#s(approx (* (* alpha alpha) (log (+ 1 (neg u0)))) #s(hole binary32 (+ (* -1 (/ (pow alpha 2) u0)) (* (pow alpha 2) (+ (log -1) (* -1 (log (/ 1 u0))))))))
#s(approx (* (* alpha alpha) (log (+ 1 (neg u0)))) #s(hole binary32 (+ (* -1 (/ (pow alpha 2) u0)) (+ (* -1/2 (/ (pow alpha 2) (pow u0 2))) (* (pow alpha 2) (+ (log -1) (* -1 (log (/ 1 u0)))))))))
#s(approx (* (* alpha alpha) (log (+ 1 (neg u0)))) #s(hole binary32 (+ (* -1 (/ (pow alpha 2) u0)) (+ (* -1/2 (/ (pow alpha 2) (pow u0 2))) (+ (* -1/3 (/ (pow alpha 2) (pow u0 3))) (* (pow alpha 2) (+ (log -1) (* -1 (log (/ 1 u0))))))))))
#s(approx (log (+ 1 (neg u0))) #s(hole binary32 (+ (log -1) (* -1 (log (/ 1 u0))))))
#s(approx (log (+ 1 (neg u0))) #s(hole binary32 (- (+ (log -1) (* -1 (log (/ 1 u0)))) (/ 1 u0))))
#s(approx (log (+ 1 (neg u0))) #s(hole binary32 (+ (log -1) (+ (* -1 (log (/ 1 u0))) (* -1 (/ (+ 1 (* 1/2 (/ 1 u0))) u0))))))
#s(approx (log (+ 1 (neg u0))) #s(hole binary32 (- (+ (log -1) (+ (* -1 (log (/ 1 u0))) (* -1 (/ (+ 1/2 (* 1/3 (/ 1 u0))) (pow u0 2))))) (/ 1 u0))))
#s(approx (* (* (* alpha alpha) (log (+ 1 (neg u0)))) -1) #s(hole binary32 (* (pow alpha 2) (log (/ -1 u0)))))
#s(approx (* (* (* alpha alpha) (log (+ 1 (neg u0)))) -1) #s(hole binary32 (+ (* (pow alpha 2) (log (/ -1 u0))) (/ (pow alpha 2) u0))))
#s(approx (* (* (* alpha alpha) (log (+ 1 (neg u0)))) -1) #s(hole binary32 (+ (* -1 (/ (+ (* -1 (pow alpha 2)) (* -1/2 (/ (pow alpha 2) u0))) u0)) (* (pow alpha 2) (log (/ -1 u0))))))
#s(approx (* (* (* alpha alpha) (log (+ 1 (neg u0)))) -1) #s(hole binary32 (+ (* -1 (/ (+ (* -1 (/ (+ (* 1/3 (/ (pow alpha 2) u0)) (* 1/2 (pow alpha 2))) u0)) (* -1 (pow alpha 2))) u0)) (* (pow alpha 2) (log (/ -1 u0))))))
#s(approx (* (* alpha alpha) (log (+ 1 (neg u0)))) #s(hole binary32 (* -1 (* (pow alpha 2) (log (/ -1 u0))))))
#s(approx (* (* alpha alpha) (log (+ 1 (neg u0)))) #s(hole binary32 (+ (* -1 (* (pow alpha 2) (log (/ -1 u0)))) (* -1 (/ (pow alpha 2) u0)))))
#s(approx (* (* alpha alpha) (log (+ 1 (neg u0)))) #s(hole binary32 (+ (* -1 (* (pow alpha 2) (log (/ -1 u0)))) (* -1 (/ (+ (* 1/2 (/ (pow alpha 2) u0)) (pow alpha 2)) u0)))))
#s(approx (* (* alpha alpha) (log (+ 1 (neg u0)))) #s(hole binary32 (+ (* -1 (* (pow alpha 2) (log (/ -1 u0)))) (* -1 (/ (+ (* -1 (/ (+ (* -1/2 (pow alpha 2)) (* -1/3 (/ (pow alpha 2) u0))) u0)) (pow alpha 2)) u0)))))
#s(approx (log (+ 1 (neg u0))) #s(hole binary32 (* -1 (log (/ -1 u0)))))
#s(approx (log (+ 1 (neg u0))) #s(hole binary32 (- (* -1 (log (/ -1 u0))) (/ 1 u0))))
#s(approx (log (+ 1 (neg u0))) #s(hole binary32 (+ (* -1 (log (/ -1 u0))) (* -1 (/ (+ 1 (* 1/2 (/ 1 u0))) u0)))))
#s(approx (log (+ 1 (neg u0))) #s(hole binary32 (+ (* -1 (log (/ -1 u0))) (* -1 (/ (+ 1 (+ (/ 1/3 (pow u0 2)) (* 1/2 (/ 1 u0)))) u0)))))
Outputs
(log.f32 (pow.f32 (pow.f32 (pow.f32 (-.f32 (neg.f32 u0) #s(literal -1 binary32)) alpha) alpha) #s(literal -1 binary32)))
(*.f32 (*.f32 alpha alpha) (*.f32 (log1p.f32 (neg.f32 u0)) #s(literal -1 binary32)))
(*.f32 (*.f32 (*.f32 alpha alpha) (log1p.f32 (neg.f32 u0))) #s(literal -1 binary32))
(*.f32 #s(literal -1 binary32) (*.f32 (*.f32 alpha alpha) (log1p.f32 (neg.f32 u0))))
(log.f32 (pow.f32 (pow.f32 (-.f32 (neg.f32 u0) #s(literal -1 binary32)) alpha) alpha))
(*.f32 (*.f32 alpha alpha) (log1p.f32 (neg.f32 u0)))
(*.f32 (log1p.f32 (neg.f32 u0)) (*.f32 alpha alpha))
(*.f32 alpha (*.f32 alpha (log1p.f32 (neg.f32 u0))))
(*.f32 (neg.f32 (neg.f32 alpha)) (neg.f32 (neg.f32 alpha)))
(*.f32 (neg.f32 (fabs.f32 alpha)) (neg.f32 (fabs.f32 alpha)))
(*.f32 (fabs.f32 (fabs.f32 alpha)) (fabs.f32 (fabs.f32 alpha)))
(*.f32 (exp.f32 (log.f32 alpha)) (exp.f32 (log.f32 alpha)))
(*.f32 (neg.f32 alpha) (neg.f32 alpha))
(*.f32 (fabs.f32 alpha) (fabs.f32 alpha))
(*.f32 alpha alpha)
(pow.f32 (exp.f32 (log.f32 alpha)) #s(literal 2 binary32))
(pow.f32 (neg.f32 alpha) #s(literal 2 binary32))
(pow.f32 (fabs.f32 alpha) #s(literal 2 binary32))
(pow.f32 (*.f32 alpha alpha) #s(literal 1 binary32))
(pow.f32 alpha #s(literal 2 binary32))
(fabs.f32 (*.f32 alpha alpha))
(+.f32 (cosh.f32 (*.f32 (log.f32 alpha) #s(literal 2 binary32))) (sinh.f32 (*.f32 (log.f32 alpha) #s(literal 2 binary32))))
(exp.f32 (*.f32 (log.f32 alpha) #s(literal 2 binary32)))
alpha
(log.f32 (-.f32 (neg.f32 u0) #s(literal -1 binary32)))
(-.f32 (log1p.f32 (pow.f32 (neg.f32 u0) #s(literal 3 binary32))) (log1p.f32 (-.f32 (*.f32 u0 u0) (*.f32 #s(literal 1 binary32) (neg.f32 u0)))))
(-.f32 (log.f32 (-.f32 #s(literal 1 binary32) (*.f32 u0 u0))) (log.f32 (-.f32 #s(literal 1 binary32) (neg.f32 u0))))
(log1p.f32 (neg.f32 u0))
(*.f32 #s(literal -1 binary32) u0)
(*.f32 u0 #s(literal -1 binary32))
(neg.f32 u0)
u0
#s(literal -1 binary32)
#s(approx (* (* (* alpha alpha) (log (+ 1 (neg u0)))) -1) (log.f32 (pow.f32 (-.f32 #s(literal 1 binary32) u0) (neg.f32 (*.f32 alpha alpha)))))
#s(approx (* (* alpha alpha) (log (+ 1 (neg u0)))) (*.f32 (log.f32 (-.f32 #s(literal 1 binary32) u0)) (*.f32 alpha alpha)))
#s(approx (* alpha alpha) (*.f32 alpha alpha))
#s(approx alpha alpha)
#s(approx (* (* (* alpha alpha) (log (+ 1 (neg u0)))) -1) (*.f32 (*.f32 alpha alpha) u0))
#s(approx (* (* (* alpha alpha) (log (+ 1 (neg u0)))) -1) (*.f32 (fma.f32 #s(literal 1/2 binary32) (*.f32 (*.f32 alpha alpha) u0) (*.f32 alpha alpha)) u0))
#s(approx (* (* (* alpha alpha) (log (+ 1 (neg u0)))) -1) (*.f32 (fma.f32 (fma.f32 #s(literal 1/3 binary32) (*.f32 (*.f32 alpha alpha) u0) (*.f32 #s(literal 1/2 binary32) (*.f32 alpha alpha))) u0 (*.f32 alpha alpha)) u0))
#s(approx (* (* (* alpha alpha) (log (+ 1 (neg u0)))) -1) (*.f32 (fma.f32 (fma.f32 (fma.f32 #s(literal 1/4 binary32) (*.f32 (*.f32 alpha alpha) u0) (*.f32 #s(literal 1/3 binary32) (*.f32 alpha alpha))) u0 (*.f32 #s(literal 1/2 binary32) (*.f32 alpha alpha))) u0 (*.f32 alpha alpha)) u0))
#s(approx (* (* alpha alpha) (log (+ 1 (neg u0)))) (*.f32 (neg.f32 (*.f32 alpha alpha)) u0))
#s(approx (* (* alpha alpha) (log (+ 1 (neg u0)))) (*.f32 (fma.f32 (*.f32 #s(literal -1/2 binary32) (*.f32 alpha alpha)) u0 (neg.f32 (*.f32 alpha alpha))) u0))
#s(approx (* (* alpha alpha) (log (+ 1 (neg u0)))) (*.f32 (fma.f32 (fma.f32 #s(literal -1/3 binary32) (*.f32 (*.f32 alpha alpha) u0) (*.f32 #s(literal -1/2 binary32) (*.f32 alpha alpha))) u0 (neg.f32 (*.f32 alpha alpha))) u0))
#s(approx (* (* alpha alpha) (log (+ 1 (neg u0)))) (*.f32 (fma.f32 (fma.f32 (fma.f32 #s(literal -1/4 binary32) (*.f32 (*.f32 alpha alpha) u0) (*.f32 #s(literal -1/3 binary32) (*.f32 alpha alpha))) u0 (*.f32 #s(literal -1/2 binary32) (*.f32 alpha alpha))) u0 (neg.f32 (*.f32 alpha alpha))) u0))
#s(approx (log (+ 1 (neg u0))) (neg.f32 u0))
#s(approx (log (+ 1 (neg u0))) (*.f32 (-.f32 (*.f32 #s(literal -1/2 binary32) u0) #s(literal 1 binary32)) u0))
#s(approx (log (+ 1 (neg u0))) (*.f32 (-.f32 (*.f32 (-.f32 (*.f32 #s(literal -1/3 binary32) u0) #s(literal 1/2 binary32)) u0) #s(literal 1 binary32)) u0))
#s(approx (log (+ 1 (neg u0))) (*.f32 (-.f32 (*.f32 (-.f32 (*.f32 (-.f32 (*.f32 #s(literal -1/4 binary32) u0) #s(literal 1/3 binary32)) u0) #s(literal 1/2 binary32)) u0) #s(literal 1 binary32)) u0))
#s(approx (neg u0) (neg.f32 u0))
#s(approx u0 u0)
#s(approx (* (* (* alpha alpha) (log (+ 1 (neg u0)))) -1) (*.f32 (neg.f32 (*.f32 alpha alpha)) (log.f32 (neg.f32 u0))))
#s(approx (* (* (* alpha alpha) (log (+ 1 (neg u0)))) -1) (fma.f32 (neg.f32 (*.f32 alpha alpha)) (log.f32 (neg.f32 u0)) (/.f32 (*.f32 alpha alpha) u0)))
#s(approx (* (* (* alpha alpha) (log (+ 1 (neg u0)))) -1) (fma.f32 (neg.f32 (*.f32 alpha alpha)) (log.f32 (neg.f32 u0)) (fma.f32 (/.f32 #s(literal 1/2 binary32) u0) (/.f32 (*.f32 alpha alpha) u0) (/.f32 (*.f32 alpha alpha) u0))))
#s(approx (* (* (* alpha alpha) (log (+ 1 (neg u0)))) -1) (fma.f32 (neg.f32 (*.f32 alpha alpha)) (log.f32 (neg.f32 u0)) (fma.f32 (/.f32 (*.f32 alpha alpha) (pow.f32 u0 #s(literal 3 binary32))) #s(literal 1/3 binary32) (fma.f32 (/.f32 #s(literal 1/2 binary32) u0) (/.f32 (*.f32 alpha alpha) u0) (/.f32 (*.f32 alpha alpha) u0)))))
#s(approx (* (* alpha alpha) (log (+ 1 (neg u0)))) (*.f32 (log.f32 (neg.f32 u0)) (*.f32 alpha alpha)))
#s(approx (* (* alpha alpha) (log (+ 1 (neg u0)))) (-.f32 (*.f32 (log.f32 (neg.f32 u0)) (*.f32 alpha alpha)) (/.f32 (*.f32 alpha alpha) u0)))
#s(approx (* (* alpha alpha) (log (+ 1 (neg u0)))) (-.f32 (fma.f32 (/.f32 #s(literal -1/2 binary32) u0) (/.f32 (*.f32 alpha alpha) u0) (*.f32 (log.f32 (neg.f32 u0)) (*.f32 alpha alpha))) (/.f32 (*.f32 alpha alpha) u0)))
#s(approx (* (* alpha alpha) (log (+ 1 (neg u0)))) (-.f32 (fma.f32 (/.f32 #s(literal -1/2 binary32) u0) (/.f32 (*.f32 alpha alpha) u0) (fma.f32 (log.f32 (neg.f32 u0)) (*.f32 alpha alpha) (/.f32 (*.f32 #s(literal -1/3 binary32) (*.f32 alpha alpha)) (pow.f32 u0 #s(literal 3 binary32))))) (/.f32 (*.f32 alpha alpha) u0)))
#s(approx (log (+ 1 (neg u0))) (log.f32 (neg.f32 u0)))
#s(approx (log (+ 1 (neg u0))) (-.f32 (log.f32 (neg.f32 u0)) (/.f32 #s(literal 1 binary32) u0)))
#s(approx (log (+ 1 (neg u0))) (+.f32 (log.f32 (neg.f32 u0)) (neg.f32 (/.f32 (-.f32 (/.f32 #s(literal 1/2 binary32) u0) #s(literal -1 binary32)) u0))))
#s(approx (log (+ 1 (neg u0))) (-.f32 (+.f32 (log.f32 (neg.f32 u0)) (neg.f32 (/.f32 (-.f32 (/.f32 #s(literal 1/3 binary32) u0) #s(literal -1/2 binary32)) (*.f32 u0 u0)))) (/.f32 #s(literal 1 binary32) u0)))
#s(approx (* (* (* alpha alpha) (log (+ 1 (neg u0)))) -1) (*.f32 (log.f32 (/.f32 #s(literal -1 binary32) u0)) (*.f32 alpha alpha)))
#s(approx (* (* (* alpha alpha) (log (+ 1 (neg u0)))) -1) (fma.f32 (log.f32 (/.f32 #s(literal -1 binary32) u0)) (*.f32 alpha alpha) (/.f32 (*.f32 alpha alpha) u0)))
#s(approx (* (* (* alpha alpha) (log (+ 1 (neg u0)))) -1) (fma.f32 (log.f32 (/.f32 #s(literal -1 binary32) u0)) (*.f32 alpha alpha) (neg.f32 (/.f32 (fma.f32 (/.f32 (*.f32 alpha alpha) u0) #s(literal -1/2 binary32) (neg.f32 (*.f32 alpha alpha))) u0))))
#s(approx (* (* (* alpha alpha) (log (+ 1 (neg u0)))) -1) (fma.f32 (log.f32 (/.f32 #s(literal -1 binary32) u0)) (*.f32 alpha alpha) (neg.f32 (/.f32 (fma.f32 (/.f32 (fma.f32 (/.f32 (*.f32 alpha alpha) u0) #s(literal 1/3 binary32) (*.f32 #s(literal 1/2 binary32) (*.f32 alpha alpha))) u0) #s(literal -1 binary32) (neg.f32 (*.f32 alpha alpha))) u0))))
#s(approx (* (* alpha alpha) (log (+ 1 (neg u0)))) (*.f32 (neg.f32 (*.f32 alpha alpha)) (log.f32 (/.f32 #s(literal -1 binary32) u0))))
#s(approx (* (* alpha alpha) (log (+ 1 (neg u0)))) (-.f32 (*.f32 (neg.f32 (*.f32 alpha alpha)) (log.f32 (/.f32 #s(literal -1 binary32) u0))) (/.f32 (*.f32 alpha alpha) u0)))
#s(approx (* (* alpha alpha) (log (+ 1 (neg u0)))) (fma.f32 (neg.f32 (*.f32 alpha alpha)) (log.f32 (/.f32 #s(literal -1 binary32) u0)) (neg.f32 (/.f32 (fma.f32 (/.f32 (*.f32 alpha alpha) u0) #s(literal 1/2 binary32) (*.f32 alpha alpha)) u0))))
#s(approx (* (* alpha alpha) (log (+ 1 (neg u0)))) (fma.f32 (neg.f32 (*.f32 alpha alpha)) (log.f32 (/.f32 #s(literal -1 binary32) u0)) (neg.f32 (/.f32 (fma.f32 alpha alpha (neg.f32 (/.f32 (fma.f32 (/.f32 (*.f32 alpha alpha) u0) #s(literal -1/3 binary32) (*.f32 #s(literal -1/2 binary32) (*.f32 alpha alpha))) u0))) u0))))
#s(approx (log (+ 1 (neg u0))) (neg.f32 (log.f32 (/.f32 #s(literal -1 binary32) u0))))
#s(approx (log (+ 1 (neg u0))) (-.f32 (neg.f32 (log.f32 (/.f32 #s(literal -1 binary32) u0))) (/.f32 #s(literal 1 binary32) u0)))
#s(approx (log (+ 1 (neg u0))) (fma.f32 (log.f32 (/.f32 #s(literal -1 binary32) u0)) #s(literal -1 binary32) (neg.f32 (/.f32 (-.f32 (/.f32 #s(literal 1/2 binary32) u0) #s(literal -1 binary32)) u0))))
#s(approx (log (+ 1 (neg u0))) (fma.f32 (log.f32 (/.f32 #s(literal -1 binary32) u0)) #s(literal -1 binary32) (neg.f32 (/.f32 (-.f32 (+.f32 (/.f32 #s(literal 1/3 binary32) (*.f32 u0 u0)) (/.f32 #s(literal 1/2 binary32) u0)) #s(literal -1 binary32)) u0))))

eval6.0ms (0.2%)

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

Compiled 1 451 to 326 computations (77.5% saved)

prune79.0ms (3.1%)

Memory
-31.2MiB live, 26.5MiB allocated; 6ms collecting garbage
Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New74377
Fresh235
Picked011
Done000
Total76783
Accuracy
99.8%
Counts
83 → 7
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.1%
(*.f32 (*.f32 (*.f32 alpha alpha) (log1p.f32 (neg.f32 u0))) #s(literal -1 binary32))
98.6%
(*.f32 (*.f32 (neg.f32 alpha) alpha) (-.f32 (log1p.f32 (pow.f32 (neg.f32 u0) #s(literal 3 binary32))) (log1p.f32 (fma.f32 u0 u0 u0))))
98.8%
(*.f32 (*.f32 (neg.f32 alpha) alpha) (-.f32 (log1p.f32 (*.f32 (neg.f32 u0) u0)) (log1p.f32 u0)))
98.9%
(*.f32 (*.f32 (log1p.f32 (neg.f32 u0)) (neg.f32 alpha)) alpha)
95.3%
(*.f32 (*.f32 (exp.f32 (*.f32 (log.f32 alpha) #s(literal 2 binary32))) (log1p.f32 (neg.f32 u0))) #s(literal -1 binary32))
92.5%
(*.f32 #s(approx (* (* alpha alpha) (log (+ 1 (neg u0)))) (*.f32 (fma.f32 (fma.f32 (fma.f32 #s(literal -1/4 binary32) (*.f32 (*.f32 alpha alpha) u0) (*.f32 #s(literal -1/3 binary32) (*.f32 alpha alpha))) u0 (*.f32 #s(literal -1/2 binary32) (*.f32 alpha alpha))) u0 (neg.f32 (*.f32 alpha alpha))) u0)) #s(literal -1 binary32))
90.2%
(*.f32 #s(approx (* (* alpha alpha) (log (+ 1 (neg u0)))) (*.f32 (fma.f32 (fma.f32 #s(literal -1/3 binary32) (*.f32 (*.f32 alpha alpha) u0) (*.f32 #s(literal -1/2 binary32) (*.f32 alpha alpha))) u0 (neg.f32 (*.f32 alpha alpha))) u0)) #s(literal -1 binary32))
Compiler

Compiled 247 to 174 computations (29.6% saved)

series92.0ms (3.6%)

Memory
6.4MiB live, 53.0MiB allocated; 3ms collecting garbage
Counts
7 → 42
Calls
Call 1
Inputs
(*.f32 (*.f32 (log1p.f32 (neg.f32 u0)) (neg.f32 alpha)) alpha)
(*.f32 (log1p.f32 (neg.f32 u0)) (neg.f32 alpha))
(log1p.f32 (neg.f32 u0))
(neg.f32 u0)
u0
(neg.f32 alpha)
alpha
Outputs
#s(approx (* (* (log (+ 1 (neg u0))) (neg alpha)) alpha) #s(hole binary32 (* -1 (* (pow alpha 2) (log (- 1 u0))))))
#s(approx (* (log (+ 1 (neg u0))) (neg alpha)) #s(hole binary32 (* -1 (* alpha (log (- 1 u0))))))
#s(approx (neg alpha) #s(hole binary32 (* -1 alpha)))
#s(approx alpha #s(hole binary32 alpha))
#s(approx (* (* (log (+ 1 (neg u0))) (neg alpha)) alpha) #s(hole binary32 (* (pow alpha 2) u0)))
#s(approx (* (* (log (+ 1 (neg u0))) (neg alpha)) alpha) #s(hole binary32 (* u0 (+ (* 1/2 (* (pow alpha 2) u0)) (pow alpha 2)))))
#s(approx (* (* (log (+ 1 (neg u0))) (neg alpha)) alpha) #s(hole binary32 (* u0 (+ (* u0 (+ (* 1/3 (* (pow alpha 2) u0)) (* 1/2 (pow alpha 2)))) (pow alpha 2)))))
#s(approx (* (* (log (+ 1 (neg u0))) (neg alpha)) alpha) #s(hole binary32 (* u0 (+ (* u0 (+ (* 1/2 (pow alpha 2)) (* u0 (+ (* 1/4 (* (pow alpha 2) u0)) (* 1/3 (pow alpha 2)))))) (pow alpha 2)))))
#s(approx (* (log (+ 1 (neg u0))) (neg alpha)) #s(hole binary32 (* alpha u0)))
#s(approx (* (log (+ 1 (neg u0))) (neg alpha)) #s(hole binary32 (* u0 (+ alpha (* 1/2 (* alpha u0))))))
#s(approx (* (log (+ 1 (neg u0))) (neg alpha)) #s(hole binary32 (* u0 (+ alpha (* u0 (+ (* 1/3 (* alpha u0)) (* 1/2 alpha)))))))
#s(approx (* (log (+ 1 (neg u0))) (neg alpha)) #s(hole binary32 (* u0 (+ alpha (* u0 (+ (* 1/2 alpha) (* u0 (+ (* 1/4 (* alpha u0)) (* 1/3 alpha)))))))))
#s(approx (log (+ 1 (neg u0))) #s(hole binary32 (* -1 u0)))
#s(approx (log (+ 1 (neg u0))) #s(hole binary32 (* u0 (- (* -1/2 u0) 1))))
#s(approx (log (+ 1 (neg u0))) #s(hole binary32 (* u0 (- (* u0 (- (* -1/3 u0) 1/2)) 1))))
#s(approx (log (+ 1 (neg u0))) #s(hole binary32 (* u0 (- (* u0 (- (* u0 (- (* -1/4 u0) 1/3)) 1/2)) 1))))
#s(approx (neg u0) #s(hole binary32 (* -1 u0)))
#s(approx u0 #s(hole binary32 u0))
#s(approx (* (* (log (+ 1 (neg u0))) (neg alpha)) alpha) #s(hole binary32 (* -1 (* (pow alpha 2) (+ (log -1) (* -1 (log (/ 1 u0))))))))
#s(approx (* (* (log (+ 1 (neg u0))) (neg alpha)) alpha) #s(hole binary32 (+ (* -1 (* (pow alpha 2) (+ (log -1) (* -1 (log (/ 1 u0)))))) (/ (pow alpha 2) u0))))
#s(approx (* (* (log (+ 1 (neg u0))) (neg alpha)) alpha) #s(hole binary32 (+ (* -1 (* (pow alpha 2) (+ (log -1) (* -1 (log (/ 1 u0)))))) (+ (* 1/2 (/ (pow alpha 2) (pow u0 2))) (/ (pow alpha 2) u0)))))
#s(approx (* (* (log (+ 1 (neg u0))) (neg alpha)) alpha) #s(hole binary32 (+ (* -1 (* (pow alpha 2) (+ (log -1) (* -1 (log (/ 1 u0)))))) (+ (* 1/3 (/ (pow alpha 2) (pow u0 3))) (+ (* 1/2 (/ (pow alpha 2) (pow u0 2))) (/ (pow alpha 2) u0))))))
#s(approx (* (log (+ 1 (neg u0))) (neg alpha)) #s(hole binary32 (* -1 (* alpha (+ (log -1) (* -1 (log (/ 1 u0))))))))
#s(approx (* (log (+ 1 (neg u0))) (neg alpha)) #s(hole binary32 (+ (* -1 (* alpha (+ (log -1) (* -1 (log (/ 1 u0)))))) (/ alpha u0))))
#s(approx (* (log (+ 1 (neg u0))) (neg alpha)) #s(hole binary32 (+ (* -1 (* alpha (+ (log -1) (* -1 (log (/ 1 u0)))))) (+ (* 1/2 (/ alpha (pow u0 2))) (/ alpha u0)))))
#s(approx (* (log (+ 1 (neg u0))) (neg alpha)) #s(hole binary32 (+ (* -1 (* alpha (+ (log -1) (* -1 (log (/ 1 u0)))))) (+ (* 1/3 (/ alpha (pow u0 3))) (+ (* 1/2 (/ alpha (pow u0 2))) (/ alpha u0))))))
#s(approx (log (+ 1 (neg u0))) #s(hole binary32 (+ (log -1) (* -1 (log (/ 1 u0))))))
#s(approx (log (+ 1 (neg u0))) #s(hole binary32 (- (+ (log -1) (* -1 (log (/ 1 u0)))) (/ 1 u0))))
#s(approx (log (+ 1 (neg u0))) #s(hole binary32 (+ (log -1) (+ (* -1 (log (/ 1 u0))) (* -1 (/ (+ 1 (* 1/2 (/ 1 u0))) u0))))))
#s(approx (log (+ 1 (neg u0))) #s(hole binary32 (- (+ (log -1) (+ (* -1 (log (/ 1 u0))) (* -1 (/ (+ 1/2 (* 1/3 (/ 1 u0))) (pow u0 2))))) (/ 1 u0))))
#s(approx (* (* (log (+ 1 (neg u0))) (neg alpha)) alpha) #s(hole binary32 (* (pow alpha 2) (log (/ -1 u0)))))
#s(approx (* (* (log (+ 1 (neg u0))) (neg alpha)) alpha) #s(hole binary32 (+ (* (pow alpha 2) (log (/ -1 u0))) (/ (pow alpha 2) u0))))
#s(approx (* (* (log (+ 1 (neg u0))) (neg alpha)) alpha) #s(hole binary32 (+ (* -1 (/ (+ (* -1 (pow alpha 2)) (* -1/2 (/ (pow alpha 2) u0))) u0)) (* (pow alpha 2) (log (/ -1 u0))))))
#s(approx (* (* (log (+ 1 (neg u0))) (neg alpha)) alpha) #s(hole binary32 (+ (* -1 (/ (+ (* -1 (/ (+ (* 1/3 (/ (pow alpha 2) u0)) (* 1/2 (pow alpha 2))) u0)) (* -1 (pow alpha 2))) u0)) (* (pow alpha 2) (log (/ -1 u0))))))
#s(approx (* (log (+ 1 (neg u0))) (neg alpha)) #s(hole binary32 (* alpha (log (/ -1 u0)))))
#s(approx (* (log (+ 1 (neg u0))) (neg alpha)) #s(hole binary32 (+ (* alpha (log (/ -1 u0))) (/ alpha u0))))
#s(approx (* (log (+ 1 (neg u0))) (neg alpha)) #s(hole binary32 (+ (* -1 (/ (+ (* -1 alpha) (* -1/2 (/ alpha u0))) u0)) (* alpha (log (/ -1 u0))))))
#s(approx (* (log (+ 1 (neg u0))) (neg alpha)) #s(hole binary32 (+ (* -1 (/ (+ (* -1 alpha) (* -1 (/ (+ (* 1/3 (/ alpha u0)) (* 1/2 alpha)) u0))) u0)) (* alpha (log (/ -1 u0))))))
#s(approx (log (+ 1 (neg u0))) #s(hole binary32 (* -1 (log (/ -1 u0)))))
#s(approx (log (+ 1 (neg u0))) #s(hole binary32 (- (* -1 (log (/ -1 u0))) (/ 1 u0))))
#s(approx (log (+ 1 (neg u0))) #s(hole binary32 (+ (* -1 (log (/ -1 u0))) (* -1 (/ (+ 1 (* 1/2 (/ 1 u0))) u0)))))
#s(approx (log (+ 1 (neg u0))) #s(hole binary32 (+ (* -1 (log (/ -1 u0))) (* -1 (/ (+ 1 (+ (/ 1/3 (pow u0 2)) (* 1/2 (/ 1 u0)))) u0)))))
Calls

6 calls:

TimeVariablePointExpression
61.0ms
alpha
@inf
((* (* (log (+ 1 (neg u0))) (neg alpha)) alpha) (* (log (+ 1 (neg u0))) (neg alpha)) (log (+ 1 (neg u0))) (neg u0) u0 (neg alpha) alpha)
20.0ms
alpha
@0
((* (* (log (+ 1 (neg u0))) (neg alpha)) alpha) (* (log (+ 1 (neg u0))) (neg alpha)) (log (+ 1 (neg u0))) (neg u0) u0 (neg alpha) alpha)
8.0ms
alpha
@-inf
((* (* (log (+ 1 (neg u0))) (neg alpha)) alpha) (* (log (+ 1 (neg u0))) (neg alpha)) (log (+ 1 (neg u0))) (neg u0) u0 (neg alpha) alpha)
1.0ms
u0
@-inf
((* (* (log (+ 1 (neg u0))) (neg alpha)) alpha) (* (log (+ 1 (neg u0))) (neg alpha)) (log (+ 1 (neg u0))) (neg u0) u0 (neg alpha) alpha)
1.0ms
u0
@inf
((* (* (log (+ 1 (neg u0))) (neg alpha)) alpha) (* (log (+ 1 (neg u0))) (neg alpha)) (log (+ 1 (neg u0))) (neg u0) u0 (neg alpha) alpha)

rewrite165.0ms (6.4%)

Memory
21.2MiB live, 160.7MiB allocated; 16ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0212939
0218876
11252822
08383789
Stop Event
iter limit
node limit
iter limit
Counts
49 → 61
Calls
Call 1
Inputs
(*.f32 (*.f32 (log1p.f32 (neg.f32 u0)) (neg.f32 alpha)) alpha)
(*.f32 (log1p.f32 (neg.f32 u0)) (neg.f32 alpha))
(log1p.f32 (neg.f32 u0))
(neg.f32 u0)
u0
(neg.f32 alpha)
alpha
#s(approx (* (* (log (+ 1 (neg u0))) (neg alpha)) alpha) #s(hole binary32 (* -1 (* (pow alpha 2) (log (- 1 u0))))))
#s(approx (* (log (+ 1 (neg u0))) (neg alpha)) #s(hole binary32 (* -1 (* alpha (log (- 1 u0))))))
#s(approx (neg alpha) #s(hole binary32 (* -1 alpha)))
#s(approx alpha #s(hole binary32 alpha))
#s(approx (* (* (log (+ 1 (neg u0))) (neg alpha)) alpha) #s(hole binary32 (* (pow alpha 2) u0)))
#s(approx (* (* (log (+ 1 (neg u0))) (neg alpha)) alpha) #s(hole binary32 (* u0 (+ (* 1/2 (* (pow alpha 2) u0)) (pow alpha 2)))))
#s(approx (* (* (log (+ 1 (neg u0))) (neg alpha)) alpha) #s(hole binary32 (* u0 (+ (* u0 (+ (* 1/3 (* (pow alpha 2) u0)) (* 1/2 (pow alpha 2)))) (pow alpha 2)))))
#s(approx (* (* (log (+ 1 (neg u0))) (neg alpha)) alpha) #s(hole binary32 (* u0 (+ (* u0 (+ (* 1/2 (pow alpha 2)) (* u0 (+ (* 1/4 (* (pow alpha 2) u0)) (* 1/3 (pow alpha 2)))))) (pow alpha 2)))))
#s(approx (* (log (+ 1 (neg u0))) (neg alpha)) #s(hole binary32 (* alpha u0)))
#s(approx (* (log (+ 1 (neg u0))) (neg alpha)) #s(hole binary32 (* u0 (+ alpha (* 1/2 (* alpha u0))))))
#s(approx (* (log (+ 1 (neg u0))) (neg alpha)) #s(hole binary32 (* u0 (+ alpha (* u0 (+ (* 1/3 (* alpha u0)) (* 1/2 alpha)))))))
#s(approx (* (log (+ 1 (neg u0))) (neg alpha)) #s(hole binary32 (* u0 (+ alpha (* u0 (+ (* 1/2 alpha) (* u0 (+ (* 1/4 (* alpha u0)) (* 1/3 alpha)))))))))
#s(approx (log (+ 1 (neg u0))) #s(hole binary32 (* -1 u0)))
#s(approx (log (+ 1 (neg u0))) #s(hole binary32 (* u0 (- (* -1/2 u0) 1))))
#s(approx (log (+ 1 (neg u0))) #s(hole binary32 (* u0 (- (* u0 (- (* -1/3 u0) 1/2)) 1))))
#s(approx (log (+ 1 (neg u0))) #s(hole binary32 (* u0 (- (* u0 (- (* u0 (- (* -1/4 u0) 1/3)) 1/2)) 1))))
#s(approx (neg u0) #s(hole binary32 (* -1 u0)))
#s(approx u0 #s(hole binary32 u0))
#s(approx (* (* (log (+ 1 (neg u0))) (neg alpha)) alpha) #s(hole binary32 (* -1 (* (pow alpha 2) (+ (log -1) (* -1 (log (/ 1 u0))))))))
#s(approx (* (* (log (+ 1 (neg u0))) (neg alpha)) alpha) #s(hole binary32 (+ (* -1 (* (pow alpha 2) (+ (log -1) (* -1 (log (/ 1 u0)))))) (/ (pow alpha 2) u0))))
#s(approx (* (* (log (+ 1 (neg u0))) (neg alpha)) alpha) #s(hole binary32 (+ (* -1 (* (pow alpha 2) (+ (log -1) (* -1 (log (/ 1 u0)))))) (+ (* 1/2 (/ (pow alpha 2) (pow u0 2))) (/ (pow alpha 2) u0)))))
#s(approx (* (* (log (+ 1 (neg u0))) (neg alpha)) alpha) #s(hole binary32 (+ (* -1 (* (pow alpha 2) (+ (log -1) (* -1 (log (/ 1 u0)))))) (+ (* 1/3 (/ (pow alpha 2) (pow u0 3))) (+ (* 1/2 (/ (pow alpha 2) (pow u0 2))) (/ (pow alpha 2) u0))))))
#s(approx (* (log (+ 1 (neg u0))) (neg alpha)) #s(hole binary32 (* -1 (* alpha (+ (log -1) (* -1 (log (/ 1 u0))))))))
#s(approx (* (log (+ 1 (neg u0))) (neg alpha)) #s(hole binary32 (+ (* -1 (* alpha (+ (log -1) (* -1 (log (/ 1 u0)))))) (/ alpha u0))))
#s(approx (* (log (+ 1 (neg u0))) (neg alpha)) #s(hole binary32 (+ (* -1 (* alpha (+ (log -1) (* -1 (log (/ 1 u0)))))) (+ (* 1/2 (/ alpha (pow u0 2))) (/ alpha u0)))))
#s(approx (* (log (+ 1 (neg u0))) (neg alpha)) #s(hole binary32 (+ (* -1 (* alpha (+ (log -1) (* -1 (log (/ 1 u0)))))) (+ (* 1/3 (/ alpha (pow u0 3))) (+ (* 1/2 (/ alpha (pow u0 2))) (/ alpha u0))))))
#s(approx (log (+ 1 (neg u0))) #s(hole binary32 (+ (log -1) (* -1 (log (/ 1 u0))))))
#s(approx (log (+ 1 (neg u0))) #s(hole binary32 (- (+ (log -1) (* -1 (log (/ 1 u0)))) (/ 1 u0))))
#s(approx (log (+ 1 (neg u0))) #s(hole binary32 (+ (log -1) (+ (* -1 (log (/ 1 u0))) (* -1 (/ (+ 1 (* 1/2 (/ 1 u0))) u0))))))
#s(approx (log (+ 1 (neg u0))) #s(hole binary32 (- (+ (log -1) (+ (* -1 (log (/ 1 u0))) (* -1 (/ (+ 1/2 (* 1/3 (/ 1 u0))) (pow u0 2))))) (/ 1 u0))))
#s(approx (* (* (log (+ 1 (neg u0))) (neg alpha)) alpha) #s(hole binary32 (* (pow alpha 2) (log (/ -1 u0)))))
#s(approx (* (* (log (+ 1 (neg u0))) (neg alpha)) alpha) #s(hole binary32 (+ (* (pow alpha 2) (log (/ -1 u0))) (/ (pow alpha 2) u0))))
#s(approx (* (* (log (+ 1 (neg u0))) (neg alpha)) alpha) #s(hole binary32 (+ (* -1 (/ (+ (* -1 (pow alpha 2)) (* -1/2 (/ (pow alpha 2) u0))) u0)) (* (pow alpha 2) (log (/ -1 u0))))))
#s(approx (* (* (log (+ 1 (neg u0))) (neg alpha)) alpha) #s(hole binary32 (+ (* -1 (/ (+ (* -1 (/ (+ (* 1/3 (/ (pow alpha 2) u0)) (* 1/2 (pow alpha 2))) u0)) (* -1 (pow alpha 2))) u0)) (* (pow alpha 2) (log (/ -1 u0))))))
#s(approx (* (log (+ 1 (neg u0))) (neg alpha)) #s(hole binary32 (* alpha (log (/ -1 u0)))))
#s(approx (* (log (+ 1 (neg u0))) (neg alpha)) #s(hole binary32 (+ (* alpha (log (/ -1 u0))) (/ alpha u0))))
#s(approx (* (log (+ 1 (neg u0))) (neg alpha)) #s(hole binary32 (+ (* -1 (/ (+ (* -1 alpha) (* -1/2 (/ alpha u0))) u0)) (* alpha (log (/ -1 u0))))))
#s(approx (* (log (+ 1 (neg u0))) (neg alpha)) #s(hole binary32 (+ (* -1 (/ (+ (* -1 alpha) (* -1 (/ (+ (* 1/3 (/ alpha u0)) (* 1/2 alpha)) u0))) u0)) (* alpha (log (/ -1 u0))))))
#s(approx (log (+ 1 (neg u0))) #s(hole binary32 (* -1 (log (/ -1 u0)))))
#s(approx (log (+ 1 (neg u0))) #s(hole binary32 (- (* -1 (log (/ -1 u0))) (/ 1 u0))))
#s(approx (log (+ 1 (neg u0))) #s(hole binary32 (+ (* -1 (log (/ -1 u0))) (* -1 (/ (+ 1 (* 1/2 (/ 1 u0))) u0)))))
#s(approx (log (+ 1 (neg u0))) #s(hole binary32 (+ (* -1 (log (/ -1 u0))) (* -1 (/ (+ 1 (+ (/ 1/3 (pow u0 2)) (* 1/2 (/ 1 u0)))) u0)))))
Outputs
(*.f32 (*.f32 (neg.f32 alpha) (log1p.f32 (neg.f32 u0))) alpha)
(*.f32 (log1p.f32 (neg.f32 u0)) (*.f32 (neg.f32 alpha) alpha))
(*.f32 alpha (*.f32 (neg.f32 alpha) (log1p.f32 (neg.f32 u0))))
(log.f32 (pow.f32 (-.f32 (neg.f32 u0) #s(literal -1 binary32)) (neg.f32 alpha)))
(*.f32 (neg.f32 alpha) (log1p.f32 (neg.f32 u0)))
(*.f32 (log1p.f32 (neg.f32 u0)) (neg.f32 alpha))
(neg.f32 (*.f32 (log1p.f32 (neg.f32 u0)) alpha))
(log.f32 (-.f32 (neg.f32 u0) #s(literal -1 binary32)))
(-.f32 (log.f32 (-.f32 #s(literal 1 binary32) (*.f32 u0 u0))) (log.f32 (-.f32 #s(literal 1 binary32) (neg.f32 u0))))
(-.f32 (log1p.f32 (pow.f32 (neg.f32 u0) #s(literal 3 binary32))) (log1p.f32 (-.f32 (*.f32 u0 u0) (*.f32 #s(literal 1 binary32) (neg.f32 u0)))))
(log1p.f32 (neg.f32 u0))
(*.f32 #s(literal -1 binary32) u0)
(*.f32 u0 #s(literal -1 binary32))
(neg.f32 u0)
u0
(*.f32 #s(literal -1 binary32) alpha)
(*.f32 alpha #s(literal -1 binary32))
(neg.f32 alpha)
alpha
#s(approx (* (* (log (+ 1 (neg u0))) (neg alpha)) alpha) (log.f32 (pow.f32 (-.f32 #s(literal 1 binary32) u0) (neg.f32 (*.f32 alpha alpha)))))
#s(approx (* (log (+ 1 (neg u0))) (neg alpha)) (*.f32 (neg.f32 alpha) (log.f32 (-.f32 #s(literal 1 binary32) u0))))
#s(approx (neg alpha) (neg.f32 alpha))
#s(approx alpha alpha)
#s(approx (* (* (log (+ 1 (neg u0))) (neg alpha)) alpha) (*.f32 (*.f32 alpha alpha) u0))
#s(approx (* (* (log (+ 1 (neg u0))) (neg alpha)) alpha) (*.f32 (fma.f32 #s(literal 1/2 binary32) (*.f32 (*.f32 alpha alpha) u0) (*.f32 alpha alpha)) u0))
#s(approx (* (* (log (+ 1 (neg u0))) (neg alpha)) alpha) (*.f32 (fma.f32 (fma.f32 #s(literal 1/3 binary32) (*.f32 (*.f32 alpha alpha) u0) (*.f32 #s(literal 1/2 binary32) (*.f32 alpha alpha))) u0 (*.f32 alpha alpha)) u0))
#s(approx (* (* (log (+ 1 (neg u0))) (neg alpha)) alpha) (*.f32 (fma.f32 (fma.f32 (fma.f32 #s(literal 1/4 binary32) (*.f32 (*.f32 alpha alpha) u0) (*.f32 #s(literal 1/3 binary32) (*.f32 alpha alpha))) u0 (*.f32 #s(literal 1/2 binary32) (*.f32 alpha alpha))) u0 (*.f32 alpha alpha)) u0))
#s(approx (* (log (+ 1 (neg u0))) (neg alpha)) (*.f32 alpha u0))
#s(approx (* (log (+ 1 (neg u0))) (neg alpha)) (*.f32 (fma.f32 (*.f32 alpha u0) #s(literal 1/2 binary32) alpha) u0))
#s(approx (* (log (+ 1 (neg u0))) (neg alpha)) (*.f32 (fma.f32 (fma.f32 (*.f32 alpha u0) #s(literal 1/3 binary32) (*.f32 #s(literal 1/2 binary32) alpha)) u0 alpha) u0))
#s(approx (* (log (+ 1 (neg u0))) (neg alpha)) (*.f32 (fma.f32 (fma.f32 (fma.f32 (*.f32 alpha u0) #s(literal 1/4 binary32) (*.f32 #s(literal 1/3 binary32) alpha)) u0 (*.f32 #s(literal 1/2 binary32) alpha)) u0 alpha) u0))
#s(approx (log (+ 1 (neg u0))) (neg.f32 u0))
#s(approx (log (+ 1 (neg u0))) (*.f32 (-.f32 (*.f32 #s(literal -1/2 binary32) u0) #s(literal 1 binary32)) u0))
#s(approx (log (+ 1 (neg u0))) (*.f32 (-.f32 (*.f32 (-.f32 (*.f32 #s(literal -1/3 binary32) u0) #s(literal 1/2 binary32)) u0) #s(literal 1 binary32)) u0))
#s(approx (log (+ 1 (neg u0))) (*.f32 (-.f32 (*.f32 (-.f32 (*.f32 (-.f32 (*.f32 #s(literal -1/4 binary32) u0) #s(literal 1/3 binary32)) u0) #s(literal 1/2 binary32)) u0) #s(literal 1 binary32)) u0))
#s(approx (neg u0) (neg.f32 u0))
#s(approx u0 u0)
#s(approx (* (* (log (+ 1 (neg u0))) (neg alpha)) alpha) (*.f32 (neg.f32 (*.f32 alpha alpha)) (log.f32 (neg.f32 u0))))
#s(approx (* (* (log (+ 1 (neg u0))) (neg alpha)) alpha) (fma.f32 (neg.f32 (*.f32 alpha alpha)) (log.f32 (neg.f32 u0)) (/.f32 (*.f32 alpha alpha) u0)))
#s(approx (* (* (log (+ 1 (neg u0))) (neg alpha)) alpha) (fma.f32 (neg.f32 (*.f32 alpha alpha)) (log.f32 (neg.f32 u0)) (fma.f32 (pow.f32 (/.f32 alpha u0) #s(literal 2 binary32)) #s(literal 1/2 binary32) (/.f32 (*.f32 alpha alpha) u0))))
#s(approx (* (* (log (+ 1 (neg u0))) (neg alpha)) alpha) (fma.f32 (neg.f32 (*.f32 alpha alpha)) (log.f32 (neg.f32 u0)) (fma.f32 (pow.f32 (/.f32 alpha u0) #s(literal 2 binary32)) (/.f32 #s(literal 1/3 binary32) u0) (fma.f32 (pow.f32 (/.f32 alpha u0) #s(literal 2 binary32)) #s(literal 1/2 binary32) (/.f32 (*.f32 alpha alpha) u0)))))
#s(approx (* (log (+ 1 (neg u0))) (neg alpha)) (*.f32 (neg.f32 alpha) (log.f32 (neg.f32 u0))))
#s(approx (* (log (+ 1 (neg u0))) (neg alpha)) (fma.f32 (neg.f32 alpha) (log.f32 (neg.f32 u0)) (/.f32 alpha u0)))
#s(approx (* (log (+ 1 (neg u0))) (neg alpha)) (fma.f32 (neg.f32 alpha) (log.f32 (neg.f32 u0)) (fma.f32 (/.f32 alpha (*.f32 u0 u0)) #s(literal 1/2 binary32) (/.f32 alpha u0))))
#s(approx (* (log (+ 1 (neg u0))) (neg alpha)) (fma.f32 (neg.f32 alpha) (log.f32 (neg.f32 u0)) (fma.f32 (/.f32 alpha (pow.f32 u0 #s(literal 3 binary32))) #s(literal 1/3 binary32) (fma.f32 (/.f32 alpha (*.f32 u0 u0)) #s(literal 1/2 binary32) (/.f32 alpha u0)))))
#s(approx (log (+ 1 (neg u0))) (log.f32 (neg.f32 u0)))
#s(approx (log (+ 1 (neg u0))) (-.f32 (log.f32 (neg.f32 u0)) (/.f32 #s(literal 1 binary32) u0)))
#s(approx (log (+ 1 (neg u0))) (+.f32 (log.f32 (neg.f32 u0)) (neg.f32 (/.f32 (-.f32 (/.f32 #s(literal 1/2 binary32) u0) #s(literal -1 binary32)) u0))))
#s(approx (log (+ 1 (neg u0))) (-.f32 (+.f32 (log.f32 (neg.f32 u0)) (neg.f32 (/.f32 (-.f32 (/.f32 #s(literal 1/3 binary32) u0) #s(literal -1/2 binary32)) (*.f32 u0 u0)))) (/.f32 #s(literal 1 binary32) u0)))
#s(approx (* (* (log (+ 1 (neg u0))) (neg alpha)) alpha) (*.f32 (log.f32 (/.f32 #s(literal -1 binary32) u0)) (*.f32 alpha alpha)))
#s(approx (* (* (log (+ 1 (neg u0))) (neg alpha)) alpha) (fma.f32 (log.f32 (/.f32 #s(literal -1 binary32) u0)) (*.f32 alpha alpha) (/.f32 (*.f32 alpha alpha) u0)))
#s(approx (* (* (log (+ 1 (neg u0))) (neg alpha)) alpha) (fma.f32 (log.f32 (/.f32 #s(literal -1 binary32) u0)) (*.f32 alpha alpha) (neg.f32 (/.f32 (-.f32 (*.f32 (/.f32 (*.f32 alpha alpha) u0) #s(literal -1/2 binary32)) (*.f32 alpha alpha)) u0))))
#s(approx (* (* (log (+ 1 (neg u0))) (neg alpha)) alpha) (fma.f32 (log.f32 (/.f32 #s(literal -1 binary32) u0)) (*.f32 alpha alpha) (neg.f32 (/.f32 (-.f32 (neg.f32 (/.f32 (fma.f32 (/.f32 (*.f32 alpha alpha) u0) #s(literal 1/3 binary32) (*.f32 #s(literal 1/2 binary32) (*.f32 alpha alpha))) u0)) (*.f32 alpha alpha)) u0))))
#s(approx (* (log (+ 1 (neg u0))) (neg alpha)) (log.f32 (pow.f32 (/.f32 #s(literal -1 binary32) u0) alpha)))
#s(approx (* (log (+ 1 (neg u0))) (neg alpha)) (fma.f32 (log.f32 (/.f32 #s(literal -1 binary32) u0)) alpha (/.f32 alpha u0)))
#s(approx (* (log (+ 1 (neg u0))) (neg alpha)) (fma.f32 (log.f32 (/.f32 #s(literal -1 binary32) u0)) alpha (neg.f32 (/.f32 (fma.f32 (/.f32 alpha u0) #s(literal -1/2 binary32) (neg.f32 alpha)) u0))))
#s(approx (* (log (+ 1 (neg u0))) (neg alpha)) (fma.f32 (log.f32 (/.f32 #s(literal -1 binary32) u0)) alpha (neg.f32 (/.f32 (fma.f32 (/.f32 (fma.f32 (/.f32 alpha u0) #s(literal 1/3 binary32) (*.f32 #s(literal 1/2 binary32) alpha)) u0) #s(literal -1 binary32) (neg.f32 alpha)) u0))))
#s(approx (log (+ 1 (neg u0))) (neg.f32 (log.f32 (/.f32 #s(literal -1 binary32) u0))))
#s(approx (log (+ 1 (neg u0))) (-.f32 (neg.f32 (log.f32 (/.f32 #s(literal -1 binary32) u0))) (/.f32 #s(literal 1 binary32) u0)))
#s(approx (log (+ 1 (neg u0))) (fma.f32 (log.f32 (/.f32 #s(literal -1 binary32) u0)) #s(literal -1 binary32) (neg.f32 (/.f32 (-.f32 (/.f32 #s(literal 1/2 binary32) u0) #s(literal -1 binary32)) u0))))
#s(approx (log (+ 1 (neg u0))) (fma.f32 (log.f32 (/.f32 #s(literal -1 binary32) u0)) #s(literal -1 binary32) (neg.f32 (/.f32 (-.f32 (+.f32 (/.f32 #s(literal 1/3 binary32) (*.f32 u0 u0)) (/.f32 #s(literal 1/2 binary32) u0)) #s(literal -1 binary32)) u0))))

eval13.0ms (0.5%)

Memory
-33.7MiB live, 10.8MiB allocated; 8ms collecting garbage
Compiler

Compiled 1 153 to 277 computations (76% saved)

prune18.0ms (0.7%)

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

6 alts after pruning (5 fresh and 1 done)

PrunedKeptTotal
New62163
Fresh145
Picked011
Done101
Total64670
Accuracy
99.8%
Counts
70 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
98.6%
(*.f32 (*.f32 (neg.f32 alpha) alpha) (-.f32 (log1p.f32 (pow.f32 (neg.f32 u0) #s(literal 3 binary32))) (log1p.f32 (fma.f32 u0 u0 u0))))
98.8%
(*.f32 (*.f32 (neg.f32 alpha) alpha) (-.f32 (log1p.f32 (*.f32 (neg.f32 u0) u0)) (log1p.f32 u0)))
98.9%
(*.f32 (*.f32 (log1p.f32 (neg.f32 u0)) (neg.f32 alpha)) alpha)
95.3%
(*.f32 (*.f32 (exp.f32 (*.f32 (log.f32 alpha) #s(literal 2 binary32))) (log1p.f32 (neg.f32 u0))) #s(literal -1 binary32))
92.5%
(*.f32 #s(approx (* (* alpha alpha) (log (+ 1 (neg u0)))) (*.f32 (fma.f32 (fma.f32 (fma.f32 #s(literal -1/4 binary32) (*.f32 (*.f32 alpha alpha) u0) (*.f32 #s(literal -1/3 binary32) (*.f32 alpha alpha))) u0 (*.f32 #s(literal -1/2 binary32) (*.f32 alpha alpha))) u0 (neg.f32 (*.f32 alpha alpha))) u0)) #s(literal -1 binary32))
92.4%
(*.f32 #s(approx (* (log (+ 1 (neg u0))) (neg alpha)) (*.f32 (fma.f32 (fma.f32 (fma.f32 (*.f32 alpha u0) #s(literal 1/4 binary32) (*.f32 #s(literal 1/3 binary32) alpha)) u0 (*.f32 #s(literal 1/2 binary32) alpha)) u0 alpha) u0)) alpha)
Compiler

Compiled 224 to 159 computations (29% saved)

series141.0ms (5.5%)

Memory
8.6MiB live, 98.2MiB allocated; 14ms collecting garbage
Counts
10 → 55
Calls
Call 1
Inputs
(*.f32 (*.f32 (neg.f32 alpha) alpha) (-.f32 (log1p.f32 (*.f32 (neg.f32 u0) u0)) (log1p.f32 u0)))
(*.f32 (neg.f32 alpha) alpha)
(neg.f32 alpha)
alpha
(-.f32 (log1p.f32 (*.f32 (neg.f32 u0) u0)) (log1p.f32 u0))
(log1p.f32 (*.f32 (neg.f32 u0) u0))
(*.f32 (neg.f32 u0) u0)
(neg.f32 u0)
u0
(log1p.f32 u0)
Outputs
#s(approx (* (* (neg alpha) alpha) (- (log (+ 1 (* (neg u0) u0))) (log (+ 1 u0)))) #s(hole binary32 (* -1 (* (pow alpha 2) (- (log (+ 1 (* -1 (pow u0 2)))) (log (+ 1 u0)))))))
#s(approx (* (neg alpha) alpha) #s(hole binary32 (* -1 (pow alpha 2))))
#s(approx (neg alpha) #s(hole binary32 (* -1 alpha)))
#s(approx alpha #s(hole binary32 alpha))
#s(approx (* (* (neg alpha) alpha) (- (log (+ 1 (* (neg u0) u0))) (log (+ 1 u0)))) #s(hole binary32 (* (pow alpha 2) u0)))
#s(approx (* (* (neg alpha) alpha) (- (log (+ 1 (* (neg u0) u0))) (log (+ 1 u0)))) #s(hole binary32 (* u0 (+ (* 1/2 (* (pow alpha 2) u0)) (pow alpha 2)))))
#s(approx (* (* (neg alpha) alpha) (- (log (+ 1 (* (neg u0) u0))) (log (+ 1 u0)))) #s(hole binary32 (* u0 (+ (* u0 (+ (* 1/3 (* (pow alpha 2) u0)) (* 1/2 (pow alpha 2)))) (pow alpha 2)))))
#s(approx (* (* (neg alpha) alpha) (- (log (+ 1 (* (neg u0) u0))) (log (+ 1 u0)))) #s(hole binary32 (* u0 (+ (* u0 (+ (* 1/2 (pow alpha 2)) (* u0 (+ (* 1/4 (* (pow alpha 2) u0)) (* 1/3 (pow alpha 2)))))) (pow alpha 2)))))
#s(approx (- (log (+ 1 (* (neg u0) u0))) (log (+ 1 u0))) #s(hole binary32 (* -1 u0)))
#s(approx (- (log (+ 1 (* (neg u0) u0))) (log (+ 1 u0))) #s(hole binary32 (* u0 (- (* -1/2 u0) 1))))
#s(approx (- (log (+ 1 (* (neg u0) u0))) (log (+ 1 u0))) #s(hole binary32 (* u0 (- (* u0 (- (* -1/3 u0) 1/2)) 1))))
#s(approx (- (log (+ 1 (* (neg u0) u0))) (log (+ 1 u0))) #s(hole binary32 (* u0 (- (* u0 (- (* u0 (- (* -1/4 u0) 1/3)) 1/2)) 1))))
#s(approx (log (+ 1 (* (neg u0) u0))) #s(hole binary32 (* -1 (pow u0 2))))
#s(approx (log (+ 1 (* (neg u0) u0))) #s(hole binary32 (* (pow u0 2) (- (* -1/2 (pow u0 2)) 1))))
#s(approx (log (+ 1 (* (neg u0) u0))) #s(hole binary32 (* (pow u0 2) (- (* (pow u0 2) (- (* -1/3 (pow u0 2)) 1/2)) 1))))
#s(approx (log (+ 1 (* (neg u0) u0))) #s(hole binary32 (* (pow u0 2) (- (* (pow u0 2) (- (* (pow u0 2) (- (* -1/4 (pow u0 2)) 1/3)) 1/2)) 1))))
#s(approx (* (neg u0) u0) #s(hole binary32 (* -1 (pow u0 2))))
#s(approx (neg u0) #s(hole binary32 (* -1 u0)))
#s(approx u0 #s(hole binary32 u0))
#s(approx (log (+ 1 u0)) #s(hole binary32 u0))
#s(approx (log (+ 1 u0)) #s(hole binary32 (* u0 (+ 1 (* -1/2 u0)))))
#s(approx (log (+ 1 u0)) #s(hole binary32 (* u0 (+ 1 (* u0 (- (* 1/3 u0) 1/2))))))
#s(approx (log (+ 1 u0)) #s(hole binary32 (* u0 (+ 1 (* u0 (- (* u0 (+ 1/3 (* -1/4 u0))) 1/2))))))
#s(approx (* (* (neg alpha) alpha) (- (log (+ 1 (* (neg u0) u0))) (log (+ 1 u0)))) #s(hole binary32 (* -1 (* (pow alpha 2) (- (+ (log -1) (* -2 (log (/ 1 u0)))) (* -1 (log (/ 1 u0))))))))
#s(approx (* (* (neg alpha) alpha) (- (log (+ 1 (* (neg u0) u0))) (log (+ 1 u0)))) #s(hole binary32 (+ (* -1 (* (pow alpha 2) (- (+ (log -1) (* -2 (log (/ 1 u0)))) (* -1 (log (/ 1 u0)))))) (/ (pow alpha 2) u0))))
#s(approx (* (* (neg alpha) alpha) (- (log (+ 1 (* (neg u0) u0))) (log (+ 1 u0)))) #s(hole binary32 (+ (* -1 (* (pow alpha 2) (- (+ (log -1) (* -2 (log (/ 1 u0)))) (* -1 (log (/ 1 u0)))))) (+ (* 1/2 (/ (pow alpha 2) (pow u0 2))) (/ (pow alpha 2) u0)))))
#s(approx (* (* (neg alpha) alpha) (- (log (+ 1 (* (neg u0) u0))) (log (+ 1 u0)))) #s(hole binary32 (+ (* -1 (* (pow alpha 2) (- (+ (log -1) (* -2 (log (/ 1 u0)))) (* -1 (log (/ 1 u0)))))) (+ (* 1/3 (/ (pow alpha 2) (pow u0 3))) (+ (* 1/2 (/ (pow alpha 2) (pow u0 2))) (/ (pow alpha 2) u0))))))
#s(approx (- (log (+ 1 (* (neg u0) u0))) (log (+ 1 u0))) #s(hole binary32 (- (+ (log -1) (* -2 (log (/ 1 u0)))) (* -1 (log (/ 1 u0))))))
#s(approx (- (log (+ 1 (* (neg u0) u0))) (log (+ 1 u0))) #s(hole binary32 (- (+ (log -1) (* -2 (log (/ 1 u0)))) (+ (* -1 (log (/ 1 u0))) (/ 1 u0)))))
#s(approx (- (log (+ 1 (* (neg u0) u0))) (log (+ 1 u0))) #s(hole binary32 (- (+ (log -1) (+ (* -2 (log (/ 1 u0))) (* -1 (/ (+ 1 (* 1/2 (/ 1 u0))) u0)))) (* -1 (log (/ 1 u0))))))
#s(approx (- (log (+ 1 (* (neg u0) u0))) (log (+ 1 u0))) #s(hole binary32 (- (+ (log -1) (+ (* -2 (log (/ 1 u0))) (* -1 (/ (+ 1/2 (* 1/3 (/ 1 u0))) (pow u0 2))))) (+ (* -1 (log (/ 1 u0))) (/ 1 u0)))))
#s(approx (log (+ 1 (* (neg u0) u0))) #s(hole binary32 (+ (log -1) (* -2 (log (/ 1 u0))))))
#s(approx (log (+ 1 (* (neg u0) u0))) #s(hole binary32 (- (+ (log -1) (* -2 (log (/ 1 u0)))) (/ 1 (pow u0 2)))))
#s(approx (log (+ 1 (* (neg u0) u0))) #s(hole binary32 (+ (log -1) (+ (* -2 (log (/ 1 u0))) (* -1 (/ (+ 1 (* 1/2 (/ 1 (pow u0 2)))) (pow u0 2)))))))
#s(approx (log (+ 1 (* (neg u0) u0))) #s(hole binary32 (- (+ (log -1) (+ (* -2 (log (/ 1 u0))) (* -1 (/ (+ 1/2 (* 1/3 (/ 1 (pow u0 2)))) (pow u0 4))))) (/ 1 (pow u0 2)))))
#s(approx (log (+ 1 u0)) #s(hole binary32 (* -1 (log (/ 1 u0)))))
#s(approx (log (+ 1 u0)) #s(hole binary32 (+ (* -1 (log (/ 1 u0))) (/ 1 u0))))
#s(approx (log (+ 1 u0)) #s(hole binary32 (- (+ (* -1 (log (/ 1 u0))) (/ 1 u0)) (/ 1/2 (pow u0 2)))))
#s(approx (log (+ 1 u0)) #s(hole binary32 (- (+ (* -1 (log (/ 1 u0))) (+ (/ 1 u0) (* 1/3 (/ 1 (pow u0 3))))) (/ 1/2 (pow u0 2)))))
#s(approx (* (* (neg alpha) alpha) (- (log (+ 1 (* (neg u0) u0))) (log (+ 1 u0)))) #s(hole binary32 (* -1 (* (pow alpha 2) (- (* -2 (log (/ -1 u0))) (* -1 (log (/ -1 u0))))))))
#s(approx (* (* (neg alpha) alpha) (- (log (+ 1 (* (neg u0) u0))) (log (+ 1 u0)))) #s(hole binary32 (+ (* -1 (* (pow alpha 2) (- (* -2 (log (/ -1 u0))) (* -1 (log (/ -1 u0)))))) (/ (pow alpha 2) u0))))
#s(approx (* (* (neg alpha) alpha) (- (log (+ 1 (* (neg u0) u0))) (log (+ 1 u0)))) #s(hole binary32 (+ (* -1 (* (pow alpha 2) (- (* -2 (log (/ -1 u0))) (* -1 (log (/ -1 u0)))))) (* -1 (/ (+ (* -1 (pow alpha 2)) (* -1/2 (/ (pow alpha 2) u0))) u0)))))
#s(approx (* (* (neg alpha) alpha) (- (log (+ 1 (* (neg u0) u0))) (log (+ 1 u0)))) #s(hole binary32 (+ (* -1 (* (pow alpha 2) (- (* -2 (log (/ -1 u0))) (* -1 (log (/ -1 u0)))))) (* -1 (/ (+ (* -1 (/ (+ (* 1/3 (/ (pow alpha 2) u0)) (* 1/2 (pow alpha 2))) u0)) (* -1 (pow alpha 2))) u0)))))
#s(approx (- (log (+ 1 (* (neg u0) u0))) (log (+ 1 u0))) #s(hole binary32 (- (* -2 (log (/ -1 u0))) (* -1 (log (/ -1 u0))))))
#s(approx (- (log (+ 1 (* (neg u0) u0))) (log (+ 1 u0))) #s(hole binary32 (- (* -2 (log (/ -1 u0))) (+ (* -1 (log (/ -1 u0))) (/ 1 u0)))))
#s(approx (- (log (+ 1 (* (neg u0) u0))) (log (+ 1 u0))) #s(hole binary32 (- (+ (* -2 (log (/ -1 u0))) (* -1 (/ (+ 1 (* 1/2 (/ 1 u0))) u0))) (* -1 (log (/ -1 u0))))))
#s(approx (- (log (+ 1 (* (neg u0) u0))) (log (+ 1 u0))) #s(hole binary32 (- (+ (* -2 (log (/ -1 u0))) (* -1 (/ (+ 1 (+ (/ 1/3 (pow u0 2)) (* 1/2 (/ 1 u0)))) u0))) (* -1 (log (/ -1 u0))))))
#s(approx (log (+ 1 (* (neg u0) u0))) #s(hole binary32 (+ (log -1) (* -2 (log (/ -1 u0))))))
#s(approx (log (+ 1 (* (neg u0) u0))) #s(hole binary32 (- (+ (log -1) (* -2 (log (/ -1 u0)))) (/ 1 (pow u0 2)))))
#s(approx (log (+ 1 (* (neg u0) u0))) #s(hole binary32 (+ (log -1) (+ (* -2 (log (/ -1 u0))) (* -1 (/ (+ 1 (* 1/2 (/ 1 (pow u0 2)))) (pow u0 2)))))))
#s(approx (log (+ 1 (* (neg u0) u0))) #s(hole binary32 (- (+ (log -1) (+ (* -2 (log (/ -1 u0))) (* -1 (/ (+ 1/2 (* 1/3 (/ 1 (pow u0 2)))) (pow u0 4))))) (/ 1 (pow u0 2)))))
#s(approx (log (+ 1 u0)) #s(hole binary32 (+ (log -1) (* -1 (log (/ -1 u0))))))
#s(approx (log (+ 1 u0)) #s(hole binary32 (+ (log -1) (+ (* -1 (log (/ -1 u0))) (/ 1 u0)))))
#s(approx (log (+ 1 u0)) #s(hole binary32 (+ (log -1) (+ (* -1 (log (/ -1 u0))) (* -1 (/ (- (* 1/2 (/ 1 u0)) 1) u0))))))
#s(approx (log (+ 1 u0)) #s(hole binary32 (+ (log -1) (+ (* -1 (log (/ -1 u0))) (* -1 (/ (- (* -1 (/ (- (* 1/3 (/ 1 u0)) 1/2) u0)) 1) u0))))))
Calls

6 calls:

TimeVariablePointExpression
88.0ms
alpha
@0
((* (* (neg alpha) alpha) (- (log (+ 1 (* (neg u0) u0))) (log (+ 1 u0)))) (* (neg alpha) alpha) (neg alpha) alpha (- (log (+ 1 (* (neg u0) u0))) (log (+ 1 u0))) (log (+ 1 (* (neg u0) u0))) (* (neg u0) u0) (neg u0) u0 (log (+ 1 u0)))
25.0ms
alpha
@-inf
((* (* (neg alpha) alpha) (- (log (+ 1 (* (neg u0) u0))) (log (+ 1 u0)))) (* (neg alpha) alpha) (neg alpha) alpha (- (log (+ 1 (* (neg u0) u0))) (log (+ 1 u0))) (log (+ 1 (* (neg u0) u0))) (* (neg u0) u0) (neg u0) u0 (log (+ 1 u0)))
22.0ms
alpha
@inf
((* (* (neg alpha) alpha) (- (log (+ 1 (* (neg u0) u0))) (log (+ 1 u0)))) (* (neg alpha) alpha) (neg alpha) alpha (- (log (+ 1 (* (neg u0) u0))) (log (+ 1 u0))) (log (+ 1 (* (neg u0) u0))) (* (neg u0) u0) (neg u0) u0 (log (+ 1 u0)))
2.0ms
u0
@inf
((* (* (neg alpha) alpha) (- (log (+ 1 (* (neg u0) u0))) (log (+ 1 u0)))) (* (neg alpha) alpha) (neg alpha) alpha (- (log (+ 1 (* (neg u0) u0))) (log (+ 1 u0))) (log (+ 1 (* (neg u0) u0))) (* (neg u0) u0) (neg u0) u0 (log (+ 1 u0)))
2.0ms
u0
@0
((* (* (neg alpha) alpha) (- (log (+ 1 (* (neg u0) u0))) (log (+ 1 u0)))) (* (neg alpha) alpha) (neg alpha) alpha (- (log (+ 1 (* (neg u0) u0))) (log (+ 1 u0))) (log (+ 1 (* (neg u0) u0))) (* (neg u0) u0) (neg u0) u0 (log (+ 1 u0)))

rewrite173.0ms (6.7%)

Memory
-12.7MiB live, 131.6MiB allocated; 43ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02721423
02851269
117021187
080481155
Stop Event
iter limit
node limit
iter limit
Counts
65 → 96
Calls
Call 1
Inputs
(*.f32 (*.f32 (neg.f32 alpha) alpha) (-.f32 (log1p.f32 (*.f32 (neg.f32 u0) u0)) (log1p.f32 u0)))
(*.f32 (neg.f32 alpha) alpha)
(neg.f32 alpha)
alpha
(-.f32 (log1p.f32 (*.f32 (neg.f32 u0) u0)) (log1p.f32 u0))
(log1p.f32 (*.f32 (neg.f32 u0) u0))
(*.f32 (neg.f32 u0) u0)
(neg.f32 u0)
u0
(log1p.f32 u0)
#s(approx (* (* (neg alpha) alpha) (- (log (+ 1 (* (neg u0) u0))) (log (+ 1 u0)))) #s(hole binary32 (* -1 (* (pow alpha 2) (- (log (+ 1 (* -1 (pow u0 2)))) (log (+ 1 u0)))))))
#s(approx (* (neg alpha) alpha) #s(hole binary32 (* -1 (pow alpha 2))))
#s(approx (neg alpha) #s(hole binary32 (* -1 alpha)))
#s(approx alpha #s(hole binary32 alpha))
#s(approx (* (* (neg alpha) alpha) (- (log (+ 1 (* (neg u0) u0))) (log (+ 1 u0)))) #s(hole binary32 (* (pow alpha 2) u0)))
#s(approx (* (* (neg alpha) alpha) (- (log (+ 1 (* (neg u0) u0))) (log (+ 1 u0)))) #s(hole binary32 (* u0 (+ (* 1/2 (* (pow alpha 2) u0)) (pow alpha 2)))))
#s(approx (* (* (neg alpha) alpha) (- (log (+ 1 (* (neg u0) u0))) (log (+ 1 u0)))) #s(hole binary32 (* u0 (+ (* u0 (+ (* 1/3 (* (pow alpha 2) u0)) (* 1/2 (pow alpha 2)))) (pow alpha 2)))))
#s(approx (* (* (neg alpha) alpha) (- (log (+ 1 (* (neg u0) u0))) (log (+ 1 u0)))) #s(hole binary32 (* u0 (+ (* u0 (+ (* 1/2 (pow alpha 2)) (* u0 (+ (* 1/4 (* (pow alpha 2) u0)) (* 1/3 (pow alpha 2)))))) (pow alpha 2)))))
#s(approx (- (log (+ 1 (* (neg u0) u0))) (log (+ 1 u0))) #s(hole binary32 (* -1 u0)))
#s(approx (- (log (+ 1 (* (neg u0) u0))) (log (+ 1 u0))) #s(hole binary32 (* u0 (- (* -1/2 u0) 1))))
#s(approx (- (log (+ 1 (* (neg u0) u0))) (log (+ 1 u0))) #s(hole binary32 (* u0 (- (* u0 (- (* -1/3 u0) 1/2)) 1))))
#s(approx (- (log (+ 1 (* (neg u0) u0))) (log (+ 1 u0))) #s(hole binary32 (* u0 (- (* u0 (- (* u0 (- (* -1/4 u0) 1/3)) 1/2)) 1))))
#s(approx (log (+ 1 (* (neg u0) u0))) #s(hole binary32 (* -1 (pow u0 2))))
#s(approx (log (+ 1 (* (neg u0) u0))) #s(hole binary32 (* (pow u0 2) (- (* -1/2 (pow u0 2)) 1))))
#s(approx (log (+ 1 (* (neg u0) u0))) #s(hole binary32 (* (pow u0 2) (- (* (pow u0 2) (- (* -1/3 (pow u0 2)) 1/2)) 1))))
#s(approx (log (+ 1 (* (neg u0) u0))) #s(hole binary32 (* (pow u0 2) (- (* (pow u0 2) (- (* (pow u0 2) (- (* -1/4 (pow u0 2)) 1/3)) 1/2)) 1))))
#s(approx (* (neg u0) u0) #s(hole binary32 (* -1 (pow u0 2))))
#s(approx (neg u0) #s(hole binary32 (* -1 u0)))
#s(approx u0 #s(hole binary32 u0))
#s(approx (log (+ 1 u0)) #s(hole binary32 u0))
#s(approx (log (+ 1 u0)) #s(hole binary32 (* u0 (+ 1 (* -1/2 u0)))))
#s(approx (log (+ 1 u0)) #s(hole binary32 (* u0 (+ 1 (* u0 (- (* 1/3 u0) 1/2))))))
#s(approx (log (+ 1 u0)) #s(hole binary32 (* u0 (+ 1 (* u0 (- (* u0 (+ 1/3 (* -1/4 u0))) 1/2))))))
#s(approx (* (* (neg alpha) alpha) (- (log (+ 1 (* (neg u0) u0))) (log (+ 1 u0)))) #s(hole binary32 (* -1 (* (pow alpha 2) (- (+ (log -1) (* -2 (log (/ 1 u0)))) (* -1 (log (/ 1 u0))))))))
#s(approx (* (* (neg alpha) alpha) (- (log (+ 1 (* (neg u0) u0))) (log (+ 1 u0)))) #s(hole binary32 (+ (* -1 (* (pow alpha 2) (- (+ (log -1) (* -2 (log (/ 1 u0)))) (* -1 (log (/ 1 u0)))))) (/ (pow alpha 2) u0))))
#s(approx (* (* (neg alpha) alpha) (- (log (+ 1 (* (neg u0) u0))) (log (+ 1 u0)))) #s(hole binary32 (+ (* -1 (* (pow alpha 2) (- (+ (log -1) (* -2 (log (/ 1 u0)))) (* -1 (log (/ 1 u0)))))) (+ (* 1/2 (/ (pow alpha 2) (pow u0 2))) (/ (pow alpha 2) u0)))))
#s(approx (* (* (neg alpha) alpha) (- (log (+ 1 (* (neg u0) u0))) (log (+ 1 u0)))) #s(hole binary32 (+ (* -1 (* (pow alpha 2) (- (+ (log -1) (* -2 (log (/ 1 u0)))) (* -1 (log (/ 1 u0)))))) (+ (* 1/3 (/ (pow alpha 2) (pow u0 3))) (+ (* 1/2 (/ (pow alpha 2) (pow u0 2))) (/ (pow alpha 2) u0))))))
#s(approx (- (log (+ 1 (* (neg u0) u0))) (log (+ 1 u0))) #s(hole binary32 (- (+ (log -1) (* -2 (log (/ 1 u0)))) (* -1 (log (/ 1 u0))))))
#s(approx (- (log (+ 1 (* (neg u0) u0))) (log (+ 1 u0))) #s(hole binary32 (- (+ (log -1) (* -2 (log (/ 1 u0)))) (+ (* -1 (log (/ 1 u0))) (/ 1 u0)))))
#s(approx (- (log (+ 1 (* (neg u0) u0))) (log (+ 1 u0))) #s(hole binary32 (- (+ (log -1) (+ (* -2 (log (/ 1 u0))) (* -1 (/ (+ 1 (* 1/2 (/ 1 u0))) u0)))) (* -1 (log (/ 1 u0))))))
#s(approx (- (log (+ 1 (* (neg u0) u0))) (log (+ 1 u0))) #s(hole binary32 (- (+ (log -1) (+ (* -2 (log (/ 1 u0))) (* -1 (/ (+ 1/2 (* 1/3 (/ 1 u0))) (pow u0 2))))) (+ (* -1 (log (/ 1 u0))) (/ 1 u0)))))
#s(approx (log (+ 1 (* (neg u0) u0))) #s(hole binary32 (+ (log -1) (* -2 (log (/ 1 u0))))))
#s(approx (log (+ 1 (* (neg u0) u0))) #s(hole binary32 (- (+ (log -1) (* -2 (log (/ 1 u0)))) (/ 1 (pow u0 2)))))
#s(approx (log (+ 1 (* (neg u0) u0))) #s(hole binary32 (+ (log -1) (+ (* -2 (log (/ 1 u0))) (* -1 (/ (+ 1 (* 1/2 (/ 1 (pow u0 2)))) (pow u0 2)))))))
#s(approx (log (+ 1 (* (neg u0) u0))) #s(hole binary32 (- (+ (log -1) (+ (* -2 (log (/ 1 u0))) (* -1 (/ (+ 1/2 (* 1/3 (/ 1 (pow u0 2)))) (pow u0 4))))) (/ 1 (pow u0 2)))))
#s(approx (log (+ 1 u0)) #s(hole binary32 (* -1 (log (/ 1 u0)))))
#s(approx (log (+ 1 u0)) #s(hole binary32 (+ (* -1 (log (/ 1 u0))) (/ 1 u0))))
#s(approx (log (+ 1 u0)) #s(hole binary32 (- (+ (* -1 (log (/ 1 u0))) (/ 1 u0)) (/ 1/2 (pow u0 2)))))
#s(approx (log (+ 1 u0)) #s(hole binary32 (- (+ (* -1 (log (/ 1 u0))) (+ (/ 1 u0) (* 1/3 (/ 1 (pow u0 3))))) (/ 1/2 (pow u0 2)))))
#s(approx (* (* (neg alpha) alpha) (- (log (+ 1 (* (neg u0) u0))) (log (+ 1 u0)))) #s(hole binary32 (* -1 (* (pow alpha 2) (- (* -2 (log (/ -1 u0))) (* -1 (log (/ -1 u0))))))))
#s(approx (* (* (neg alpha) alpha) (- (log (+ 1 (* (neg u0) u0))) (log (+ 1 u0)))) #s(hole binary32 (+ (* -1 (* (pow alpha 2) (- (* -2 (log (/ -1 u0))) (* -1 (log (/ -1 u0)))))) (/ (pow alpha 2) u0))))
#s(approx (* (* (neg alpha) alpha) (- (log (+ 1 (* (neg u0) u0))) (log (+ 1 u0)))) #s(hole binary32 (+ (* -1 (* (pow alpha 2) (- (* -2 (log (/ -1 u0))) (* -1 (log (/ -1 u0)))))) (* -1 (/ (+ (* -1 (pow alpha 2)) (* -1/2 (/ (pow alpha 2) u0))) u0)))))
#s(approx (* (* (neg alpha) alpha) (- (log (+ 1 (* (neg u0) u0))) (log (+ 1 u0)))) #s(hole binary32 (+ (* -1 (* (pow alpha 2) (- (* -2 (log (/ -1 u0))) (* -1 (log (/ -1 u0)))))) (* -1 (/ (+ (* -1 (/ (+ (* 1/3 (/ (pow alpha 2) u0)) (* 1/2 (pow alpha 2))) u0)) (* -1 (pow alpha 2))) u0)))))
#s(approx (- (log (+ 1 (* (neg u0) u0))) (log (+ 1 u0))) #s(hole binary32 (- (* -2 (log (/ -1 u0))) (* -1 (log (/ -1 u0))))))
#s(approx (- (log (+ 1 (* (neg u0) u0))) (log (+ 1 u0))) #s(hole binary32 (- (* -2 (log (/ -1 u0))) (+ (* -1 (log (/ -1 u0))) (/ 1 u0)))))
#s(approx (- (log (+ 1 (* (neg u0) u0))) (log (+ 1 u0))) #s(hole binary32 (- (+ (* -2 (log (/ -1 u0))) (* -1 (/ (+ 1 (* 1/2 (/ 1 u0))) u0))) (* -1 (log (/ -1 u0))))))
#s(approx (- (log (+ 1 (* (neg u0) u0))) (log (+ 1 u0))) #s(hole binary32 (- (+ (* -2 (log (/ -1 u0))) (* -1 (/ (+ 1 (+ (/ 1/3 (pow u0 2)) (* 1/2 (/ 1 u0)))) u0))) (* -1 (log (/ -1 u0))))))
#s(approx (log (+ 1 (* (neg u0) u0))) #s(hole binary32 (+ (log -1) (* -2 (log (/ -1 u0))))))
#s(approx (log (+ 1 (* (neg u0) u0))) #s(hole binary32 (- (+ (log -1) (* -2 (log (/ -1 u0)))) (/ 1 (pow u0 2)))))
#s(approx (log (+ 1 (* (neg u0) u0))) #s(hole binary32 (+ (log -1) (+ (* -2 (log (/ -1 u0))) (* -1 (/ (+ 1 (* 1/2 (/ 1 (pow u0 2)))) (pow u0 2)))))))
#s(approx (log (+ 1 (* (neg u0) u0))) #s(hole binary32 (- (+ (log -1) (+ (* -2 (log (/ -1 u0))) (* -1 (/ (+ 1/2 (* 1/3 (/ 1 (pow u0 2)))) (pow u0 4))))) (/ 1 (pow u0 2)))))
#s(approx (log (+ 1 u0)) #s(hole binary32 (+ (log -1) (* -1 (log (/ -1 u0))))))
#s(approx (log (+ 1 u0)) #s(hole binary32 (+ (log -1) (+ (* -1 (log (/ -1 u0))) (/ 1 u0)))))
#s(approx (log (+ 1 u0)) #s(hole binary32 (+ (log -1) (+ (* -1 (log (/ -1 u0))) (* -1 (/ (- (* 1/2 (/ 1 u0)) 1) u0))))))
#s(approx (log (+ 1 u0)) #s(hole binary32 (+ (log -1) (+ (* -1 (log (/ -1 u0))) (* -1 (/ (- (* -1 (/ (- (* 1/3 (/ 1 u0)) 1/2) u0)) 1) u0))))))
Outputs
(log.f32 (pow.f32 (/.f32 (fma.f32 (neg.f32 u0) u0 #s(literal 1 binary32)) (+.f32 #s(literal 1 binary32) u0)) (*.f32 (neg.f32 alpha) alpha)))
(*.f32 (*.f32 (neg.f32 alpha) alpha) (-.f32 (log1p.f32 (*.f32 (neg.f32 u0) u0)) (log1p.f32 u0)))
(*.f32 (*.f32 (*.f32 alpha alpha) (-.f32 (log1p.f32 (*.f32 (neg.f32 u0) u0)) (log1p.f32 u0))) #s(literal -1 binary32))
(*.f32 #s(literal -1 binary32) (*.f32 (*.f32 alpha alpha) (-.f32 (log1p.f32 (*.f32 (neg.f32 u0) u0)) (log1p.f32 u0))))
(*.f32 (-.f32 (log1p.f32 (*.f32 (neg.f32 u0) u0)) (log1p.f32 u0)) (*.f32 (neg.f32 alpha) alpha))
(*.f32 (neg.f32 alpha) (*.f32 alpha (-.f32 (log1p.f32 (*.f32 (neg.f32 u0) u0)) (log1p.f32 u0))))
(neg.f32 (*.f32 (*.f32 alpha alpha) (-.f32 (log1p.f32 (*.f32 (neg.f32 u0) u0)) (log1p.f32 u0))))
(*.f32 (*.f32 alpha alpha) #s(literal -1 binary32))
(*.f32 #s(literal -1 binary32) (*.f32 alpha alpha))
(*.f32 (neg.f32 alpha) alpha)
(*.f32 alpha (neg.f32 alpha))
(neg.f32 (*.f32 alpha alpha))
(*.f32 #s(literal -1 binary32) alpha)
(*.f32 alpha #s(literal -1 binary32))
(neg.f32 alpha)
alpha
(log.f32 (/.f32 (fma.f32 (neg.f32 u0) u0 #s(literal 1 binary32)) (+.f32 #s(literal 1 binary32) u0)))
(/.f32 (neg.f32 (-.f32 (pow.f32 (log1p.f32 (*.f32 (neg.f32 u0) u0)) #s(literal 2 binary32)) (pow.f32 (log1p.f32 u0) #s(literal 2 binary32)))) (neg.f32 (+.f32 (log1p.f32 (*.f32 (neg.f32 u0) u0)) (log1p.f32 u0))))
(/.f32 (neg.f32 (-.f32 (pow.f32 (log1p.f32 (*.f32 (neg.f32 u0) u0)) #s(literal 3 binary32)) (pow.f32 (log1p.f32 u0) #s(literal 3 binary32)))) (neg.f32 (+.f32 (pow.f32 (log1p.f32 (*.f32 (neg.f32 u0) u0)) #s(literal 2 binary32)) (fma.f32 (log1p.f32 u0) (log1p.f32 u0) (*.f32 (log1p.f32 (*.f32 (neg.f32 u0) u0)) (log1p.f32 u0))))))
(/.f32 (-.f32 (pow.f32 (log1p.f32 (*.f32 (neg.f32 u0) u0)) #s(literal 2 binary32)) (pow.f32 (log1p.f32 u0) #s(literal 2 binary32))) (+.f32 (log1p.f32 (*.f32 (neg.f32 u0) u0)) (log1p.f32 u0)))
(/.f32 (-.f32 (pow.f32 (log1p.f32 (*.f32 (neg.f32 u0) u0)) #s(literal 3 binary32)) (pow.f32 (log1p.f32 u0) #s(literal 3 binary32))) (+.f32 (pow.f32 (log1p.f32 (*.f32 (neg.f32 u0) u0)) #s(literal 2 binary32)) (fma.f32 (log1p.f32 u0) (log1p.f32 u0) (*.f32 (log1p.f32 (*.f32 (neg.f32 u0) u0)) (log1p.f32 u0)))))
(-.f32 (/.f32 (pow.f32 (log1p.f32 (*.f32 (neg.f32 u0) u0)) #s(literal 2 binary32)) (+.f32 (log1p.f32 (*.f32 (neg.f32 u0) u0)) (log1p.f32 u0))) (/.f32 (pow.f32 (log1p.f32 u0) #s(literal 2 binary32)) (+.f32 (log1p.f32 (*.f32 (neg.f32 u0) u0)) (log1p.f32 u0))))
(-.f32 (/.f32 (pow.f32 (log1p.f32 (*.f32 (neg.f32 u0) u0)) #s(literal 3 binary32)) (+.f32 (pow.f32 (log1p.f32 (*.f32 (neg.f32 u0) u0)) #s(literal 2 binary32)) (fma.f32 (log1p.f32 u0) (log1p.f32 u0) (*.f32 (log1p.f32 (*.f32 (neg.f32 u0) u0)) (log1p.f32 u0))))) (/.f32 (pow.f32 (log1p.f32 u0) #s(literal 3 binary32)) (+.f32 (pow.f32 (log1p.f32 (*.f32 (neg.f32 u0) u0)) #s(literal 2 binary32)) (fma.f32 (log1p.f32 u0) (log1p.f32 u0) (*.f32 (log1p.f32 (*.f32 (neg.f32 u0) u0)) (log1p.f32 u0))))))
(-.f32 (log1p.f32 (*.f32 (neg.f32 u0) u0)) (log1p.f32 u0))
(log.f32 (fma.f32 (neg.f32 u0) u0 #s(literal 1 binary32)))
(-.f32 (log.f32 (-.f32 #s(literal 1 binary32) (pow.f32 u0 #s(literal 4 binary32)))) (log.f32 (-.f32 #s(literal 1 binary32) (*.f32 (neg.f32 u0) u0))))
(-.f32 (log1p.f32 (pow.f32 (*.f32 (neg.f32 u0) u0) #s(literal 3 binary32))) (log1p.f32 (-.f32 (pow.f32 u0 #s(literal 4 binary32)) (*.f32 #s(literal 1 binary32) (*.f32 (neg.f32 u0) u0)))))
(log1p.f32 (*.f32 (neg.f32 u0) u0))
(*.f32 (*.f32 u0 u0) #s(literal -1 binary32))
(*.f32 #s(literal -1 binary32) (*.f32 u0 u0))
(*.f32 (neg.f32 u0) u0)
(*.f32 u0 (neg.f32 u0))
(neg.f32 (*.f32 u0 u0))
(*.f32 #s(literal -1 binary32) u0)
(*.f32 u0 #s(literal -1 binary32))
(neg.f32 u0)
u0
(log.f32 (+.f32 #s(literal 1 binary32) u0))
(-.f32 (log1p.f32 (pow.f32 u0 #s(literal 3 binary32))) (log1p.f32 (-.f32 (*.f32 u0 u0) (*.f32 #s(literal 1 binary32) u0))))
(-.f32 (log1p.f32 (*.f32 (neg.f32 u0) u0)) (log.f32 (-.f32 #s(literal 1 binary32) u0)))
(log1p.f32 u0)
#s(approx (* (* (neg alpha) alpha) (- (log (+ 1 (* (neg u0) u0))) (log (+ 1 u0)))) (*.f32 (*.f32 (neg.f32 alpha) alpha) (-.f32 (log1p.f32 (*.f32 (neg.f32 u0) u0)) (log1p.f32 u0))))
#s(approx (* (neg alpha) alpha) (*.f32 (neg.f32 alpha) alpha))
#s(approx (neg alpha) (neg.f32 alpha))
#s(approx alpha alpha)
#s(approx (* (* (neg alpha) alpha) (- (log (+ 1 (* (neg u0) u0))) (log (+ 1 u0)))) (*.f32 (*.f32 alpha alpha) u0))
#s(approx (* (* (neg alpha) alpha) (- (log (+ 1 (* (neg u0) u0))) (log (+ 1 u0)))) (*.f32 (fma.f32 #s(literal 1/2 binary32) (*.f32 (*.f32 alpha alpha) u0) (*.f32 alpha alpha)) u0))
#s(approx (* (* (neg alpha) alpha) (- (log (+ 1 (* (neg u0) u0))) (log (+ 1 u0)))) (*.f32 (fma.f32 (fma.f32 #s(literal 1/3 binary32) (*.f32 (*.f32 alpha alpha) u0) (*.f32 #s(literal 1/2 binary32) (*.f32 alpha alpha))) u0 (*.f32 alpha alpha)) u0))
#s(approx (* (* (neg alpha) alpha) (- (log (+ 1 (* (neg u0) u0))) (log (+ 1 u0)))) (*.f32 (fma.f32 (fma.f32 (fma.f32 #s(literal 1/4 binary32) (*.f32 (*.f32 alpha alpha) u0) (*.f32 #s(literal 1/3 binary32) (*.f32 alpha alpha))) u0 (*.f32 #s(literal 1/2 binary32) (*.f32 alpha alpha))) u0 (*.f32 alpha alpha)) u0))
#s(approx (- (log (+ 1 (* (neg u0) u0))) (log (+ 1 u0))) (neg.f32 u0))
#s(approx (- (log (+ 1 (* (neg u0) u0))) (log (+ 1 u0))) (*.f32 (-.f32 (*.f32 #s(literal -1/2 binary32) u0) #s(literal 1 binary32)) u0))
#s(approx (- (log (+ 1 (* (neg u0) u0))) (log (+ 1 u0))) (*.f32 (-.f32 (*.f32 (-.f32 (*.f32 #s(literal -1/3 binary32) u0) #s(literal 1/2 binary32)) u0) #s(literal 1 binary32)) u0))
#s(approx (- (log (+ 1 (* (neg u0) u0))) (log (+ 1 u0))) (*.f32 (-.f32 (*.f32 (-.f32 (*.f32 (-.f32 (*.f32 #s(literal -1/4 binary32) u0) #s(literal 1/3 binary32)) u0) #s(literal 1/2 binary32)) u0) #s(literal 1 binary32)) u0))
#s(approx (log (+ 1 (* (neg u0) u0))) (*.f32 (neg.f32 u0) u0))
#s(approx (log (+ 1 (* (neg u0) u0))) (*.f32 (-.f32 (*.f32 #s(literal -1/2 binary32) (*.f32 u0 u0)) #s(literal 1 binary32)) (*.f32 u0 u0)))
#s(approx (log (+ 1 (* (neg u0) u0))) (*.f32 (-.f32 (*.f32 (-.f32 (*.f32 #s(literal -1/3 binary32) (*.f32 u0 u0)) #s(literal 1/2 binary32)) (*.f32 u0 u0)) #s(literal 1 binary32)) (*.f32 u0 u0)))
#s(approx (log (+ 1 (* (neg u0) u0))) (*.f32 (-.f32 (*.f32 (-.f32 (*.f32 (-.f32 (*.f32 #s(literal -1/4 binary32) (*.f32 u0 u0)) #s(literal 1/3 binary32)) (*.f32 u0 u0)) #s(literal 1/2 binary32)) (*.f32 u0 u0)) #s(literal 1 binary32)) (*.f32 u0 u0)))
#s(approx (* (neg u0) u0) (*.f32 (neg.f32 u0) u0))
#s(approx (neg u0) (neg.f32 u0))
#s(approx u0 u0)
#s(approx (log (+ 1 u0)) u0)
#s(approx (log (+ 1 u0)) (*.f32 (fma.f32 #s(literal -1/2 binary32) u0 #s(literal 1 binary32)) u0))
#s(approx (log (+ 1 u0)) (*.f32 (fma.f32 (-.f32 (*.f32 #s(literal 1/3 binary32) u0) #s(literal 1/2 binary32)) u0 #s(literal 1 binary32)) u0))
#s(approx (log (+ 1 u0)) (*.f32 (fma.f32 (-.f32 (*.f32 (fma.f32 #s(literal -1/4 binary32) u0 #s(literal 1/3 binary32)) u0) #s(literal 1/2 binary32)) u0 #s(literal 1 binary32)) u0))
#s(approx (* (* (neg alpha) alpha) (- (log (+ 1 (* (neg u0) u0))) (log (+ 1 u0)))) (*.f32 (*.f32 (neg.f32 alpha) alpha) (+.f32 (log.f32 #s(literal -1 binary32)) (log.f32 u0))))
#s(approx (* (* (neg alpha) alpha) (- (log (+ 1 (* (neg u0) u0))) (log (+ 1 u0)))) (fma.f32 (*.f32 (neg.f32 alpha) alpha) (+.f32 (log.f32 #s(literal -1 binary32)) (log.f32 u0)) (/.f32 (*.f32 alpha alpha) u0)))
#s(approx (* (* (neg alpha) alpha) (- (log (+ 1 (* (neg u0) u0))) (log (+ 1 u0)))) (fma.f32 (*.f32 (neg.f32 alpha) alpha) (+.f32 (log.f32 #s(literal -1 binary32)) (log.f32 u0)) (fma.f32 (/.f32 #s(literal 1/2 binary32) u0) (/.f32 (*.f32 alpha alpha) u0) (/.f32 (*.f32 alpha alpha) u0))))
#s(approx (* (* (neg alpha) alpha) (- (log (+ 1 (* (neg u0) u0))) (log (+ 1 u0)))) (fma.f32 (*.f32 (neg.f32 alpha) alpha) (+.f32 (log.f32 #s(literal -1 binary32)) (log.f32 u0)) (fma.f32 (/.f32 (*.f32 alpha alpha) (pow.f32 u0 #s(literal 3 binary32))) #s(literal 1/3 binary32) (fma.f32 (/.f32 #s(literal 1/2 binary32) u0) (/.f32 (*.f32 alpha alpha) u0) (/.f32 (*.f32 alpha alpha) u0)))))
#s(approx (- (log (+ 1 (* (neg u0) u0))) (log (+ 1 u0))) (+.f32 (log.f32 #s(literal -1 binary32)) (log.f32 u0)))
#s(approx (- (log (+ 1 (* (neg u0) u0))) (log (+ 1 u0))) (-.f32 (+.f32 (log.f32 #s(literal -1 binary32)) (log.f32 u0)) (/.f32 #s(literal 1 binary32) u0)))
#s(approx (- (log (+ 1 (* (neg u0) u0))) (log (+ 1 u0))) (-.f32 (+.f32 (log.f32 (*.f32 (neg.f32 u0) u0)) (neg.f32 (/.f32 (+.f32 (/.f32 #s(literal 1/2 binary32) u0) #s(literal 1 binary32)) u0))) (log.f32 u0)))
#s(approx (- (log (+ 1 (* (neg u0) u0))) (log (+ 1 u0))) (-.f32 (+.f32 (log.f32 (*.f32 (neg.f32 u0) u0)) (neg.f32 (/.f32 (+.f32 (/.f32 #s(literal 1/3 binary32) u0) #s(literal 1/2 binary32)) (*.f32 u0 u0)))) (+.f32 (log.f32 u0) (/.f32 #s(literal 1 binary32) u0))))
#s(approx (log (+ 1 (* (neg u0) u0))) (log.f32 (*.f32 (neg.f32 u0) u0)))
#s(approx (log (+ 1 (* (neg u0) u0))) (-.f32 (log.f32 (*.f32 (neg.f32 u0) u0)) (pow.f32 u0 #s(literal -2 binary32))))
#s(approx (log (+ 1 (* (neg u0) u0))) (+.f32 (log.f32 (*.f32 (neg.f32 u0) u0)) (neg.f32 (/.f32 (fma.f32 (pow.f32 u0 #s(literal -2 binary32)) #s(literal 1/2 binary32) #s(literal 1 binary32)) (*.f32 u0 u0)))))
#s(approx (log (+ 1 (* (neg u0) u0))) (-.f32 (+.f32 (log.f32 (*.f32 (neg.f32 u0) u0)) (neg.f32 (/.f32 (fma.f32 (pow.f32 u0 #s(literal -2 binary32)) #s(literal 1/3 binary32) #s(literal 1/2 binary32)) (pow.f32 u0 #s(literal 4 binary32))))) (pow.f32 u0 #s(literal -2 binary32))))
#s(approx (log (+ 1 u0)) (log.f32 u0))
#s(approx (log (+ 1 u0)) (+.f32 (log.f32 u0) (/.f32 #s(literal 1 binary32) u0)))
#s(approx (log (+ 1 u0)) (-.f32 (+.f32 (log.f32 u0) (/.f32 #s(literal 1 binary32) u0)) (*.f32 (pow.f32 u0 #s(literal -2 binary32)) #s(literal 1/2 binary32))))
#s(approx (log (+ 1 u0)) (-.f32 (+.f32 (fma.f32 (pow.f32 u0 #s(literal -3 binary32)) #s(literal 1/3 binary32) (/.f32 #s(literal 1 binary32) u0)) (log.f32 u0)) (*.f32 (pow.f32 u0 #s(literal -2 binary32)) #s(literal 1/2 binary32))))
#s(approx (* (* (neg alpha) alpha) (- (log (+ 1 (* (neg u0) u0))) (log (+ 1 u0)))) (*.f32 (*.f32 (neg.f32 alpha) alpha) (neg.f32 (log.f32 (/.f32 #s(literal -1 binary32) u0)))))
#s(approx (* (* (neg alpha) alpha) (- (log (+ 1 (* (neg u0) u0))) (log (+ 1 u0)))) (fma.f32 (*.f32 (neg.f32 alpha) alpha) (neg.f32 (log.f32 (/.f32 #s(literal -1 binary32) u0))) (/.f32 (*.f32 alpha alpha) u0)))
#s(approx (* (* (neg alpha) alpha) (- (log (+ 1 (* (neg u0) u0))) (log (+ 1 u0)))) (fma.f32 (*.f32 (neg.f32 alpha) alpha) (neg.f32 (log.f32 (/.f32 #s(literal -1 binary32) u0))) (neg.f32 (/.f32 (fma.f32 (/.f32 (*.f32 alpha alpha) u0) #s(literal -1/2 binary32) (*.f32 (neg.f32 alpha) alpha)) u0))))
#s(approx (* (* (neg alpha) alpha) (- (log (+ 1 (* (neg u0) u0))) (log (+ 1 u0)))) (fma.f32 (*.f32 (neg.f32 alpha) alpha) (neg.f32 (log.f32 (/.f32 #s(literal -1 binary32) u0))) (neg.f32 (/.f32 (fma.f32 (neg.f32 alpha) alpha (neg.f32 (/.f32 (fma.f32 (/.f32 (*.f32 alpha alpha) u0) #s(literal 1/3 binary32) (*.f32 #s(literal 1/2 binary32) (*.f32 alpha alpha))) u0))) u0))))
#s(approx (- (log (+ 1 (* (neg u0) u0))) (log (+ 1 u0))) (neg.f32 (log.f32 (/.f32 #s(literal -1 binary32) u0))))
#s(approx (- (log (+ 1 (* (neg u0) u0))) (log (+ 1 u0))) (-.f32 (neg.f32 (log.f32 (/.f32 #s(literal -1 binary32) u0))) (/.f32 #s(literal 1 binary32) u0)))
#s(approx (- (log (+ 1 (* (neg u0) u0))) (log (+ 1 u0))) (-.f32 (fma.f32 (log.f32 (/.f32 #s(literal -1 binary32) u0)) #s(literal -2 binary32) (neg.f32 (/.f32 (+.f32 (/.f32 #s(literal 1/2 binary32) u0) #s(literal 1 binary32)) u0))) (neg.f32 (log.f32 (/.f32 #s(literal -1 binary32) u0)))))
#s(approx (- (log (+ 1 (* (neg u0) u0))) (log (+ 1 u0))) (-.f32 (fma.f32 (log.f32 (/.f32 #s(literal -1 binary32) u0)) #s(literal -2 binary32) (neg.f32 (/.f32 (+.f32 (fma.f32 (pow.f32 u0 #s(literal -2 binary32)) #s(literal 1/3 binary32) (/.f32 #s(literal 1/2 binary32) u0)) #s(literal 1 binary32)) u0))) (neg.f32 (log.f32 (/.f32 #s(literal -1 binary32) u0)))))
#s(approx (log (+ 1 (* (neg u0) u0))) (log.f32 (*.f32 (pow.f32 (/.f32 #s(literal -1 binary32) u0) #s(literal -2 binary32)) #s(literal -1 binary32))))
#s(approx (log (+ 1 (* (neg u0) u0))) (-.f32 (log.f32 (*.f32 (pow.f32 (/.f32 #s(literal -1 binary32) u0) #s(literal -2 binary32)) #s(literal -1 binary32))) (pow.f32 u0 #s(literal -2 binary32))))
#s(approx (log (+ 1 (* (neg u0) u0))) (+.f32 (fma.f32 (log.f32 (/.f32 #s(literal -1 binary32) u0)) #s(literal -2 binary32) (neg.f32 (/.f32 (fma.f32 (pow.f32 u0 #s(literal -2 binary32)) #s(literal 1/2 binary32) #s(literal 1 binary32)) (*.f32 u0 u0)))) (log.f32 #s(literal -1 binary32))))
#s(approx (log (+ 1 (* (neg u0) u0))) (-.f32 (+.f32 (log.f32 (*.f32 (pow.f32 (/.f32 #s(literal -1 binary32) u0) #s(literal -2 binary32)) #s(literal -1 binary32))) (neg.f32 (/.f32 (fma.f32 (pow.f32 u0 #s(literal -2 binary32)) #s(literal 1/3 binary32) #s(literal 1/2 binary32)) (pow.f32 u0 #s(literal 4 binary32))))) (pow.f32 u0 #s(literal -2 binary32))))
#s(approx (log (+ 1 u0)) (log.f32 (*.f32 (/.f32 #s(literal 1 binary32) (/.f32 #s(literal -1 binary32) u0)) #s(literal -1 binary32))))
#s(approx (log (+ 1 u0)) (+.f32 (log.f32 (*.f32 (/.f32 #s(literal 1 binary32) (/.f32 #s(literal -1 binary32) u0)) #s(literal -1 binary32))) (/.f32 #s(literal 1 binary32) u0)))
#s(approx (log (+ 1 u0)) (fma.f32 #s(literal -1 binary32) (+.f32 (log.f32 (/.f32 #s(literal -1 binary32) u0)) (/.f32 (-.f32 (/.f32 #s(literal 1/2 binary32) u0) #s(literal 1 binary32)) u0)) (log.f32 #s(literal -1 binary32))))
#s(approx (log (+ 1 u0)) (fma.f32 #s(literal -1 binary32) (+.f32 (log.f32 (/.f32 #s(literal -1 binary32) u0)) (/.f32 (-.f32 (neg.f32 (/.f32 (-.f32 (/.f32 #s(literal 1/3 binary32) u0) #s(literal 1/2 binary32)) u0)) #s(literal 1 binary32)) u0)) (log.f32 #s(literal -1 binary32))))

eval8.0ms (0.3%)

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

Compiled 2 441 to 442 computations (81.9% saved)

prune41.0ms (1.6%)

Memory
-9.9MiB live, 35.4MiB allocated; 6ms collecting garbage
Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New993102
Fresh134
Picked101
Done011
Total1017108
Accuracy
99.9%
Counts
108 → 7
Alt Table
Click to see full alt table
StatusAccuracyProgram
98.4%
(*.f32 (*.f32 (neg.f32 alpha) alpha) (/.f32 (-.f32 (pow.f32 (log1p.f32 (*.f32 (neg.f32 u0) u0)) #s(literal 3 binary32)) (pow.f32 (log1p.f32 u0) #s(literal 3 binary32))) (+.f32 (pow.f32 (log1p.f32 (*.f32 (neg.f32 u0) u0)) #s(literal 2 binary32)) (fma.f32 (log1p.f32 u0) (log1p.f32 u0) (*.f32 (log1p.f32 (*.f32 (neg.f32 u0) u0)) (log1p.f32 u0))))))
98.6%
(*.f32 (*.f32 (neg.f32 alpha) alpha) (/.f32 (-.f32 (pow.f32 (log1p.f32 (*.f32 (neg.f32 u0) u0)) #s(literal 2 binary32)) (pow.f32 (log1p.f32 u0) #s(literal 2 binary32))) (+.f32 (log1p.f32 (*.f32 (neg.f32 u0) u0)) (log1p.f32 u0))))
98.6%
(*.f32 (*.f32 (neg.f32 alpha) alpha) (-.f32 (log1p.f32 (pow.f32 (neg.f32 u0) #s(literal 3 binary32))) (log1p.f32 (fma.f32 u0 u0 u0))))
98.8%
(*.f32 (*.f32 (neg.f32 alpha) alpha) (-.f32 (log1p.f32 (*.f32 (neg.f32 u0) u0)) (-.f32 (log1p.f32 (pow.f32 u0 #s(literal 3 binary32))) (log1p.f32 (-.f32 (*.f32 u0 u0) (*.f32 #s(literal 1 binary32) u0))))))
98.9%
(*.f32 (*.f32 (log1p.f32 (neg.f32 u0)) (neg.f32 alpha)) alpha)
95.3%
(*.f32 (*.f32 (exp.f32 (*.f32 (log.f32 alpha) #s(literal 2 binary32))) (log1p.f32 (neg.f32 u0))) #s(literal -1 binary32))
92.5%
(*.f32 #s(approx (* (* alpha alpha) (log (+ 1 (neg u0)))) (*.f32 (fma.f32 (fma.f32 (fma.f32 #s(literal -1/4 binary32) (*.f32 (*.f32 alpha alpha) u0) (*.f32 #s(literal -1/3 binary32) (*.f32 alpha alpha))) u0 (*.f32 #s(literal -1/2 binary32) (*.f32 alpha alpha))) u0 (neg.f32 (*.f32 alpha alpha))) u0)) #s(literal -1 binary32))
Compiler

Compiled 483 to 215 computations (55.5% saved)

regimes51.0ms (2%)

Memory
-20.3MiB live, 41.8MiB allocated; 7ms collecting garbage
Accuracy

Total -15.4b remaining (-5226.2%)

Threshold costs -15.4b (-5226.2%)

Counts
14 → 1
Calls
Call 1
Inputs
#s(approx (* (* (neg alpha) alpha) (log (- 1 u0))) (*.f32 (fma.f32 (fma.f32 #s(literal 1/3 binary32) (*.f32 (*.f32 alpha alpha) u0) (*.f32 #s(literal 1/2 binary32) (*.f32 alpha alpha))) u0 (*.f32 alpha alpha)) u0))
(*.f32 #s(approx (* (log (+ 1 (neg u0))) (neg alpha)) (*.f32 (fma.f32 (fma.f32 (fma.f32 (*.f32 alpha u0) #s(literal 1/4 binary32) (*.f32 #s(literal 1/3 binary32) alpha)) u0 (*.f32 #s(literal 1/2 binary32) alpha)) u0 alpha) u0)) alpha)
(*.f32 #s(approx (* (* alpha alpha) (log (+ 1 (neg u0)))) (*.f32 (fma.f32 (fma.f32 #s(literal -1/3 binary32) (*.f32 (*.f32 alpha alpha) u0) (*.f32 #s(literal -1/2 binary32) (*.f32 alpha alpha))) u0 (neg.f32 (*.f32 alpha alpha))) u0)) #s(literal -1 binary32))
#s(approx (* (* (neg alpha) alpha) (log (- 1 u0))) (*.f32 (fma.f32 (fma.f32 (fma.f32 #s(literal 1/4 binary32) (*.f32 (*.f32 alpha alpha) u0) (*.f32 #s(literal 1/3 binary32) (*.f32 alpha alpha))) u0 (*.f32 #s(literal 1/2 binary32) (*.f32 alpha alpha))) u0 (*.f32 alpha alpha)) u0))
(*.f32 #s(approx (* (* alpha alpha) (log (+ 1 (neg u0)))) (*.f32 (fma.f32 (fma.f32 (fma.f32 #s(literal -1/4 binary32) (*.f32 (*.f32 alpha alpha) u0) (*.f32 #s(literal -1/3 binary32) (*.f32 alpha alpha))) u0 (*.f32 #s(literal -1/2 binary32) (*.f32 alpha alpha))) u0 (neg.f32 (*.f32 alpha alpha))) u0)) #s(literal -1 binary32))
(*.f32 (*.f32 (log1p.f32 (neg.f32 u0)) (neg.f32 alpha)) alpha)
(*.f32 (*.f32 (neg.f32 alpha) alpha) (log.f32 (-.f32 #s(literal 1 binary32) u0)))
(*.f32 (*.f32 (*.f32 alpha alpha) (log1p.f32 (neg.f32 u0))) #s(literal -1 binary32))
(*.f32 (*.f32 (neg.f32 alpha) alpha) (-.f32 (log1p.f32 (*.f32 (neg.f32 u0) u0)) (log1p.f32 u0)))
(*.f32 (*.f32 (exp.f32 (*.f32 (log.f32 alpha) #s(literal 2 binary32))) (log1p.f32 (neg.f32 u0))) #s(literal -1 binary32))
(*.f32 (*.f32 (neg.f32 alpha) alpha) (-.f32 (log1p.f32 (pow.f32 (neg.f32 u0) #s(literal 3 binary32))) (log1p.f32 (fma.f32 u0 u0 u0))))
(*.f32 (*.f32 (neg.f32 alpha) alpha) (-.f32 (log1p.f32 (*.f32 (neg.f32 u0) u0)) (-.f32 (log1p.f32 (pow.f32 u0 #s(literal 3 binary32))) (log1p.f32 (-.f32 (*.f32 u0 u0) (*.f32 #s(literal 1 binary32) u0))))))
(*.f32 (*.f32 (neg.f32 alpha) alpha) (/.f32 (-.f32 (pow.f32 (log1p.f32 (*.f32 (neg.f32 u0) u0)) #s(literal 2 binary32)) (pow.f32 (log1p.f32 u0) #s(literal 2 binary32))) (+.f32 (log1p.f32 (*.f32 (neg.f32 u0) u0)) (log1p.f32 u0))))
(*.f32 (*.f32 (neg.f32 alpha) alpha) (/.f32 (-.f32 (pow.f32 (log1p.f32 (*.f32 (neg.f32 u0) u0)) #s(literal 3 binary32)) (pow.f32 (log1p.f32 u0) #s(literal 3 binary32))) (+.f32 (pow.f32 (log1p.f32 (*.f32 (neg.f32 u0) u0)) #s(literal 2 binary32)) (fma.f32 (log1p.f32 u0) (log1p.f32 u0) (*.f32 (log1p.f32 (*.f32 (neg.f32 u0) u0)) (log1p.f32 u0))))))
Outputs
(*.f32 (*.f32 (*.f32 alpha alpha) (log1p.f32 (neg.f32 u0))) #s(literal -1 binary32))
Calls

6 calls:

13.0ms
(-.f32 #s(literal 1 binary32) u0)
8.0ms
alpha
8.0ms
(*.f32 (neg.f32 alpha) alpha)
7.0ms
u0
7.0ms
(log.f32 (-.f32 #s(literal 1 binary32) u0))
Results
AccuracySegmentsBranch
99.1%1(-.f32 #s(literal 1 binary32) u0)
99.1%1(log.f32 (-.f32 #s(literal 1 binary32) u0))
99.1%1(*.f32 (neg.f32 alpha) alpha)
99.1%1(*.f32 (*.f32 (neg.f32 alpha) alpha) (log.f32 (-.f32 #s(literal 1 binary32) u0)))
99.1%1alpha
99.1%1u0
Compiler

Compiled 22 to 25 computations (-13.6% saved)

simplify9.0ms (0.4%)

Memory
10.5MiB live, 10.5MiB allocated; 0ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
089
1129
2139
Stop Event
saturated
Calls
Call 1
Inputs
(*.f32 (*.f32 (*.f32 alpha alpha) (log1p.f32 (neg.f32 u0))) #s(literal -1 binary32))
Outputs
(*.f32 (*.f32 (*.f32 alpha alpha) (log1p.f32 (neg.f32 u0))) #s(literal -1 binary32))

derivations32.0ms (1.2%)

Memory
24.0MiB live, 24.0MiB allocated; 0ms collecting garbage
Stop Event
fuel
Compiler

Compiled 9 to 8 computations (11.1% saved)

preprocess15.0ms (0.6%)

Memory
-32.5MiB live, 12.5MiB allocated; 8ms collecting garbage
Remove

(abs alpha)

Compiler

Compiled 54 to 48 computations (11.1% saved)

end0.0ms (0%)

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

Profiling

Loading profile data...