UniformSampleCone, x

Time bar (total: 1.2min)

analyze248.0ms (0.3%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%0.1%99.9%0%0%0%0
0%0%0.1%99.9%0%0%0%1
0%0%0.1%99.9%0%0%0%2
0%0%0.1%99.9%0%0%0%3
50%0%0%99.9%0%0%0%4
50%0%0%99.9%0%0%0%5
50%0%0%99.9%0%0%0%6
75%0.1%0%99.9%0%0%0%7
75%0.1%0%99.9%0%0%0%8
75%0.1%0%99.9%0%0%0%9
87.5%0.1%0%99.9%0%0%0%10
87.5%0.1%0%99.9%0%0%0%11
87.5%0.1%0%99.9%0%0%0%12
Compiler

Compiled 51 to 37 computations (27.5% saved)

Precisions
Click to see histograms. Total time spent on operations: 86.0ms
Operation ival-mult, time spent: 23.0ms, 27.0% of total-time
Operation ival-<=, time spent: 18.0ms, 21.0% of total-time
Operation ival-sub, time spent: 12.0ms, 14.0% of total-time
Operation ival-cos, time spent: 9.0ms, 10.0% of total-time
Operation ival-sqrt, time spent: 8.0ms, 9.0% of total-time
Operation ival-add, time spent: 6.0ms, 7.0% of total-time
Operation const, time spent: 3.0ms, 3.0% of total-time
Operation ival-pi, time spent: 3.0ms, 3.0% of total-time
Operation ival-and, time spent: 3.0ms, 3.0% of total-time

sample3.7s (5.2%)

Results
3.3s8255×0valid
0.0ms0valid
Precisions
Click to see histograms. Total time spent on operations: 1.9s
Operation ival-sub, time spent: 431.0ms, 23.0% of total-time
Operation ival-cos, time spent: 354.0ms, 19.0% of total-time
Operation ival-mult, time spent: 329.0ms, 18.0% of total-time
Operation ival-add, time spent: 269.0ms, 14.0% of total-time
Operation ival-<=, time spent: 222.0ms, 12.0% of total-time
Operation ival-sqrt, time spent: 116.0ms, 6.0% of total-time
Operation const, time spent: 63.0ms, 3.0% of total-time
Operation ival-and, time spent: 55.0ms, 3.0% of total-time
Operation ival-pi, time spent: 38.0ms, 2.0% of total-time
Bogosity

preprocess3.7s (5.1%)

Algorithm
egg-herbie
Rules
478×neg-sub0
439×distribute-neg-in
412×+-commutative
339×distribute-rgt-in
314×distribute-lft-in
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
2560-256(0.007164789829403162 1.1439971192572784e-9 1.2407874784122992e-32)(PI.f32)
00-0-(+.f32 (-.f32 1 ux) (*.f32 ux maxCos))
00-0-(*.f32 (*.f32 uy 2) (PI.f32))
00-0-(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))))))
00-0-(*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)))
00-0-uy
00-0-(cos.f32 (*.f32 (*.f32 uy 2) (PI.f32)))
00-0-(*.f32 uy 2)
00-0-(-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))))
00-0-ux
00-0-(*.f32 ux maxCos)
00-0-maxCos
00-0-2
00-0-1
00-0-(sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)))))
00-0-(-.f32 1 ux)
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0721142
12231034
2774973
33607967
47702967
Stop Event
node limit
Calls
Call 1
Inputs
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))))))
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))))))
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 (neg.f32 ux)) (*.f32 (neg.f32 ux) maxCos)) (+.f32 (-.f32 1 (neg.f32 ux)) (*.f32 (neg.f32 ux) maxCos))))))
(*.f32 (cos.f32 (*.f32 (*.f32 (neg.f32 uy) 2) (PI.f32))) (sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))))))
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux (neg.f32 maxCos))) (+.f32 (-.f32 1 ux) (*.f32 ux (neg.f32 maxCos)))))))
(neg.f32 (*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 (neg.f32 ux)) (*.f32 (neg.f32 ux) maxCos)) (+.f32 (-.f32 1 (neg.f32 ux)) (*.f32 (neg.f32 ux) maxCos)))))))
(neg.f32 (*.f32 (cos.f32 (*.f32 (*.f32 (neg.f32 uy) 2) (PI.f32))) (sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)))))))
(neg.f32 (*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux (neg.f32 maxCos))) (+.f32 (-.f32 1 ux) (*.f32 ux (neg.f32 maxCos))))))))
(*.f32 (cos.f32 (*.f32 (*.f32 ux 2) (PI.f32))) (sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 uy) (*.f32 uy maxCos)) (+.f32 (-.f32 1 uy) (*.f32 uy maxCos))))))
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 maxCos) (*.f32 maxCos ux)) (+.f32 (-.f32 1 maxCos) (*.f32 maxCos ux))))))
(*.f32 (cos.f32 (*.f32 (*.f32 maxCos 2) (PI.f32))) (sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux uy)) (+.f32 (-.f32 1 ux) (*.f32 ux uy))))))
Outputs
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (-.f32 1 (*.f32 (fma.f32 ux maxCos (-.f32 1 ux)) (fma.f32 ux maxCos (-.f32 1 ux))))))
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (fma.f32 (fma.f32 ux maxCos (-.f32 1 ux)) (-.f32 -1 (*.f32 ux (+.f32 maxCos -1))) 1)))
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (-.f32 1 (*.f32 (fma.f32 ux maxCos (-.f32 1 ux)) (fma.f32 ux maxCos (-.f32 1 ux))))))
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (fma.f32 (fma.f32 ux maxCos (-.f32 1 ux)) (-.f32 -1 (*.f32 ux (+.f32 maxCos -1))) 1)))
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 (neg.f32 ux)) (*.f32 (neg.f32 ux) maxCos)) (+.f32 (-.f32 1 (neg.f32 ux)) (*.f32 (neg.f32 ux) maxCos))))))
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 (neg.f32 ux)) (*.f32 ux (neg.f32 maxCos))) (+.f32 (-.f32 1 (neg.f32 ux)) (*.f32 ux (neg.f32 maxCos)))))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (-.f32 1 (*.f32 (+.f32 1 (-.f32 ux (*.f32 ux maxCos))) (+.f32 1 (-.f32 ux (*.f32 ux maxCos)))))))
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (fma.f32 (-.f32 1 (*.f32 ux (+.f32 maxCos -1))) (+.f32 -1 (*.f32 ux (+.f32 maxCos -1))) 1)))
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (fma.f32 (-.f32 ux (fma.f32 ux maxCos -1)) (-.f32 (fma.f32 ux maxCos -1) ux) 1)))
(*.f32 (cos.f32 (*.f32 (*.f32 (neg.f32 uy) 2) (PI.f32))) (sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))))))
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (-.f32 1 (*.f32 (fma.f32 ux maxCos (-.f32 1 ux)) (fma.f32 ux maxCos (-.f32 1 ux))))))
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (fma.f32 (fma.f32 ux maxCos (-.f32 1 ux)) (-.f32 -1 (*.f32 ux (+.f32 maxCos -1))) 1)))
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux (neg.f32 maxCos))) (+.f32 (-.f32 1 ux) (*.f32 ux (neg.f32 maxCos)))))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (-.f32 1 (*.f32 (-.f32 1 (+.f32 ux (*.f32 ux maxCos))) (-.f32 1 (+.f32 ux (*.f32 ux maxCos)))))))
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (fma.f32 (-.f32 1 (*.f32 ux (+.f32 1 maxCos))) (+.f32 -1 (*.f32 ux (+.f32 1 maxCos))) 1)))
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (fma.f32 (+.f32 1 (*.f32 ux (-.f32 -1 maxCos))) (+.f32 ux (fma.f32 ux maxCos -1)) 1)))
(neg.f32 (*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 (neg.f32 ux)) (*.f32 (neg.f32 ux) maxCos)) (+.f32 (-.f32 1 (neg.f32 ux)) (*.f32 (neg.f32 ux) maxCos)))))))
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (neg.f32 (sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 (neg.f32 ux)) (*.f32 ux (neg.f32 maxCos))) (+.f32 (-.f32 1 (neg.f32 ux)) (*.f32 ux (neg.f32 maxCos))))))))
(*.f32 (sqrt.f32 (-.f32 1 (*.f32 (+.f32 1 (-.f32 ux (*.f32 ux maxCos))) (+.f32 1 (-.f32 ux (*.f32 ux maxCos)))))) (neg.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))))
(*.f32 (sqrt.f32 (fma.f32 (-.f32 1 (*.f32 ux (+.f32 maxCos -1))) (+.f32 -1 (*.f32 ux (+.f32 maxCos -1))) 1)) (neg.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32))))))
(*.f32 (sqrt.f32 (fma.f32 (-.f32 ux (fma.f32 ux maxCos -1)) (-.f32 (fma.f32 ux maxCos -1) ux) 1)) (neg.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32))))))
(neg.f32 (*.f32 (cos.f32 (*.f32 (*.f32 (neg.f32 uy) 2) (PI.f32))) (sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)))))))
(*.f32 (neg.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 2 (neg.f32 uy))))) (sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))))))
(*.f32 (sqrt.f32 (-.f32 1 (*.f32 (fma.f32 ux maxCos (-.f32 1 ux)) (fma.f32 ux maxCos (-.f32 1 ux))))) (neg.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 uy -2)))))
(*.f32 (sqrt.f32 (fma.f32 (fma.f32 ux maxCos (-.f32 1 ux)) (-.f32 -1 (*.f32 ux (+.f32 maxCos -1))) 1)) (neg.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32))))))
(neg.f32 (*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux (neg.f32 maxCos))) (+.f32 (-.f32 1 ux) (*.f32 ux (neg.f32 maxCos))))))))
(*.f32 (neg.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32)))) (sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux (neg.f32 maxCos))) (+.f32 (-.f32 1 ux) (*.f32 ux (neg.f32 maxCos)))))))
(*.f32 (sqrt.f32 (-.f32 1 (*.f32 (-.f32 1 (+.f32 ux (*.f32 ux maxCos))) (-.f32 1 (+.f32 ux (*.f32 ux maxCos)))))) (neg.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32))))))
(*.f32 (sqrt.f32 (fma.f32 (-.f32 1 (*.f32 ux (+.f32 1 maxCos))) (+.f32 -1 (*.f32 ux (+.f32 1 maxCos))) 1)) (neg.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32))))))
(*.f32 (sqrt.f32 (fma.f32 (+.f32 1 (*.f32 ux (-.f32 -1 maxCos))) (+.f32 ux (fma.f32 ux maxCos -1)) 1)) (neg.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32))))))
(*.f32 (cos.f32 (*.f32 (*.f32 ux 2) (PI.f32))) (sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 uy) (*.f32 uy maxCos)) (+.f32 (-.f32 1 uy) (*.f32 uy maxCos))))))
(*.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 2 ux))) (sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 uy) (*.f32 uy maxCos)) (+.f32 (-.f32 1 uy) (*.f32 uy maxCos))))))
(*.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 2 ux))) (sqrt.f32 (-.f32 1 (*.f32 (fma.f32 uy maxCos (-.f32 1 uy)) (fma.f32 uy maxCos (-.f32 1 uy))))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 (PI.f32) ux))) (sqrt.f32 (fma.f32 (-.f32 (fma.f32 uy maxCos 1) uy) (-.f32 -1 (*.f32 uy (+.f32 maxCos -1))) 1)))
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 maxCos) (*.f32 maxCos ux)) (+.f32 (-.f32 1 maxCos) (*.f32 maxCos ux))))))
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (sqrt.f32 (-.f32 1 (*.f32 (+.f32 (*.f32 ux maxCos) (-.f32 1 maxCos)) (+.f32 (*.f32 ux maxCos) (-.f32 1 maxCos))))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 uy (PI.f32)))) (sqrt.f32 (-.f32 1 (*.f32 (fma.f32 ux maxCos (-.f32 1 maxCos)) (fma.f32 ux maxCos (-.f32 1 maxCos))))))
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (fma.f32 (-.f32 (fma.f32 ux maxCos 1) maxCos) (+.f32 -1 (*.f32 (-.f32 1 ux) maxCos)) 1)))
(*.f32 (cos.f32 (*.f32 (*.f32 maxCos 2) (PI.f32))) (sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux uy)) (+.f32 (-.f32 1 ux) (*.f32 ux uy))))))
(*.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 2 maxCos))) (sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 uy ux)) (+.f32 (-.f32 1 ux) (*.f32 uy ux))))))
(*.f32 (cos.f32 (*.f32 2 (*.f32 maxCos (PI.f32)))) (sqrt.f32 (-.f32 1 (*.f32 (fma.f32 uy ux (-.f32 1 ux)) (fma.f32 uy ux (-.f32 1 ux))))))
(*.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 2 maxCos))) (sqrt.f32 (fma.f32 (fma.f32 uy ux (-.f32 1 ux)) (+.f32 -1 (*.f32 ux (-.f32 1 uy))) 1)))
Symmetry

(abs uy)

Compiler

Compiled 252 to 146 computations (42.1% saved)

Precisions
Click to see histograms. Total time spent on operations: 2.3s
Operation ival-sub, time spent: 1.0s, 45.0% of total-time
Operation ival-add, time spent: 509.0ms, 22.0% of total-time
Operation ival-mult, time spent: 366.0ms, 16.0% of total-time
Operation ival-cos, time spent: 213.0ms, 9.0% of total-time
Operation ival-sqrt, time spent: 107.0ms, 5.0% of total-time
Operation const, time spent: 54.0ms, 2.0% of total-time
Operation ival-pi, time spent: 20.0ms, 1.0% of total-time

eval1.0ms (0%)

Compiler

Compiled 49 to 35 computations (28.6% saved)

prune2.0ms (0%)

Alt Table
Click to see full alt table
StatusAccuracyProgram
55.5%
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))))))
55.5%
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (fma.f32 (fma.f32 ux maxCos (-.f32 1 ux)) (-.f32 -1 (*.f32 ux (+.f32 maxCos -1))) 1)))
Compiler

Compiled 54 to 40 computations (25.9% saved)

localize3.0s (4.2%)

Localize:

Found 2 expressions with local error:

NewAccuracyProgram
6.3%
(PI.f32)
6.3%
(PI.f32)
Compiler

Compiled 211 to 127 computations (39.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 1.9s
Operation ival-sub, time spent: 618.0ms, 32.0% of total-time
Operation ival-add, time spent: 423.0ms, 22.0% of total-time
Operation ival-mult, time spent: 347.0ms, 18.0% of total-time
Operation ival-cos, time spent: 208.0ms, 11.0% of total-time
Operation ival-fma, time spent: 157.0ms, 8.0% of total-time
Operation ival-sqrt, time spent: 105.0ms, 5.0% of total-time
Operation const, time spent: 59.0ms, 3.0% of total-time
Operation ival-pi, time spent: 10.0ms, 1.0% of total-time

series0.0ms (0%)

Counts
2 → 0

rewrite220.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
737×log1p-expm1-u
737×expm1-log1p-u
647×prod-diff
461×log-prod
282×fma-def
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
036
1246
22346
323806
Stop Event
node limit
Counts
2 → 126
Calls
Call 1
Inputs
(PI.f32)
(PI.f32)
Outputs
(+.f32 (PI.f32) 0)
(+.f32 (+.f32 (PI.f32) 1) -1)
(+.f32 0 (PI.f32))
(+.f32 (*.f32 2 (*.f32 1/3 (PI.f32))) (*.f32 1/3 (PI.f32)))
(+.f32 (*.f32 1/3 (PI.f32)) (*.f32 2 (*.f32 1/3 (PI.f32))))
(+.f32 (*.f32 1/2 (PI.f32)) (*.f32 1/2 (PI.f32)))
(-.f32 (+.f32 (PI.f32) 1) 1)
(-.f32 (+.f32 (PI.f32) 1) (log.f32 (E.f32)))
(-.f32 (log1p.f32 (pow.f32 (expm1.f32 (PI.f32)) 3)) (log.f32 (+.f32 1 (-.f32 (pow.f32 (expm1.f32 (PI.f32)) 2) (expm1.f32 (PI.f32))))))
(-.f32 (log.f32 (pow.f32 (E.f32) (+.f32 (PI.f32) 1))) (log.f32 (E.f32)))
(-.f32 (log.f32 (-.f32 1 (pow.f32 (expm1.f32 (PI.f32)) 2))) (log.f32 (-.f32 1 (expm1.f32 (PI.f32)))))
(*.f32 (PI.f32) 1)
(*.f32 (PI.f32) (log.f32 (E.f32)))
(*.f32 1 (PI.f32))
(*.f32 (cbrt.f32 (PI.f32)) (pow.f32 (cbrt.f32 (PI.f32)) 2))
(*.f32 (pow.f32 (cbrt.f32 (PI.f32)) 2) (cbrt.f32 (PI.f32)))
(*.f32 (sqrt.f32 (PI.f32)) (sqrt.f32 (PI.f32)))
(*.f32 2 (*.f32 1/2 (PI.f32)))
(*.f32 1/3 (*.f32 3 (PI.f32)))
(*.f32 3 (*.f32 1/3 (PI.f32)))
(*.f32 (pow.f32 (cbrt.f32 (cbrt.f32 (PI.f32))) 2) (*.f32 (cbrt.f32 (cbrt.f32 (PI.f32))) (pow.f32 (cbrt.f32 (PI.f32)) 2)))
(*.f32 (cbrt.f32 (cbrt.f32 (PI.f32))) (log.f32 (pow.f32 (exp.f32 (pow.f32 (cbrt.f32 (PI.f32)) 2)) (pow.f32 (cbrt.f32 (cbrt.f32 (PI.f32))) 2))))
(*.f32 (cbrt.f32 (pow.f32 (cbrt.f32 (PI.f32)) 4)) (*.f32 (pow.f32 (cbrt.f32 (cbrt.f32 (PI.f32))) 2) (cbrt.f32 (PI.f32))))
(*.f32 (pow.f32 (PI.f32) 1/6) (*.f32 (pow.f32 (PI.f32) 1/6) (pow.f32 (cbrt.f32 (PI.f32)) 2)))
(*.f32 (pow.f32 (PI.f32) 1/6) (log.f32 (pow.f32 (exp.f32 (pow.f32 (cbrt.f32 (PI.f32)) 2)) (pow.f32 (PI.f32) 1/6))))
(*.f32 (pow.f32 (PI.f32) 1/6) (log.f32 (pow.f32 (exp.f32 (sqrt.f32 (PI.f32))) (cbrt.f32 (PI.f32)))))
(*.f32 (pow.f32 (PI.f32) 1/4) (sqrt.f32 (pow.f32 (PI.f32) 3/2)))
(*.f32 (pow.f32 (PI.f32) 1/4) (*.f32 (pow.f32 (PI.f32) 1/4) (sqrt.f32 (PI.f32))))
(*.f32 (pow.f32 (PI.f32) 1/4) (log.f32 (pow.f32 (exp.f32 (sqrt.f32 (PI.f32))) (pow.f32 (PI.f32) 1/4))))
(*.f32 (log.f32 (E.f32)) (PI.f32))
(*.f32 (*.f32 (sqrt.f32 (PI.f32)) (cbrt.f32 (PI.f32))) (pow.f32 (PI.f32) 1/6))
(*.f32 (pow.f32 1 1/3) (PI.f32))
(*.f32 (pow.f32 (pow.f32 (pow.f32 (cbrt.f32 (PI.f32)) 4) 2) 1/3) (cbrt.f32 (cbrt.f32 (PI.f32))))
(*.f32 (pow.f32 (pow.f32 (PI.f32) 5/2) 1/3) (pow.f32 (PI.f32) 1/6))
(*.f32 (cbrt.f32 (pow.f32 (pow.f32 (cbrt.f32 (PI.f32)) 4) 2)) (cbrt.f32 (cbrt.f32 (PI.f32))))
(*.f32 (cbrt.f32 (pow.f32 (PI.f32) 5/2)) (pow.f32 (PI.f32) 1/6))
(*.f32 (*.f32 (sqrt.f32 (PI.f32)) (pow.f32 (PI.f32) 1/4)) (pow.f32 (PI.f32) 1/4))
(*.f32 (sqrt.f32 (pow.f32 (PI.f32) 3/2)) (pow.f32 (PI.f32) 1/4))
(*.f32 (sqrt.f32 (pow.f32 (cbrt.f32 (PI.f32)) 5)) (pow.f32 (PI.f32) 1/6))
(*.f32 (*.f32 (cbrt.f32 (PI.f32)) (cbrt.f32 (pow.f32 (cbrt.f32 (PI.f32)) 4))) (pow.f32 (cbrt.f32 (cbrt.f32 (PI.f32))) 2))
(*.f32 (*.f32 (pow.f32 (cbrt.f32 (PI.f32)) 2) (pow.f32 (cbrt.f32 (cbrt.f32 (PI.f32))) 2)) (cbrt.f32 (cbrt.f32 (PI.f32))))
(*.f32 (*.f32 (pow.f32 (cbrt.f32 (PI.f32)) 2) (pow.f32 (PI.f32) 1/6)) (pow.f32 (PI.f32) 1/6))
(/.f32 (-.f32 (pow.f32 (+.f32 (PI.f32) 1) 3) 1) (fma.f32 (+.f32 (PI.f32) 1) (+.f32 (PI.f32) 1) (+.f32 1 (+.f32 (PI.f32) 1))))
(/.f32 (fma.f32 (+.f32 (PI.f32) 1) (+.f32 (PI.f32) 1) -1) (+.f32 (+.f32 (PI.f32) 1) 1))
(pow.f32 (PI.f32) 1)
(pow.f32 (cbrt.f32 (PI.f32)) 3)
(pow.f32 (pow.f32 (PI.f32) 2) 1/2)
(pow.f32 (pow.f32 (PI.f32) 3) 1/3)
(pow.f32 (sqrt.f32 (PI.f32)) 2)
(pow.f32 (E.f32) (log.f32 (PI.f32)))
(pow.f32 (exp.f32 (pow.f32 (cbrt.f32 (log.f32 (PI.f32))) 2)) (cbrt.f32 (log.f32 (PI.f32))))
(pow.f32 (exp.f32 (sqrt.f32 (log.f32 (PI.f32)))) (sqrt.f32 (log.f32 (PI.f32))))
(sqrt.f32 (pow.f32 (PI.f32) 2))
(fabs.f32 (PI.f32))
(log.f32 (exp.f32 (PI.f32)))
(cbrt.f32 (pow.f32 (PI.f32) 3))
(expm1.f32 (log1p.f32 (PI.f32)))
(exp.f32 (log.f32 (PI.f32)))
(log1p.f32 (expm1.f32 (PI.f32)))
(fma.f32 1 (+.f32 (PI.f32) 1) -1)
(fma.f32 (+.f32 (PI.f32) 1) 1 -1)
(fma.f32 (*.f32 (cbrt.f32 (+.f32 (PI.f32) 1)) (cbrt.f32 (+.f32 (PI.f32) 1))) (cbrt.f32 (+.f32 (PI.f32) 1)) -1)
(fma.f32 (sqrt.f32 (+.f32 (PI.f32) 1)) (sqrt.f32 (+.f32 (PI.f32) 1)) -1)
(+.f32 (PI.f32) 0)
(+.f32 (+.f32 (PI.f32) 1) -1)
(+.f32 0 (PI.f32))
(+.f32 (*.f32 2 (*.f32 1/3 (PI.f32))) (*.f32 1/3 (PI.f32)))
(+.f32 (*.f32 1/3 (PI.f32)) (*.f32 2 (*.f32 1/3 (PI.f32))))
(+.f32 (*.f32 1/2 (PI.f32)) (*.f32 1/2 (PI.f32)))
(-.f32 (+.f32 (PI.f32) 1) 1)
(-.f32 (+.f32 (PI.f32) 1) (log.f32 (E.f32)))
(-.f32 (log1p.f32 (pow.f32 (expm1.f32 (PI.f32)) 3)) (log.f32 (+.f32 1 (-.f32 (pow.f32 (expm1.f32 (PI.f32)) 2) (expm1.f32 (PI.f32))))))
(-.f32 (log.f32 (pow.f32 (E.f32) (+.f32 (PI.f32) 1))) (log.f32 (E.f32)))
(-.f32 (log.f32 (-.f32 1 (pow.f32 (expm1.f32 (PI.f32)) 2))) (log.f32 (-.f32 1 (expm1.f32 (PI.f32)))))
(*.f32 (PI.f32) 1)
(*.f32 (PI.f32) (log.f32 (E.f32)))
(*.f32 1 (PI.f32))
(*.f32 (cbrt.f32 (PI.f32)) (pow.f32 (cbrt.f32 (PI.f32)) 2))
(*.f32 (pow.f32 (cbrt.f32 (PI.f32)) 2) (cbrt.f32 (PI.f32)))
(*.f32 (sqrt.f32 (PI.f32)) (sqrt.f32 (PI.f32)))
(*.f32 2 (*.f32 1/2 (PI.f32)))
(*.f32 1/3 (*.f32 3 (PI.f32)))
(*.f32 3 (*.f32 1/3 (PI.f32)))
(*.f32 (pow.f32 (cbrt.f32 (cbrt.f32 (PI.f32))) 2) (*.f32 (cbrt.f32 (cbrt.f32 (PI.f32))) (pow.f32 (cbrt.f32 (PI.f32)) 2)))
(*.f32 (cbrt.f32 (cbrt.f32 (PI.f32))) (log.f32 (pow.f32 (exp.f32 (pow.f32 (cbrt.f32 (PI.f32)) 2)) (pow.f32 (cbrt.f32 (cbrt.f32 (PI.f32))) 2))))
(*.f32 (cbrt.f32 (pow.f32 (cbrt.f32 (PI.f32)) 4)) (*.f32 (pow.f32 (cbrt.f32 (cbrt.f32 (PI.f32))) 2) (cbrt.f32 (PI.f32))))
(*.f32 (pow.f32 (PI.f32) 1/6) (*.f32 (pow.f32 (PI.f32) 1/6) (pow.f32 (cbrt.f32 (PI.f32)) 2)))
(*.f32 (pow.f32 (PI.f32) 1/6) (log.f32 (pow.f32 (exp.f32 (pow.f32 (cbrt.f32 (PI.f32)) 2)) (pow.f32 (PI.f32) 1/6))))
(*.f32 (pow.f32 (PI.f32) 1/6) (log.f32 (pow.f32 (exp.f32 (sqrt.f32 (PI.f32))) (cbrt.f32 (PI.f32)))))
(*.f32 (pow.f32 (PI.f32) 1/4) (sqrt.f32 (pow.f32 (PI.f32) 3/2)))
(*.f32 (pow.f32 (PI.f32) 1/4) (*.f32 (pow.f32 (PI.f32) 1/4) (sqrt.f32 (PI.f32))))
(*.f32 (pow.f32 (PI.f32) 1/4) (log.f32 (pow.f32 (exp.f32 (sqrt.f32 (PI.f32))) (pow.f32 (PI.f32) 1/4))))
(*.f32 (log.f32 (E.f32)) (PI.f32))
(*.f32 (*.f32 (sqrt.f32 (PI.f32)) (cbrt.f32 (PI.f32))) (pow.f32 (PI.f32) 1/6))
(*.f32 (pow.f32 1 1/3) (PI.f32))
(*.f32 (pow.f32 (pow.f32 (pow.f32 (cbrt.f32 (PI.f32)) 4) 2) 1/3) (cbrt.f32 (cbrt.f32 (PI.f32))))
(*.f32 (pow.f32 (pow.f32 (PI.f32) 5/2) 1/3) (pow.f32 (PI.f32) 1/6))
(*.f32 (cbrt.f32 (pow.f32 (pow.f32 (cbrt.f32 (PI.f32)) 4) 2)) (cbrt.f32 (cbrt.f32 (PI.f32))))
(*.f32 (cbrt.f32 (pow.f32 (PI.f32) 5/2)) (pow.f32 (PI.f32) 1/6))
(*.f32 (*.f32 (sqrt.f32 (PI.f32)) (pow.f32 (PI.f32) 1/4)) (pow.f32 (PI.f32) 1/4))
(*.f32 (sqrt.f32 (pow.f32 (PI.f32) 3/2)) (pow.f32 (PI.f32) 1/4))
(*.f32 (sqrt.f32 (pow.f32 (cbrt.f32 (PI.f32)) 5)) (pow.f32 (PI.f32) 1/6))
(*.f32 (*.f32 (cbrt.f32 (PI.f32)) (cbrt.f32 (pow.f32 (cbrt.f32 (PI.f32)) 4))) (pow.f32 (cbrt.f32 (cbrt.f32 (PI.f32))) 2))
(*.f32 (*.f32 (pow.f32 (cbrt.f32 (PI.f32)) 2) (pow.f32 (cbrt.f32 (cbrt.f32 (PI.f32))) 2)) (cbrt.f32 (cbrt.f32 (PI.f32))))
(*.f32 (*.f32 (pow.f32 (cbrt.f32 (PI.f32)) 2) (pow.f32 (PI.f32) 1/6)) (pow.f32 (PI.f32) 1/6))
(/.f32 (-.f32 (pow.f32 (+.f32 (PI.f32) 1) 3) 1) (fma.f32 (+.f32 (PI.f32) 1) (+.f32 (PI.f32) 1) (+.f32 1 (+.f32 (PI.f32) 1))))
(/.f32 (fma.f32 (+.f32 (PI.f32) 1) (+.f32 (PI.f32) 1) -1) (+.f32 (+.f32 (PI.f32) 1) 1))
(pow.f32 (PI.f32) 1)
(pow.f32 (cbrt.f32 (PI.f32)) 3)
(pow.f32 (pow.f32 (PI.f32) 2) 1/2)
(pow.f32 (pow.f32 (PI.f32) 3) 1/3)
(pow.f32 (sqrt.f32 (PI.f32)) 2)
(pow.f32 (E.f32) (log.f32 (PI.f32)))
(pow.f32 (exp.f32 (pow.f32 (cbrt.f32 (log.f32 (PI.f32))) 2)) (cbrt.f32 (log.f32 (PI.f32))))
(pow.f32 (exp.f32 (sqrt.f32 (log.f32 (PI.f32)))) (sqrt.f32 (log.f32 (PI.f32))))
(sqrt.f32 (pow.f32 (PI.f32) 2))
(fabs.f32 (PI.f32))
(log.f32 (exp.f32 (PI.f32)))
(cbrt.f32 (pow.f32 (PI.f32) 3))
(expm1.f32 (log1p.f32 (PI.f32)))
(exp.f32 (log.f32 (PI.f32)))
(log1p.f32 (expm1.f32 (PI.f32)))
(fma.f32 1 (+.f32 (PI.f32) 1) -1)
(fma.f32 (+.f32 (PI.f32) 1) 1 -1)
(fma.f32 (*.f32 (cbrt.f32 (+.f32 (PI.f32) 1)) (cbrt.f32 (+.f32 (PI.f32) 1))) (cbrt.f32 (+.f32 (PI.f32) 1)) -1)
(fma.f32 (sqrt.f32 (+.f32 (PI.f32) 1)) (sqrt.f32 (+.f32 (PI.f32) 1)) -1)

simplify82.0ms (0.1%)

Algorithm
egg-herbie
Rules
827×log-prod
506×associate-+l+
489×associate-+r+
257×unswap-sqr
223×*-commutative
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01601602
13591522
214151490
369031490
Stop Event
node limit
Counts
126 → 85
Calls
Call 1
Inputs
(+.f32 (PI.f32) 0)
(+.f32 (+.f32 (PI.f32) 1) -1)
(+.f32 0 (PI.f32))
(+.f32 (*.f32 2 (*.f32 1/3 (PI.f32))) (*.f32 1/3 (PI.f32)))
(+.f32 (*.f32 1/3 (PI.f32)) (*.f32 2 (*.f32 1/3 (PI.f32))))
(+.f32 (*.f32 1/2 (PI.f32)) (*.f32 1/2 (PI.f32)))
(-.f32 (+.f32 (PI.f32) 1) 1)
(-.f32 (+.f32 (PI.f32) 1) (log.f32 (E.f32)))
(-.f32 (log1p.f32 (pow.f32 (expm1.f32 (PI.f32)) 3)) (log.f32 (+.f32 1 (-.f32 (pow.f32 (expm1.f32 (PI.f32)) 2) (expm1.f32 (PI.f32))))))
(-.f32 (log.f32 (pow.f32 (E.f32) (+.f32 (PI.f32) 1))) (log.f32 (E.f32)))
(-.f32 (log.f32 (-.f32 1 (pow.f32 (expm1.f32 (PI.f32)) 2))) (log.f32 (-.f32 1 (expm1.f32 (PI.f32)))))
(*.f32 (PI.f32) 1)
(*.f32 (PI.f32) (log.f32 (E.f32)))
(*.f32 1 (PI.f32))
(*.f32 (cbrt.f32 (PI.f32)) (pow.f32 (cbrt.f32 (PI.f32)) 2))
(*.f32 (pow.f32 (cbrt.f32 (PI.f32)) 2) (cbrt.f32 (PI.f32)))
(*.f32 (sqrt.f32 (PI.f32)) (sqrt.f32 (PI.f32)))
(*.f32 2 (*.f32 1/2 (PI.f32)))
(*.f32 1/3 (*.f32 3 (PI.f32)))
(*.f32 3 (*.f32 1/3 (PI.f32)))
(*.f32 (pow.f32 (cbrt.f32 (cbrt.f32 (PI.f32))) 2) (*.f32 (cbrt.f32 (cbrt.f32 (PI.f32))) (pow.f32 (cbrt.f32 (PI.f32)) 2)))
(*.f32 (cbrt.f32 (cbrt.f32 (PI.f32))) (log.f32 (pow.f32 (exp.f32 (pow.f32 (cbrt.f32 (PI.f32)) 2)) (pow.f32 (cbrt.f32 (cbrt.f32 (PI.f32))) 2))))
(*.f32 (cbrt.f32 (pow.f32 (cbrt.f32 (PI.f32)) 4)) (*.f32 (pow.f32 (cbrt.f32 (cbrt.f32 (PI.f32))) 2) (cbrt.f32 (PI.f32))))
(*.f32 (pow.f32 (PI.f32) 1/6) (*.f32 (pow.f32 (PI.f32) 1/6) (pow.f32 (cbrt.f32 (PI.f32)) 2)))
(*.f32 (pow.f32 (PI.f32) 1/6) (log.f32 (pow.f32 (exp.f32 (pow.f32 (cbrt.f32 (PI.f32)) 2)) (pow.f32 (PI.f32) 1/6))))
(*.f32 (pow.f32 (PI.f32) 1/6) (log.f32 (pow.f32 (exp.f32 (sqrt.f32 (PI.f32))) (cbrt.f32 (PI.f32)))))
(*.f32 (pow.f32 (PI.f32) 1/4) (sqrt.f32 (pow.f32 (PI.f32) 3/2)))
(*.f32 (pow.f32 (PI.f32) 1/4) (*.f32 (pow.f32 (PI.f32) 1/4) (sqrt.f32 (PI.f32))))
(*.f32 (pow.f32 (PI.f32) 1/4) (log.f32 (pow.f32 (exp.f32 (sqrt.f32 (PI.f32))) (pow.f32 (PI.f32) 1/4))))
(*.f32 (log.f32 (E.f32)) (PI.f32))
(*.f32 (*.f32 (sqrt.f32 (PI.f32)) (cbrt.f32 (PI.f32))) (pow.f32 (PI.f32) 1/6))
(*.f32 (pow.f32 1 1/3) (PI.f32))
(*.f32 (pow.f32 (pow.f32 (pow.f32 (cbrt.f32 (PI.f32)) 4) 2) 1/3) (cbrt.f32 (cbrt.f32 (PI.f32))))
(*.f32 (pow.f32 (pow.f32 (PI.f32) 5/2) 1/3) (pow.f32 (PI.f32) 1/6))
(*.f32 (cbrt.f32 (pow.f32 (pow.f32 (cbrt.f32 (PI.f32)) 4) 2)) (cbrt.f32 (cbrt.f32 (PI.f32))))
(*.f32 (cbrt.f32 (pow.f32 (PI.f32) 5/2)) (pow.f32 (PI.f32) 1/6))
(*.f32 (*.f32 (sqrt.f32 (PI.f32)) (pow.f32 (PI.f32) 1/4)) (pow.f32 (PI.f32) 1/4))
(*.f32 (sqrt.f32 (pow.f32 (PI.f32) 3/2)) (pow.f32 (PI.f32) 1/4))
(*.f32 (sqrt.f32 (pow.f32 (cbrt.f32 (PI.f32)) 5)) (pow.f32 (PI.f32) 1/6))
(*.f32 (*.f32 (cbrt.f32 (PI.f32)) (cbrt.f32 (pow.f32 (cbrt.f32 (PI.f32)) 4))) (pow.f32 (cbrt.f32 (cbrt.f32 (PI.f32))) 2))
(*.f32 (*.f32 (pow.f32 (cbrt.f32 (PI.f32)) 2) (pow.f32 (cbrt.f32 (cbrt.f32 (PI.f32))) 2)) (cbrt.f32 (cbrt.f32 (PI.f32))))
(*.f32 (*.f32 (pow.f32 (cbrt.f32 (PI.f32)) 2) (pow.f32 (PI.f32) 1/6)) (pow.f32 (PI.f32) 1/6))
(/.f32 (-.f32 (pow.f32 (+.f32 (PI.f32) 1) 3) 1) (fma.f32 (+.f32 (PI.f32) 1) (+.f32 (PI.f32) 1) (+.f32 1 (+.f32 (PI.f32) 1))))
(/.f32 (fma.f32 (+.f32 (PI.f32) 1) (+.f32 (PI.f32) 1) -1) (+.f32 (+.f32 (PI.f32) 1) 1))
(pow.f32 (PI.f32) 1)
(pow.f32 (cbrt.f32 (PI.f32)) 3)
(pow.f32 (pow.f32 (PI.f32) 2) 1/2)
(pow.f32 (pow.f32 (PI.f32) 3) 1/3)
(pow.f32 (sqrt.f32 (PI.f32)) 2)
(pow.f32 (E.f32) (log.f32 (PI.f32)))
(pow.f32 (exp.f32 (pow.f32 (cbrt.f32 (log.f32 (PI.f32))) 2)) (cbrt.f32 (log.f32 (PI.f32))))
(pow.f32 (exp.f32 (sqrt.f32 (log.f32 (PI.f32)))) (sqrt.f32 (log.f32 (PI.f32))))
(sqrt.f32 (pow.f32 (PI.f32) 2))
(fabs.f32 (PI.f32))
(log.f32 (exp.f32 (PI.f32)))
(cbrt.f32 (pow.f32 (PI.f32) 3))
(expm1.f32 (log1p.f32 (PI.f32)))
(exp.f32 (log.f32 (PI.f32)))
(log1p.f32 (expm1.f32 (PI.f32)))
(fma.f32 1 (+.f32 (PI.f32) 1) -1)
(fma.f32 (+.f32 (PI.f32) 1) 1 -1)
(fma.f32 (*.f32 (cbrt.f32 (+.f32 (PI.f32) 1)) (cbrt.f32 (+.f32 (PI.f32) 1))) (cbrt.f32 (+.f32 (PI.f32) 1)) -1)
(fma.f32 (sqrt.f32 (+.f32 (PI.f32) 1)) (sqrt.f32 (+.f32 (PI.f32) 1)) -1)
(+.f32 (PI.f32) 0)
(+.f32 (+.f32 (PI.f32) 1) -1)
(+.f32 0 (PI.f32))
(+.f32 (*.f32 2 (*.f32 1/3 (PI.f32))) (*.f32 1/3 (PI.f32)))
(+.f32 (*.f32 1/3 (PI.f32)) (*.f32 2 (*.f32 1/3 (PI.f32))))
(+.f32 (*.f32 1/2 (PI.f32)) (*.f32 1/2 (PI.f32)))
(-.f32 (+.f32 (PI.f32) 1) 1)
(-.f32 (+.f32 (PI.f32) 1) (log.f32 (E.f32)))
(-.f32 (log1p.f32 (pow.f32 (expm1.f32 (PI.f32)) 3)) (log.f32 (+.f32 1 (-.f32 (pow.f32 (expm1.f32 (PI.f32)) 2) (expm1.f32 (PI.f32))))))
(-.f32 (log.f32 (pow.f32 (E.f32) (+.f32 (PI.f32) 1))) (log.f32 (E.f32)))
(-.f32 (log.f32 (-.f32 1 (pow.f32 (expm1.f32 (PI.f32)) 2))) (log.f32 (-.f32 1 (expm1.f32 (PI.f32)))))
(*.f32 (PI.f32) 1)
(*.f32 (PI.f32) (log.f32 (E.f32)))
(*.f32 1 (PI.f32))
(*.f32 (cbrt.f32 (PI.f32)) (pow.f32 (cbrt.f32 (PI.f32)) 2))
(*.f32 (pow.f32 (cbrt.f32 (PI.f32)) 2) (cbrt.f32 (PI.f32)))
(*.f32 (sqrt.f32 (PI.f32)) (sqrt.f32 (PI.f32)))
(*.f32 2 (*.f32 1/2 (PI.f32)))
(*.f32 1/3 (*.f32 3 (PI.f32)))
(*.f32 3 (*.f32 1/3 (PI.f32)))
(*.f32 (pow.f32 (cbrt.f32 (cbrt.f32 (PI.f32))) 2) (*.f32 (cbrt.f32 (cbrt.f32 (PI.f32))) (pow.f32 (cbrt.f32 (PI.f32)) 2)))
(*.f32 (cbrt.f32 (cbrt.f32 (PI.f32))) (log.f32 (pow.f32 (exp.f32 (pow.f32 (cbrt.f32 (PI.f32)) 2)) (pow.f32 (cbrt.f32 (cbrt.f32 (PI.f32))) 2))))
(*.f32 (cbrt.f32 (pow.f32 (cbrt.f32 (PI.f32)) 4)) (*.f32 (pow.f32 (cbrt.f32 (cbrt.f32 (PI.f32))) 2) (cbrt.f32 (PI.f32))))
(*.f32 (pow.f32 (PI.f32) 1/6) (*.f32 (pow.f32 (PI.f32) 1/6) (pow.f32 (cbrt.f32 (PI.f32)) 2)))
(*.f32 (pow.f32 (PI.f32) 1/6) (log.f32 (pow.f32 (exp.f32 (pow.f32 (cbrt.f32 (PI.f32)) 2)) (pow.f32 (PI.f32) 1/6))))
(*.f32 (pow.f32 (PI.f32) 1/6) (log.f32 (pow.f32 (exp.f32 (sqrt.f32 (PI.f32))) (cbrt.f32 (PI.f32)))))
(*.f32 (pow.f32 (PI.f32) 1/4) (sqrt.f32 (pow.f32 (PI.f32) 3/2)))
(*.f32 (pow.f32 (PI.f32) 1/4) (*.f32 (pow.f32 (PI.f32) 1/4) (sqrt.f32 (PI.f32))))
(*.f32 (pow.f32 (PI.f32) 1/4) (log.f32 (pow.f32 (exp.f32 (sqrt.f32 (PI.f32))) (pow.f32 (PI.f32) 1/4))))
(*.f32 (log.f32 (E.f32)) (PI.f32))
(*.f32 (*.f32 (sqrt.f32 (PI.f32)) (cbrt.f32 (PI.f32))) (pow.f32 (PI.f32) 1/6))
(*.f32 (pow.f32 1 1/3) (PI.f32))
(*.f32 (pow.f32 (pow.f32 (pow.f32 (cbrt.f32 (PI.f32)) 4) 2) 1/3) (cbrt.f32 (cbrt.f32 (PI.f32))))
(*.f32 (pow.f32 (pow.f32 (PI.f32) 5/2) 1/3) (pow.f32 (PI.f32) 1/6))
(*.f32 (cbrt.f32 (pow.f32 (pow.f32 (cbrt.f32 (PI.f32)) 4) 2)) (cbrt.f32 (cbrt.f32 (PI.f32))))
(*.f32 (cbrt.f32 (pow.f32 (PI.f32) 5/2)) (pow.f32 (PI.f32) 1/6))
(*.f32 (*.f32 (sqrt.f32 (PI.f32)) (pow.f32 (PI.f32) 1/4)) (pow.f32 (PI.f32) 1/4))
(*.f32 (sqrt.f32 (pow.f32 (PI.f32) 3/2)) (pow.f32 (PI.f32) 1/4))
(*.f32 (sqrt.f32 (pow.f32 (cbrt.f32 (PI.f32)) 5)) (pow.f32 (PI.f32) 1/6))
(*.f32 (*.f32 (cbrt.f32 (PI.f32)) (cbrt.f32 (pow.f32 (cbrt.f32 (PI.f32)) 4))) (pow.f32 (cbrt.f32 (cbrt.f32 (PI.f32))) 2))
(*.f32 (*.f32 (pow.f32 (cbrt.f32 (PI.f32)) 2) (pow.f32 (cbrt.f32 (cbrt.f32 (PI.f32))) 2)) (cbrt.f32 (cbrt.f32 (PI.f32))))
(*.f32 (*.f32 (pow.f32 (cbrt.f32 (PI.f32)) 2) (pow.f32 (PI.f32) 1/6)) (pow.f32 (PI.f32) 1/6))
(/.f32 (-.f32 (pow.f32 (+.f32 (PI.f32) 1) 3) 1) (fma.f32 (+.f32 (PI.f32) 1) (+.f32 (PI.f32) 1) (+.f32 1 (+.f32 (PI.f32) 1))))
(/.f32 (fma.f32 (+.f32 (PI.f32) 1) (+.f32 (PI.f32) 1) -1) (+.f32 (+.f32 (PI.f32) 1) 1))
(pow.f32 (PI.f32) 1)
(pow.f32 (cbrt.f32 (PI.f32)) 3)
(pow.f32 (pow.f32 (PI.f32) 2) 1/2)
(pow.f32 (pow.f32 (PI.f32) 3) 1/3)
(pow.f32 (sqrt.f32 (PI.f32)) 2)
(pow.f32 (E.f32) (log.f32 (PI.f32)))
(pow.f32 (exp.f32 (pow.f32 (cbrt.f32 (log.f32 (PI.f32))) 2)) (cbrt.f32 (log.f32 (PI.f32))))
(pow.f32 (exp.f32 (sqrt.f32 (log.f32 (PI.f32)))) (sqrt.f32 (log.f32 (PI.f32))))
(sqrt.f32 (pow.f32 (PI.f32) 2))
(fabs.f32 (PI.f32))
(log.f32 (exp.f32 (PI.f32)))
(cbrt.f32 (pow.f32 (PI.f32) 3))
(expm1.f32 (log1p.f32 (PI.f32)))
(exp.f32 (log.f32 (PI.f32)))
(log1p.f32 (expm1.f32 (PI.f32)))
(fma.f32 1 (+.f32 (PI.f32) 1) -1)
(fma.f32 (+.f32 (PI.f32) 1) 1 -1)
(fma.f32 (*.f32 (cbrt.f32 (+.f32 (PI.f32) 1)) (cbrt.f32 (+.f32 (PI.f32) 1))) (cbrt.f32 (+.f32 (PI.f32) 1)) -1)
(fma.f32 (sqrt.f32 (+.f32 (PI.f32) 1)) (sqrt.f32 (+.f32 (PI.f32) 1)) -1)
Outputs
(+.f32 (PI.f32) 0)
(PI.f32)
(+.f32 (+.f32 (PI.f32) 1) -1)
(PI.f32)
(+.f32 0 (PI.f32))
(PI.f32)
(+.f32 (*.f32 2 (*.f32 1/3 (PI.f32))) (*.f32 1/3 (PI.f32)))
(PI.f32)
(+.f32 (*.f32 1/3 (PI.f32)) (*.f32 2 (*.f32 1/3 (PI.f32))))
(PI.f32)
(+.f32 (*.f32 1/2 (PI.f32)) (*.f32 1/2 (PI.f32)))
(PI.f32)
(-.f32 (+.f32 (PI.f32) 1) 1)
(PI.f32)
(-.f32 (+.f32 (PI.f32) 1) (log.f32 (E.f32)))
(PI.f32)
(-.f32 (log1p.f32 (pow.f32 (expm1.f32 (PI.f32)) 3)) (log.f32 (+.f32 1 (-.f32 (pow.f32 (expm1.f32 (PI.f32)) 2) (expm1.f32 (PI.f32))))))
(-.f32 (log1p.f32 (pow.f32 (expm1.f32 (PI.f32)) 3)) (log1p.f32 (-.f32 (pow.f32 (expm1.f32 (PI.f32)) 2) (expm1.f32 (PI.f32)))))
(-.f32 (log1p.f32 (pow.f32 (expm1.f32 (PI.f32)) 3)) (log1p.f32 (*.f32 (expm1.f32 (PI.f32)) (+.f32 -1 (expm1.f32 (PI.f32))))))
(-.f32 (log.f32 (pow.f32 (E.f32) (+.f32 (PI.f32) 1))) (log.f32 (E.f32)))
(PI.f32)
(-.f32 (log.f32 (-.f32 1 (pow.f32 (expm1.f32 (PI.f32)) 2))) (log.f32 (-.f32 1 (expm1.f32 (PI.f32)))))
(-.f32 (log1p.f32 (neg.f32 (pow.f32 (expm1.f32 (PI.f32)) 2))) (log1p.f32 (neg.f32 (expm1.f32 (PI.f32)))))
(*.f32 (PI.f32) 1)
(PI.f32)
(*.f32 (PI.f32) (log.f32 (E.f32)))
(PI.f32)
(*.f32 1 (PI.f32))
(PI.f32)
(*.f32 (cbrt.f32 (PI.f32)) (pow.f32 (cbrt.f32 (PI.f32)) 2))
(PI.f32)
(*.f32 (pow.f32 (cbrt.f32 (PI.f32)) 2) (cbrt.f32 (PI.f32)))
(PI.f32)
(*.f32 (sqrt.f32 (PI.f32)) (sqrt.f32 (PI.f32)))
(PI.f32)
(*.f32 2 (*.f32 1/2 (PI.f32)))
(PI.f32)
(*.f32 1/3 (*.f32 3 (PI.f32)))
(PI.f32)
(*.f32 3 (*.f32 1/3 (PI.f32)))
(PI.f32)
(*.f32 (pow.f32 (cbrt.f32 (cbrt.f32 (PI.f32))) 2) (*.f32 (cbrt.f32 (cbrt.f32 (PI.f32))) (pow.f32 (cbrt.f32 (PI.f32)) 2)))
(PI.f32)
(*.f32 (cbrt.f32 (cbrt.f32 (PI.f32))) (log.f32 (pow.f32 (exp.f32 (pow.f32 (cbrt.f32 (PI.f32)) 2)) (pow.f32 (cbrt.f32 (cbrt.f32 (PI.f32))) 2))))
(PI.f32)
(*.f32 (cbrt.f32 (pow.f32 (cbrt.f32 (PI.f32)) 4)) (*.f32 (pow.f32 (cbrt.f32 (cbrt.f32 (PI.f32))) 2) (cbrt.f32 (PI.f32))))
(*.f32 (cbrt.f32 (pow.f32 (cbrt.f32 (PI.f32)) 4)) (*.f32 (cbrt.f32 (PI.f32)) (pow.f32 (cbrt.f32 (cbrt.f32 (PI.f32))) 2)))
(*.f32 (cbrt.f32 (PI.f32)) (*.f32 (pow.f32 (cbrt.f32 (cbrt.f32 (PI.f32))) 2) (cbrt.f32 (pow.f32 (cbrt.f32 (PI.f32)) 4))))
(*.f32 (pow.f32 (PI.f32) 1/6) (*.f32 (pow.f32 (PI.f32) 1/6) (pow.f32 (cbrt.f32 (PI.f32)) 2)))
(PI.f32)
(*.f32 (pow.f32 (PI.f32) 1/6) (log.f32 (pow.f32 (exp.f32 (pow.f32 (cbrt.f32 (PI.f32)) 2)) (pow.f32 (PI.f32) 1/6))))
(PI.f32)
(*.f32 (pow.f32 (PI.f32) 1/6) (log.f32 (pow.f32 (exp.f32 (sqrt.f32 (PI.f32))) (cbrt.f32 (PI.f32)))))
(*.f32 (pow.f32 (PI.f32) 1/6) (*.f32 (cbrt.f32 (PI.f32)) (log.f32 (exp.f32 (sqrt.f32 (PI.f32))))))
(*.f32 (cbrt.f32 (PI.f32)) (*.f32 (sqrt.f32 (PI.f32)) (pow.f32 (PI.f32) 1/6)))
(*.f32 (pow.f32 (PI.f32) 1/4) (sqrt.f32 (pow.f32 (PI.f32) 3/2)))
(*.f32 (pow.f32 (PI.f32) 1/4) (fabs.f32 (pow.f32 (PI.f32) 3/4)))
(*.f32 (pow.f32 (PI.f32) 1/4) (pow.f32 (PI.f32) 3/4))
(*.f32 (pow.f32 (PI.f32) 1/4) (*.f32 (pow.f32 (PI.f32) 1/4) (sqrt.f32 (PI.f32))))
(PI.f32)
(*.f32 (pow.f32 (PI.f32) 1/4) (log.f32 (pow.f32 (exp.f32 (sqrt.f32 (PI.f32))) (pow.f32 (PI.f32) 1/4))))
(PI.f32)
(*.f32 (log.f32 (E.f32)) (PI.f32))
(PI.f32)
(*.f32 (*.f32 (sqrt.f32 (PI.f32)) (cbrt.f32 (PI.f32))) (pow.f32 (PI.f32) 1/6))
(*.f32 (pow.f32 (PI.f32) 1/6) (*.f32 (cbrt.f32 (PI.f32)) (log.f32 (exp.f32 (sqrt.f32 (PI.f32))))))
(*.f32 (cbrt.f32 (PI.f32)) (*.f32 (sqrt.f32 (PI.f32)) (pow.f32 (PI.f32) 1/6)))
(*.f32 (pow.f32 1 1/3) (PI.f32))
(PI.f32)
(*.f32 (pow.f32 (pow.f32 (pow.f32 (cbrt.f32 (PI.f32)) 4) 2) 1/3) (cbrt.f32 (cbrt.f32 (PI.f32))))
(*.f32 (cbrt.f32 (cbrt.f32 (PI.f32))) (cbrt.f32 (pow.f32 (pow.f32 (cbrt.f32 (PI.f32)) 4) 2)))
(*.f32 (cbrt.f32 (cbrt.f32 (PI.f32))) (cbrt.f32 (pow.f32 (cbrt.f32 (PI.f32)) 8)))
(*.f32 (pow.f32 (pow.f32 (PI.f32) 5/2) 1/3) (pow.f32 (PI.f32) 1/6))
(*.f32 (pow.f32 (PI.f32) 1/6) (cbrt.f32 (pow.f32 (PI.f32) 5/2)))
(*.f32 (cbrt.f32 (pow.f32 (pow.f32 (cbrt.f32 (PI.f32)) 4) 2)) (cbrt.f32 (cbrt.f32 (PI.f32))))
(*.f32 (cbrt.f32 (cbrt.f32 (PI.f32))) (cbrt.f32 (pow.f32 (pow.f32 (cbrt.f32 (PI.f32)) 4) 2)))
(*.f32 (cbrt.f32 (cbrt.f32 (PI.f32))) (cbrt.f32 (pow.f32 (cbrt.f32 (PI.f32)) 8)))
(*.f32 (cbrt.f32 (pow.f32 (PI.f32) 5/2)) (pow.f32 (PI.f32) 1/6))
(*.f32 (pow.f32 (PI.f32) 1/6) (cbrt.f32 (pow.f32 (PI.f32) 5/2)))
(*.f32 (*.f32 (sqrt.f32 (PI.f32)) (pow.f32 (PI.f32) 1/4)) (pow.f32 (PI.f32) 1/4))
(PI.f32)
(*.f32 (sqrt.f32 (pow.f32 (PI.f32) 3/2)) (pow.f32 (PI.f32) 1/4))
(*.f32 (pow.f32 (PI.f32) 1/4) (sqrt.f32 (pow.f32 (PI.f32) 3/2)))
(*.f32 (pow.f32 (PI.f32) 1/4) (fabs.f32 (pow.f32 (PI.f32) 3/4)))
(*.f32 (pow.f32 (PI.f32) 1/4) (pow.f32 (PI.f32) 3/4))
(*.f32 (sqrt.f32 (pow.f32 (cbrt.f32 (PI.f32)) 5)) (pow.f32 (PI.f32) 1/6))
(*.f32 (pow.f32 (PI.f32) 1/6) (sqrt.f32 (pow.f32 (cbrt.f32 (PI.f32)) 5)))
(*.f32 (pow.f32 (PI.f32) 1/6) (fabs.f32 (pow.f32 (cbrt.f32 (PI.f32)) 5/2)))
(*.f32 (pow.f32 (PI.f32) 1/6) (pow.f32 (cbrt.f32 (PI.f32)) 5/2))
(*.f32 (*.f32 (cbrt.f32 (PI.f32)) (cbrt.f32 (pow.f32 (cbrt.f32 (PI.f32)) 4))) (pow.f32 (cbrt.f32 (cbrt.f32 (PI.f32))) 2))
(*.f32 (cbrt.f32 (pow.f32 (cbrt.f32 (PI.f32)) 4)) (*.f32 (cbrt.f32 (PI.f32)) (pow.f32 (cbrt.f32 (cbrt.f32 (PI.f32))) 2)))
(*.f32 (cbrt.f32 (PI.f32)) (*.f32 (pow.f32 (cbrt.f32 (cbrt.f32 (PI.f32))) 2) (cbrt.f32 (pow.f32 (cbrt.f32 (PI.f32)) 4))))
(*.f32 (*.f32 (pow.f32 (cbrt.f32 (PI.f32)) 2) (pow.f32 (cbrt.f32 (cbrt.f32 (PI.f32))) 2)) (cbrt.f32 (cbrt.f32 (PI.f32))))
(PI.f32)
(*.f32 (*.f32 (pow.f32 (cbrt.f32 (PI.f32)) 2) (pow.f32 (PI.f32) 1/6)) (pow.f32 (PI.f32) 1/6))
(PI.f32)
(/.f32 (-.f32 (pow.f32 (+.f32 (PI.f32) 1) 3) 1) (fma.f32 (+.f32 (PI.f32) 1) (+.f32 (PI.f32) 1) (+.f32 1 (+.f32 (PI.f32) 1))))
(/.f32 (+.f32 (pow.f32 (+.f32 (PI.f32) 1) 3) -1) (fma.f32 (+.f32 (PI.f32) 1) (+.f32 (PI.f32) 1) (+.f32 (PI.f32) 2)))
(/.f32 (+.f32 -1 (pow.f32 (+.f32 (PI.f32) 1) 3)) (fma.f32 (+.f32 (PI.f32) 1) (+.f32 (PI.f32) 1) (+.f32 (PI.f32) 2)))
(/.f32 (+.f32 -1 (pow.f32 (+.f32 (PI.f32) 1) 3)) (+.f32 1 (*.f32 (+.f32 (PI.f32) 1) (+.f32 (PI.f32) 2))))
(/.f32 (fma.f32 (+.f32 (PI.f32) 1) (+.f32 (PI.f32) 1) -1) (+.f32 (+.f32 (PI.f32) 1) 1))
(/.f32 (fma.f32 (+.f32 (PI.f32) 1) (+.f32 (PI.f32) 1) -1) (+.f32 (PI.f32) 2))
(/.f32 (*.f32 (+.f32 (PI.f32) 2) (PI.f32)) (+.f32 (PI.f32) 2))
(/.f32 (+.f32 (PI.f32) 2) (/.f32 (+.f32 (PI.f32) 2) (PI.f32)))
(pow.f32 (PI.f32) 1)
(PI.f32)
(pow.f32 (cbrt.f32 (PI.f32)) 3)
(PI.f32)
(pow.f32 (pow.f32 (PI.f32) 2) 1/2)
(PI.f32)
(pow.f32 (pow.f32 (PI.f32) 3) 1/3)
(PI.f32)
(pow.f32 (sqrt.f32 (PI.f32)) 2)
(PI.f32)
(pow.f32 (E.f32) (log.f32 (PI.f32)))
(PI.f32)
(pow.f32 (exp.f32 (pow.f32 (cbrt.f32 (log.f32 (PI.f32))) 2)) (cbrt.f32 (log.f32 (PI.f32))))
(pow.f32 (exp.f32 (sqrt.f32 (log.f32 (PI.f32)))) (sqrt.f32 (log.f32 (PI.f32))))
(sqrt.f32 (pow.f32 (PI.f32) 2))
(PI.f32)
(fabs.f32 (PI.f32))
(PI.f32)
(log.f32 (exp.f32 (PI.f32)))
(PI.f32)
(cbrt.f32 (pow.f32 (PI.f32) 3))
(PI.f32)
(expm1.f32 (log1p.f32 (PI.f32)))
(PI.f32)
(exp.f32 (log.f32 (PI.f32)))
(PI.f32)
(log1p.f32 (expm1.f32 (PI.f32)))
(PI.f32)
(fma.f32 1 (+.f32 (PI.f32) 1) -1)
(PI.f32)
(fma.f32 (+.f32 (PI.f32) 1) 1 -1)
(PI.f32)
(fma.f32 (*.f32 (cbrt.f32 (+.f32 (PI.f32) 1)) (cbrt.f32 (+.f32 (PI.f32) 1))) (cbrt.f32 (+.f32 (PI.f32) 1)) -1)
(PI.f32)
(fma.f32 (sqrt.f32 (+.f32 (PI.f32) 1)) (sqrt.f32 (+.f32 (PI.f32) 1)) -1)
(PI.f32)
(+.f32 (PI.f32) 0)
(PI.f32)
(+.f32 (+.f32 (PI.f32) 1) -1)
(PI.f32)
(+.f32 0 (PI.f32))
(PI.f32)
(+.f32 (*.f32 2 (*.f32 1/3 (PI.f32))) (*.f32 1/3 (PI.f32)))
(PI.f32)
(+.f32 (*.f32 1/3 (PI.f32)) (*.f32 2 (*.f32 1/3 (PI.f32))))
(PI.f32)
(+.f32 (*.f32 1/2 (PI.f32)) (*.f32 1/2 (PI.f32)))
(PI.f32)
(-.f32 (+.f32 (PI.f32) 1) 1)
(PI.f32)
(-.f32 (+.f32 (PI.f32) 1) (log.f32 (E.f32)))
(PI.f32)
(-.f32 (log1p.f32 (pow.f32 (expm1.f32 (PI.f32)) 3)) (log.f32 (+.f32 1 (-.f32 (pow.f32 (expm1.f32 (PI.f32)) 2) (expm1.f32 (PI.f32))))))
(-.f32 (log1p.f32 (pow.f32 (expm1.f32 (PI.f32)) 3)) (log1p.f32 (-.f32 (pow.f32 (expm1.f32 (PI.f32)) 2) (expm1.f32 (PI.f32)))))
(-.f32 (log1p.f32 (pow.f32 (expm1.f32 (PI.f32)) 3)) (log1p.f32 (*.f32 (expm1.f32 (PI.f32)) (+.f32 -1 (expm1.f32 (PI.f32))))))
(-.f32 (log.f32 (pow.f32 (E.f32) (+.f32 (PI.f32) 1))) (log.f32 (E.f32)))
(PI.f32)
(-.f32 (log.f32 (-.f32 1 (pow.f32 (expm1.f32 (PI.f32)) 2))) (log.f32 (-.f32 1 (expm1.f32 (PI.f32)))))
(-.f32 (log1p.f32 (neg.f32 (pow.f32 (expm1.f32 (PI.f32)) 2))) (log1p.f32 (neg.f32 (expm1.f32 (PI.f32)))))
(*.f32 (PI.f32) 1)
(PI.f32)
(*.f32 (PI.f32) (log.f32 (E.f32)))
(PI.f32)
(*.f32 1 (PI.f32))
(PI.f32)
(*.f32 (cbrt.f32 (PI.f32)) (pow.f32 (cbrt.f32 (PI.f32)) 2))
(PI.f32)
(*.f32 (pow.f32 (cbrt.f32 (PI.f32)) 2) (cbrt.f32 (PI.f32)))
(PI.f32)
(*.f32 (sqrt.f32 (PI.f32)) (sqrt.f32 (PI.f32)))
(PI.f32)
(*.f32 2 (*.f32 1/2 (PI.f32)))
(PI.f32)
(*.f32 1/3 (*.f32 3 (PI.f32)))
(PI.f32)
(*.f32 3 (*.f32 1/3 (PI.f32)))
(PI.f32)
(*.f32 (pow.f32 (cbrt.f32 (cbrt.f32 (PI.f32))) 2) (*.f32 (cbrt.f32 (cbrt.f32 (PI.f32))) (pow.f32 (cbrt.f32 (PI.f32)) 2)))
(PI.f32)
(*.f32 (cbrt.f32 (cbrt.f32 (PI.f32))) (log.f32 (pow.f32 (exp.f32 (pow.f32 (cbrt.f32 (PI.f32)) 2)) (pow.f32 (cbrt.f32 (cbrt.f32 (PI.f32))) 2))))
(PI.f32)
(*.f32 (cbrt.f32 (pow.f32 (cbrt.f32 (PI.f32)) 4)) (*.f32 (pow.f32 (cbrt.f32 (cbrt.f32 (PI.f32))) 2) (cbrt.f32 (PI.f32))))
(*.f32 (cbrt.f32 (pow.f32 (cbrt.f32 (PI.f32)) 4)) (*.f32 (cbrt.f32 (PI.f32)) (pow.f32 (cbrt.f32 (cbrt.f32 (PI.f32))) 2)))
(*.f32 (cbrt.f32 (PI.f32)) (*.f32 (pow.f32 (cbrt.f32 (cbrt.f32 (PI.f32))) 2) (cbrt.f32 (pow.f32 (cbrt.f32 (PI.f32)) 4))))
(*.f32 (pow.f32 (PI.f32) 1/6) (*.f32 (pow.f32 (PI.f32) 1/6) (pow.f32 (cbrt.f32 (PI.f32)) 2)))
(PI.f32)
(*.f32 (pow.f32 (PI.f32) 1/6) (log.f32 (pow.f32 (exp.f32 (pow.f32 (cbrt.f32 (PI.f32)) 2)) (pow.f32 (PI.f32) 1/6))))
(PI.f32)
(*.f32 (pow.f32 (PI.f32) 1/6) (log.f32 (pow.f32 (exp.f32 (sqrt.f32 (PI.f32))) (cbrt.f32 (PI.f32)))))
(*.f32 (pow.f32 (PI.f32) 1/6) (*.f32 (cbrt.f32 (PI.f32)) (log.f32 (exp.f32 (sqrt.f32 (PI.f32))))))
(*.f32 (cbrt.f32 (PI.f32)) (*.f32 (sqrt.f32 (PI.f32)) (pow.f32 (PI.f32) 1/6)))
(*.f32 (pow.f32 (PI.f32) 1/4) (sqrt.f32 (pow.f32 (PI.f32) 3/2)))
(*.f32 (pow.f32 (PI.f32) 1/4) (fabs.f32 (pow.f32 (PI.f32) 3/4)))
(*.f32 (pow.f32 (PI.f32) 1/4) (pow.f32 (PI.f32) 3/4))
(*.f32 (pow.f32 (PI.f32) 1/4) (*.f32 (pow.f32 (PI.f32) 1/4) (sqrt.f32 (PI.f32))))
(PI.f32)
(*.f32 (pow.f32 (PI.f32) 1/4) (log.f32 (pow.f32 (exp.f32 (sqrt.f32 (PI.f32))) (pow.f32 (PI.f32) 1/4))))
(PI.f32)
(*.f32 (log.f32 (E.f32)) (PI.f32))
(PI.f32)
(*.f32 (*.f32 (sqrt.f32 (PI.f32)) (cbrt.f32 (PI.f32))) (pow.f32 (PI.f32) 1/6))
(*.f32 (pow.f32 (PI.f32) 1/6) (*.f32 (cbrt.f32 (PI.f32)) (log.f32 (exp.f32 (sqrt.f32 (PI.f32))))))
(*.f32 (cbrt.f32 (PI.f32)) (*.f32 (sqrt.f32 (PI.f32)) (pow.f32 (PI.f32) 1/6)))
(*.f32 (pow.f32 1 1/3) (PI.f32))
(PI.f32)
(*.f32 (pow.f32 (pow.f32 (pow.f32 (cbrt.f32 (PI.f32)) 4) 2) 1/3) (cbrt.f32 (cbrt.f32 (PI.f32))))
(*.f32 (cbrt.f32 (cbrt.f32 (PI.f32))) (cbrt.f32 (pow.f32 (pow.f32 (cbrt.f32 (PI.f32)) 4) 2)))
(*.f32 (cbrt.f32 (cbrt.f32 (PI.f32))) (cbrt.f32 (pow.f32 (cbrt.f32 (PI.f32)) 8)))
(*.f32 (pow.f32 (pow.f32 (PI.f32) 5/2) 1/3) (pow.f32 (PI.f32) 1/6))
(*.f32 (pow.f32 (PI.f32) 1/6) (cbrt.f32 (pow.f32 (PI.f32) 5/2)))
(*.f32 (cbrt.f32 (pow.f32 (pow.f32 (cbrt.f32 (PI.f32)) 4) 2)) (cbrt.f32 (cbrt.f32 (PI.f32))))
(*.f32 (cbrt.f32 (cbrt.f32 (PI.f32))) (cbrt.f32 (pow.f32 (pow.f32 (cbrt.f32 (PI.f32)) 4) 2)))
(*.f32 (cbrt.f32 (cbrt.f32 (PI.f32))) (cbrt.f32 (pow.f32 (cbrt.f32 (PI.f32)) 8)))
(*.f32 (cbrt.f32 (pow.f32 (PI.f32) 5/2)) (pow.f32 (PI.f32) 1/6))
(*.f32 (pow.f32 (PI.f32) 1/6) (cbrt.f32 (pow.f32 (PI.f32) 5/2)))
(*.f32 (*.f32 (sqrt.f32 (PI.f32)) (pow.f32 (PI.f32) 1/4)) (pow.f32 (PI.f32) 1/4))
(PI.f32)
(*.f32 (sqrt.f32 (pow.f32 (PI.f32) 3/2)) (pow.f32 (PI.f32) 1/4))
(*.f32 (pow.f32 (PI.f32) 1/4) (sqrt.f32 (pow.f32 (PI.f32) 3/2)))
(*.f32 (pow.f32 (PI.f32) 1/4) (fabs.f32 (pow.f32 (PI.f32) 3/4)))
(*.f32 (pow.f32 (PI.f32) 1/4) (pow.f32 (PI.f32) 3/4))
(*.f32 (sqrt.f32 (pow.f32 (cbrt.f32 (PI.f32)) 5)) (pow.f32 (PI.f32) 1/6))
(*.f32 (pow.f32 (PI.f32) 1/6) (sqrt.f32 (pow.f32 (cbrt.f32 (PI.f32)) 5)))
(*.f32 (pow.f32 (PI.f32) 1/6) (fabs.f32 (pow.f32 (cbrt.f32 (PI.f32)) 5/2)))
(*.f32 (pow.f32 (PI.f32) 1/6) (pow.f32 (cbrt.f32 (PI.f32)) 5/2))
(*.f32 (*.f32 (cbrt.f32 (PI.f32)) (cbrt.f32 (pow.f32 (cbrt.f32 (PI.f32)) 4))) (pow.f32 (cbrt.f32 (cbrt.f32 (PI.f32))) 2))
(*.f32 (cbrt.f32 (pow.f32 (cbrt.f32 (PI.f32)) 4)) (*.f32 (cbrt.f32 (PI.f32)) (pow.f32 (cbrt.f32 (cbrt.f32 (PI.f32))) 2)))
(*.f32 (cbrt.f32 (PI.f32)) (*.f32 (pow.f32 (cbrt.f32 (cbrt.f32 (PI.f32))) 2) (cbrt.f32 (pow.f32 (cbrt.f32 (PI.f32)) 4))))
(*.f32 (*.f32 (pow.f32 (cbrt.f32 (PI.f32)) 2) (pow.f32 (cbrt.f32 (cbrt.f32 (PI.f32))) 2)) (cbrt.f32 (cbrt.f32 (PI.f32))))
(PI.f32)
(*.f32 (*.f32 (pow.f32 (cbrt.f32 (PI.f32)) 2) (pow.f32 (PI.f32) 1/6)) (pow.f32 (PI.f32) 1/6))
(PI.f32)
(/.f32 (-.f32 (pow.f32 (+.f32 (PI.f32) 1) 3) 1) (fma.f32 (+.f32 (PI.f32) 1) (+.f32 (PI.f32) 1) (+.f32 1 (+.f32 (PI.f32) 1))))
(/.f32 (+.f32 (pow.f32 (+.f32 (PI.f32) 1) 3) -1) (fma.f32 (+.f32 (PI.f32) 1) (+.f32 (PI.f32) 1) (+.f32 (PI.f32) 2)))
(/.f32 (+.f32 -1 (pow.f32 (+.f32 (PI.f32) 1) 3)) (fma.f32 (+.f32 (PI.f32) 1) (+.f32 (PI.f32) 1) (+.f32 (PI.f32) 2)))
(/.f32 (+.f32 -1 (pow.f32 (+.f32 (PI.f32) 1) 3)) (+.f32 1 (*.f32 (+.f32 (PI.f32) 1) (+.f32 (PI.f32) 2))))
(/.f32 (fma.f32 (+.f32 (PI.f32) 1) (+.f32 (PI.f32) 1) -1) (+.f32 (+.f32 (PI.f32) 1) 1))
(/.f32 (fma.f32 (+.f32 (PI.f32) 1) (+.f32 (PI.f32) 1) -1) (+.f32 (PI.f32) 2))
(/.f32 (*.f32 (+.f32 (PI.f32) 2) (PI.f32)) (+.f32 (PI.f32) 2))
(/.f32 (+.f32 (PI.f32) 2) (/.f32 (+.f32 (PI.f32) 2) (PI.f32)))
(pow.f32 (PI.f32) 1)
(PI.f32)
(pow.f32 (cbrt.f32 (PI.f32)) 3)
(PI.f32)
(pow.f32 (pow.f32 (PI.f32) 2) 1/2)
(PI.f32)
(pow.f32 (pow.f32 (PI.f32) 3) 1/3)
(PI.f32)
(pow.f32 (sqrt.f32 (PI.f32)) 2)
(PI.f32)
(pow.f32 (E.f32) (log.f32 (PI.f32)))
(PI.f32)
(pow.f32 (exp.f32 (pow.f32 (cbrt.f32 (log.f32 (PI.f32))) 2)) (cbrt.f32 (log.f32 (PI.f32))))
(pow.f32 (exp.f32 (sqrt.f32 (log.f32 (PI.f32)))) (sqrt.f32 (log.f32 (PI.f32))))
(sqrt.f32 (pow.f32 (PI.f32) 2))
(PI.f32)
(fabs.f32 (PI.f32))
(PI.f32)
(log.f32 (exp.f32 (PI.f32)))
(PI.f32)
(cbrt.f32 (pow.f32 (PI.f32) 3))
(PI.f32)
(expm1.f32 (log1p.f32 (PI.f32)))
(PI.f32)
(exp.f32 (log.f32 (PI.f32)))
(PI.f32)
(log1p.f32 (expm1.f32 (PI.f32)))
(PI.f32)
(fma.f32 1 (+.f32 (PI.f32) 1) -1)
(PI.f32)
(fma.f32 (+.f32 (PI.f32) 1) 1 -1)
(PI.f32)
(fma.f32 (*.f32 (cbrt.f32 (+.f32 (PI.f32) 1)) (cbrt.f32 (+.f32 (PI.f32) 1))) (cbrt.f32 (+.f32 (PI.f32) 1)) -1)
(PI.f32)
(fma.f32 (sqrt.f32 (+.f32 (PI.f32) 1)) (sqrt.f32 (+.f32 (PI.f32) 1)) -1)
(PI.f32)

eval214.0ms (0.3%)

Compiler

Compiled 5395 to 3556 computations (34.1% saved)

prune50.0ms (0.1%)

Pruning

10 alts after pruning (8 fresh and 2 done)

PrunedKeptTotal
New1628170
Fresh000
Picked022
Done000
Total16210172
Accuracy
55.9%
Counts
172 → 10
Alt Table
Click to see full alt table
StatusAccuracyProgram
55.4%
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (fma.f32 (sqrt.f32 (+.f32 (PI.f32) 1)) (sqrt.f32 (+.f32 (PI.f32) 1)) -1))) (sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))))))
55.4%
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (-.f32 (+.f32 (PI.f32) 1) 1))) (sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))))))
55.5%
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (*.f32 (log.f32 (E.f32)) (PI.f32)))) (sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))))))
55.4%
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (*.f32 (cbrt.f32 (cbrt.f32 (PI.f32))) (cbrt.f32 (pow.f32 (cbrt.f32 (PI.f32)) 8))))) (sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))))))
55.5%
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))))))
55.5%
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (fma.f32 (sqrt.f32 (+.f32 (PI.f32) 1)) (sqrt.f32 (+.f32 (PI.f32) 1)) -1)))) (sqrt.f32 (fma.f32 (fma.f32 ux maxCos (-.f32 1 ux)) (-.f32 -1 (*.f32 ux (+.f32 maxCos -1))) 1)))
55.5%
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (-.f32 (+.f32 (PI.f32) 1) 1)))) (sqrt.f32 (fma.f32 (fma.f32 ux maxCos (-.f32 1 ux)) (-.f32 -1 (*.f32 ux (+.f32 maxCos -1))) 1)))
55.6%
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (*.f32 (log.f32 (E.f32)) (PI.f32))))) (sqrt.f32 (fma.f32 (fma.f32 ux maxCos (-.f32 1 ux)) (-.f32 -1 (*.f32 ux (+.f32 maxCos -1))) 1)))
55.5%
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (*.f32 (cbrt.f32 (cbrt.f32 (PI.f32))) (cbrt.f32 (pow.f32 (cbrt.f32 (PI.f32)) 8)))))) (sqrt.f32 (fma.f32 (fma.f32 ux maxCos (-.f32 1 ux)) (-.f32 -1 (*.f32 ux (+.f32 maxCos -1))) 1)))
55.5%
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (fma.f32 (fma.f32 ux maxCos (-.f32 1 ux)) (-.f32 -1 (*.f32 ux (+.f32 maxCos -1))) 1)))
Compiler

Compiled 582 to 444 computations (23.7% saved)

localize11.3s (15.8%)

Localize:

Found 6 expressions with local error:

NewAccuracyProgram
6.3%
(PI.f32)
6.3%
(PI.f32)
6.3%
(PI.f32)
6.3%
(PI.f32)
6.3%
(PI.f32)
6.3%
(E.f32)
Compiler

Compiled 680 to 435 computations (36% saved)

Precisions
Click to see histograms. Total time spent on operations: 7.8s
Operation ival-sub, time spent: 2.0s, 26.0% of total-time
Operation ival-add, time spent: 1.6s, 20.0% of total-time
Operation ival-mult, time spent: 1.0s, 13.0% of total-time
Operation ival-fma, time spent: 741.0ms, 9.0% of total-time
Operation ival-sqrt, time spent: 572.0ms, 7.0% of total-time
Operation ival-cos, time spent: 514.0ms, 7.0% of total-time
Operation ival-log, time spent: 373.0ms, 5.0% of total-time
Operation ival-e, time spent: 316.0ms, 4.0% of total-time
Operation ival-cbrt, time spent: 238.0ms, 3.0% of total-time
Operation const, time spent: 212.0ms, 3.0% of total-time
Operation ival-pow, time spent: 195.0ms, 2.0% of total-time
Operation ival-pi, time spent: 11.0ms, 0.0% of total-time

series0.0ms (0%)

Counts
1 → 0

rewrite93.0ms (0.1%)

Algorithm
batch-egg-rewrite
Rules
601×log1p-expm1-u
601×expm1-log1p-u
438×prod-diff
355×pow-unpow
345×pow-prod-up
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
033
1253
22233
320573
Stop Event
node limit
Counts
1 → 67
Calls
Call 1
Inputs
(E.f32)
Outputs
(+.f32 (E.f32) 0)
(+.f32 (E.f32) (log.f32 (pow.f32 1 (E.f32))))
(+.f32 (+.f32 (E.f32) 1) -1)
(+.f32 0 (E.f32))
(+.f32 (*.f32 2 (*.f32 1/3 (E.f32))) (*.f32 1/3 (E.f32)))
(+.f32 (*.f32 1/3 (E.f32)) (*.f32 2 (*.f32 1/3 (E.f32))))
(+.f32 (*.f32 1/3 (E.f32)) (log.f32 (pow.f32 (exp.f32 2/3) (E.f32))))
(+.f32 (*.f32 1/2 (E.f32)) (*.f32 1/2 (E.f32)))
(+.f32 (log.f32 (pow.f32 1 (E.f32))) (E.f32))
(+.f32 (log.f32 (pow.f32 (exp.f32 2/3) (E.f32))) (*.f32 1/3 (E.f32)))
(-.f32 (+.f32 (E.f32) 1) 1)
(-.f32 (log1p.f32 (pow.f32 (expm1.f32 (E.f32)) 3)) (log.f32 (+.f32 1 (-.f32 (pow.f32 (expm1.f32 (E.f32)) 2) (expm1.f32 (E.f32))))))
(-.f32 (log.f32 (-.f32 1 (pow.f32 (expm1.f32 (E.f32)) 2))) (log.f32 (-.f32 1 (expm1.f32 (E.f32)))))
(*.f32 (E.f32) 1)
(*.f32 1 (E.f32))
(*.f32 (exp.f32 1/3) (exp.f32 2/3))
(*.f32 (exp.f32 2/3) (exp.f32 1/3))
(*.f32 (exp.f32 1/2) (exp.f32 1/2))
(*.f32 1/3 (*.f32 3 (E.f32)))
(*.f32 2 (*.f32 1/2 (E.f32)))
(*.f32 3 (*.f32 1/3 (E.f32)))
(*.f32 (exp.f32 2/9) (*.f32 (exp.f32 1/9) (exp.f32 2/3)))
(*.f32 (exp.f32 1/9) (log.f32 (exp.f32 (exp.f32 8/9))))
(*.f32 (exp.f32 1/6) (exp.f32 5/6))
(*.f32 (exp.f32 1/6) (log.f32 (exp.f32 (exp.f32 5/6))))
(*.f32 (exp.f32 4/9) (pow.f32 (exp.f32 2/3) 5/6))
(*.f32 (exp.f32 1/4) (pow.f32 (E.f32) 3/4))
(*.f32 (exp.f32 1/4) (sqrt.f32 (exp.f32 3/2)))
(*.f32 (exp.f32 1/4) (log.f32 (exp.f32 (pow.f32 (E.f32) 3/4))))
(*.f32 (*.f32 1/3 (E.f32)) 3)
(*.f32 (*.f32 (E.f32) 2) 1/2)
(*.f32 (exp.f32 5/6) (exp.f32 1/6))
(*.f32 (*.f32 3 (E.f32)) 1/3)
(*.f32 (cbrt.f32 (exp.f32 8/3)) (exp.f32 1/9))
(*.f32 (cbrt.f32 (exp.f32 5/2)) (exp.f32 1/6))
(*.f32 (pow.f32 (E.f32) 3/4) (exp.f32 1/4))
(*.f32 (sqrt.f32 (exp.f32 3/2)) (exp.f32 1/4))
(*.f32 (sqrt.f32 (exp.f32 5/3)) (exp.f32 1/6))
(*.f32 (/.f32 (E.f32) 2) 2)
(*.f32 (*.f32 (exp.f32 1/3) (exp.f32 4/9)) (exp.f32 2/9))
(*.f32 (exp.f32 8/9) (exp.f32 1/9))
(/.f32 (-.f32 (pow.f32 (+.f32 (E.f32) 1) 3) 1) (+.f32 (pow.f32 (+.f32 (E.f32) 1) 2) (+.f32 1 (+.f32 (E.f32) 1))))
(/.f32 (-.f32 (pow.f32 (+.f32 (E.f32) 1) 2) 1) (+.f32 (+.f32 (E.f32) 1) 1))
(pow.f32 (E.f32) 1)
(pow.f32 (exp.f32 1/3) 3)
(pow.f32 (exp.f32 2/3) 3/2)
(pow.f32 (exp.f32 2) 1/2)
(pow.f32 (exp.f32 3) 1/3)
(pow.f32 (exp.f32 1/2) 2)
(pow.f32 (exp.f32 1/9) 9)
(pow.f32 (exp.f32 1/6) 6)
(pow.f32 (exp.f32 6) 1/6)
(pow.f32 (exp.f32 3/2) 2/3)
(pow.f32 (exp.f32 9) 1/9)
(pow.f32 (exp.f32 4) 1/4)
(pow.f32 (exp.f32 1/4) 4)
(sqrt.f32 (exp.f32 2))
(fabs.f32 (E.f32))
(log.f32 (exp.f32 (E.f32)))
(cbrt.f32 (exp.f32 3))
(expm1.f32 (log1p.f32 (E.f32)))
(exp.f32 1)
(log1p.f32 (expm1.f32 (E.f32)))
(fma.f32 1 (+.f32 (E.f32) 1) -1)
(fma.f32 (+.f32 (E.f32) 1) 1 -1)
(fma.f32 (*.f32 (cbrt.f32 (+.f32 (E.f32) 1)) (cbrt.f32 (+.f32 (E.f32) 1))) (cbrt.f32 (+.f32 (E.f32) 1)) -1)
(fma.f32 (hypot.f32 1 (exp.f32 1/2)) (hypot.f32 1 (exp.f32 1/2)) -1)

simplify61.0ms (0.1%)

Algorithm
egg-herbie
Rules
695×distribute-lft-in
670×distribute-rgt-in
489×associate-+l+
470×associate-+r+
340×distribute-lft-out
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01634294967919
1329639
21254639
Stop Event
node limit
Counts
67 → 82
Calls
Call 1
Inputs
(+.f32 (E.f32) 0)
(+.f32 (E.f32) (log.f32 (pow.f32 1 (E.f32))))
(+.f32 (+.f32 (E.f32) 1) -1)
(+.f32 0 (E.f32))
(+.f32 (*.f32 2 (*.f32 1/3 (E.f32))) (*.f32 1/3 (E.f32)))
(+.f32 (*.f32 1/3 (E.f32)) (*.f32 2 (*.f32 1/3 (E.f32))))
(+.f32 (*.f32 1/3 (E.f32)) (log.f32 (pow.f32 (exp.f32 2/3) (E.f32))))
(+.f32 (*.f32 1/2 (E.f32)) (*.f32 1/2 (E.f32)))
(+.f32 (log.f32 (pow.f32 1 (E.f32))) (E.f32))
(+.f32 (log.f32 (pow.f32 (exp.f32 2/3) (E.f32))) (*.f32 1/3 (E.f32)))
(-.f32 (+.f32 (E.f32) 1) 1)
(-.f32 (log1p.f32 (pow.f32 (expm1.f32 (E.f32)) 3)) (log.f32 (+.f32 1 (-.f32 (pow.f32 (expm1.f32 (E.f32)) 2) (expm1.f32 (E.f32))))))
(-.f32 (log.f32 (-.f32 1 (pow.f32 (expm1.f32 (E.f32)) 2))) (log.f32 (-.f32 1 (expm1.f32 (E.f32)))))
(*.f32 (E.f32) 1)
(*.f32 1 (E.f32))
(*.f32 (exp.f32 1/3) (exp.f32 2/3))
(*.f32 (exp.f32 2/3) (exp.f32 1/3))
(*.f32 (exp.f32 1/2) (exp.f32 1/2))
(*.f32 1/3 (*.f32 3 (E.f32)))
(*.f32 2 (*.f32 1/2 (E.f32)))
(*.f32 3 (*.f32 1/3 (E.f32)))
(*.f32 (exp.f32 2/9) (*.f32 (exp.f32 1/9) (exp.f32 2/3)))
(*.f32 (exp.f32 1/9) (log.f32 (exp.f32 (exp.f32 8/9))))
(*.f32 (exp.f32 1/6) (exp.f32 5/6))
(*.f32 (exp.f32 1/6) (log.f32 (exp.f32 (exp.f32 5/6))))
(*.f32 (exp.f32 4/9) (pow.f32 (exp.f32 2/3) 5/6))
(*.f32 (exp.f32 1/4) (pow.f32 (E.f32) 3/4))
(*.f32 (exp.f32 1/4) (sqrt.f32 (exp.f32 3/2)))
(*.f32 (exp.f32 1/4) (log.f32 (exp.f32 (pow.f32 (E.f32) 3/4))))
(*.f32 (*.f32 1/3 (E.f32)) 3)
(*.f32 (*.f32 (E.f32) 2) 1/2)
(*.f32 (exp.f32 5/6) (exp.f32 1/6))
(*.f32 (*.f32 3 (E.f32)) 1/3)
(*.f32 (cbrt.f32 (exp.f32 8/3)) (exp.f32 1/9))
(*.f32 (cbrt.f32 (exp.f32 5/2)) (exp.f32 1/6))
(*.f32 (pow.f32 (E.f32) 3/4) (exp.f32 1/4))
(*.f32 (sqrt.f32 (exp.f32 3/2)) (exp.f32 1/4))
(*.f32 (sqrt.f32 (exp.f32 5/3)) (exp.f32 1/6))
(*.f32 (/.f32 (E.f32) 2) 2)
(*.f32 (*.f32 (exp.f32 1/3) (exp.f32 4/9)) (exp.f32 2/9))
(*.f32 (exp.f32 8/9) (exp.f32 1/9))
(/.f32 (-.f32 (pow.f32 (+.f32 (E.f32) 1) 3) 1) (+.f32 (pow.f32 (+.f32 (E.f32) 1) 2) (+.f32 1 (+.f32 (E.f32) 1))))
(/.f32 (-.f32 (pow.f32 (+.f32 (E.f32) 1) 2) 1) (+.f32 (+.f32 (E.f32) 1) 1))
(pow.f32 (E.f32) 1)
(pow.f32 (exp.f32 1/3) 3)
(pow.f32 (exp.f32 2/3) 3/2)
(pow.f32 (exp.f32 2) 1/2)
(pow.f32 (exp.f32 3) 1/3)
(pow.f32 (exp.f32 1/2) 2)
(pow.f32 (exp.f32 1/9) 9)
(pow.f32 (exp.f32 1/6) 6)
(pow.f32 (exp.f32 6) 1/6)
(pow.f32 (exp.f32 3/2) 2/3)
(pow.f32 (exp.f32 9) 1/9)
(pow.f32 (exp.f32 4) 1/4)
(pow.f32 (exp.f32 1/4) 4)
(sqrt.f32 (exp.f32 2))
(fabs.f32 (E.f32))
(log.f32 (exp.f32 (E.f32)))
(cbrt.f32 (exp.f32 3))
(expm1.f32 (log1p.f32 (E.f32)))
(exp.f32 1)
(log1p.f32 (expm1.f32 (E.f32)))
(fma.f32 1 (+.f32 (E.f32) 1) -1)
(fma.f32 (+.f32 (E.f32) 1) 1 -1)
(fma.f32 (*.f32 (cbrt.f32 (+.f32 (E.f32) 1)) (cbrt.f32 (+.f32 (E.f32) 1))) (cbrt.f32 (+.f32 (E.f32) 1)) -1)
(fma.f32 (hypot.f32 1 (exp.f32 1/2)) (hypot.f32 1 (exp.f32 1/2)) -1)
Outputs
(+.f32 (E.f32) 0)
(E.f32)
(+.f32 (E.f32) (log.f32 (pow.f32 1 (E.f32))))
(E.f32)
(+.f32 (+.f32 (E.f32) 1) -1)
(E.f32)
(+.f32 0 (E.f32))
(E.f32)
(+.f32 (*.f32 2 (*.f32 1/3 (E.f32))) (*.f32 1/3 (E.f32)))
(E.f32)
(+.f32 (*.f32 1/3 (E.f32)) (*.f32 2 (*.f32 1/3 (E.f32))))
(E.f32)
(+.f32 (*.f32 1/3 (E.f32)) (log.f32 (pow.f32 (exp.f32 2/3) (E.f32))))
(E.f32)
(+.f32 (*.f32 1/2 (E.f32)) (*.f32 1/2 (E.f32)))
(E.f32)
(+.f32 (log.f32 (pow.f32 1 (E.f32))) (E.f32))
(E.f32)
(+.f32 (log.f32 (pow.f32 (exp.f32 2/3) (E.f32))) (*.f32 1/3 (E.f32)))
(E.f32)
(-.f32 (+.f32 (E.f32) 1) 1)
(E.f32)
(-.f32 (log1p.f32 (pow.f32 (expm1.f32 (E.f32)) 3)) (log.f32 (+.f32 1 (-.f32 (pow.f32 (expm1.f32 (E.f32)) 2) (expm1.f32 (E.f32))))))
(-.f32 (log1p.f32 (pow.f32 (expm1.f32 (E.f32)) 3)) (log1p.f32 (-.f32 (pow.f32 (expm1.f32 (E.f32)) 2) (expm1.f32 (E.f32)))))
(-.f32 (log1p.f32 (pow.f32 (expm1.f32 (E.f32)) 3)) (log1p.f32 (*.f32 (expm1.f32 (E.f32)) (+.f32 -1 (expm1.f32 (E.f32))))))
(-.f32 (log.f32 (-.f32 1 (pow.f32 (expm1.f32 (E.f32)) 2))) (log.f32 (-.f32 1 (expm1.f32 (E.f32)))))
(-.f32 (log1p.f32 (neg.f32 (pow.f32 (expm1.f32 (E.f32)) 2))) (log1p.f32 (neg.f32 (expm1.f32 (E.f32)))))
(*.f32 (E.f32) 1)
(E.f32)
(*.f32 1 (E.f32))
(E.f32)
(*.f32 (exp.f32 1/3) (exp.f32 2/3))
(E.f32)
(*.f32 (exp.f32 2/3) (exp.f32 1/3))
(E.f32)
(*.f32 (exp.f32 1/2) (exp.f32 1/2))
(E.f32)
(*.f32 1/3 (*.f32 3 (E.f32)))
(E.f32)
(*.f32 2 (*.f32 1/2 (E.f32)))
(E.f32)
(*.f32 3 (*.f32 1/3 (E.f32)))
(E.f32)
(*.f32 (exp.f32 2/9) (*.f32 (exp.f32 1/9) (exp.f32 2/3)))
(E.f32)
(*.f32 (exp.f32 1/9) (log.f32 (exp.f32 (exp.f32 8/9))))
(E.f32)
(*.f32 (exp.f32 1/6) (exp.f32 5/6))
(E.f32)
(*.f32 (exp.f32 1/6) (log.f32 (exp.f32 (exp.f32 5/6))))
(E.f32)
(*.f32 (exp.f32 4/9) (pow.f32 (exp.f32 2/3) 5/6))
(*.f32 (exp.f32 1/4) (pow.f32 (E.f32) 3/4))
(*.f32 (exp.f32 1/4) (sqrt.f32 (exp.f32 3/2)))
(*.f32 (exp.f32 1/4) (log.f32 (exp.f32 (pow.f32 (E.f32) 3/4))))
(*.f32 (exp.f32 1/4) (pow.f32 (E.f32) 3/4))
(*.f32 (*.f32 1/3 (E.f32)) 3)
(E.f32)
(*.f32 (*.f32 (E.f32) 2) 1/2)
(E.f32)
(*.f32 (exp.f32 5/6) (exp.f32 1/6))
(E.f32)
(*.f32 (*.f32 3 (E.f32)) 1/3)
(E.f32)
(*.f32 (cbrt.f32 (exp.f32 8/3)) (exp.f32 1/9))
(*.f32 (exp.f32 1/9) (cbrt.f32 (exp.f32 8/3)))
(*.f32 (cbrt.f32 (exp.f32 5/2)) (exp.f32 1/6))
(*.f32 (exp.f32 1/6) (cbrt.f32 (exp.f32 5/2)))
(*.f32 (pow.f32 (E.f32) 3/4) (exp.f32 1/4))
(*.f32 (exp.f32 1/4) (pow.f32 (E.f32) 3/4))
(*.f32 (sqrt.f32 (exp.f32 3/2)) (exp.f32 1/4))
(*.f32 (exp.f32 1/4) (sqrt.f32 (exp.f32 3/2)))
(*.f32 (sqrt.f32 (exp.f32 5/3)) (exp.f32 1/6))
(*.f32 (exp.f32 1/6) (sqrt.f32 (exp.f32 5/3)))
(*.f32 (/.f32 (E.f32) 2) 2)
(E.f32)
(*.f32 (*.f32 (exp.f32 1/3) (exp.f32 4/9)) (exp.f32 2/9))
(E.f32)
(*.f32 (exp.f32 8/9) (exp.f32 1/9))
(E.f32)
(/.f32 (-.f32 (pow.f32 (+.f32 (E.f32) 1) 3) 1) (+.f32 (pow.f32 (+.f32 (E.f32) 1) 2) (+.f32 1 (+.f32 (E.f32) 1))))
(/.f32 (+.f32 (pow.f32 (+.f32 (E.f32) 1) 3) -1) (+.f32 (pow.f32 (+.f32 (E.f32) 1) 2) (+.f32 (E.f32) 2)))
(/.f32 (+.f32 -1 (pow.f32 (+.f32 (E.f32) 1) 3)) (+.f32 (pow.f32 (+.f32 (E.f32) 1) 2) (+.f32 (E.f32) 2)))
(/.f32 (+.f32 -1 (pow.f32 (+.f32 (E.f32) 1) 3)) (+.f32 (E.f32) (+.f32 2 (pow.f32 (+.f32 (E.f32) 1) 2))))
(/.f32 (-.f32 (pow.f32 (+.f32 (E.f32) 1) 2) 1) (+.f32 (+.f32 (E.f32) 1) 1))
(/.f32 (+.f32 (pow.f32 (+.f32 (E.f32) 1) 2) -1) (+.f32 (E.f32) 2))
(/.f32 (*.f32 (+.f32 (E.f32) 2) (E.f32)) (+.f32 (E.f32) 2))
(pow.f32 (E.f32) 1)
(E.f32)
(pow.f32 (exp.f32 1/3) 3)
(E.f32)
(pow.f32 (exp.f32 2/3) 3/2)
(pow.f32 (exp.f32 2) 1/2)
(sqrt.f32 (exp.f32 2))
(pow.f32 (exp.f32 3) 1/3)
(cbrt.f32 (exp.f32 3))
(pow.f32 (exp.f32 1/2) 2)
(E.f32)
(pow.f32 (exp.f32 1/9) 9)
(pow.f32 (exp.f32 1/6) 6)
(E.f32)
(pow.f32 (exp.f32 6) 1/6)
(pow.f32 (exp.f32 3/2) 2/3)
(*.f32 (pow.f32 (exp.f32 3/2) 1/3) (pow.f32 (exp.f32 3/2) 1/3))
(*.f32 (cbrt.f32 (exp.f32 3/2)) (cbrt.f32 (exp.f32 3/2)))
(pow.f32 (exp.f32 9) 1/9)
(*.f32 (pow.f32 (exp.f32 9) 1/18) (pow.f32 (exp.f32 9) 1/18))
(pow.f32 (exp.f32 4) 1/4)
(pow.f32 (exp.f32 1/4) 4)
(E.f32)
(sqrt.f32 (exp.f32 2))
(fabs.f32 (E.f32))
(E.f32)
(log.f32 (exp.f32 (E.f32)))
(E.f32)
(cbrt.f32 (exp.f32 3))
(expm1.f32 (log1p.f32 (E.f32)))
(E.f32)
(exp.f32 1)
(E.f32)
(log1p.f32 (expm1.f32 (E.f32)))
(E.f32)
(fma.f32 1 (+.f32 (E.f32) 1) -1)
(E.f32)
(fma.f32 (+.f32 (E.f32) 1) 1 -1)
(E.f32)
(fma.f32 (*.f32 (cbrt.f32 (+.f32 (E.f32) 1)) (cbrt.f32 (+.f32 (E.f32) 1))) (cbrt.f32 (+.f32 (E.f32) 1)) -1)
(E.f32)
(fma.f32 (hypot.f32 1 (exp.f32 1/2)) (hypot.f32 1 (exp.f32 1/2)) -1)

eval2.7s (3.8%)

Compiler

Compiled 113964 to 79764 computations (30% saved)

prune322.0ms (0.5%)

Pruning

12 alts after pruning (7 fresh and 5 done)

PrunedKeptTotal
New305343057
Fresh033
Picked235
Done022
Total3055123067
Accuracy
55.9%
Counts
3067 → 12
Alt Table
Click to see full alt table
StatusAccuracyProgram
55.4%
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (fma.f32 (sqrt.f32 (+.f32 (PI.f32) 1)) (sqrt.f32 (+.f32 (PI.f32) 1)) -1))) (sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))))))
55.4%
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (-.f32 (+.f32 (*.f32 (cbrt.f32 (cbrt.f32 (PI.f32))) (cbrt.f32 (pow.f32 (cbrt.f32 (PI.f32)) 8))) 1) 1))) (sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))))))
55.4%
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (-.f32 (+.f32 (PI.f32) 1) 1))) (sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))))))
55.5%
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (*.f32 (log.f32 (E.f32)) (PI.f32)))) (sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))))))
55.4%
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (*.f32 (cbrt.f32 (cbrt.f32 (PI.f32))) (cbrt.f32 (pow.f32 (cbrt.f32 (PI.f32)) 8))))) (sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))))))
55.5%
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))))))
55.5%
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (-.f32 (+.f32 (PI.f32) 1) 1)))) (sqrt.f32 (fma.f32 (fma.f32 ux maxCos (-.f32 1 ux)) (-.f32 -1 (*.f32 ux (+.f32 maxCos -1))) 1)))
55.5%
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (*.f32 (log.f32 (pow.f32 (exp.f32 1/3) 3)) (PI.f32))))) (sqrt.f32 (fma.f32 (fma.f32 ux maxCos (-.f32 1 ux)) (-.f32 -1 (*.f32 ux (+.f32 maxCos -1))) 1)))
55.4%
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (*.f32 (log.f32 (pow.f32 (exp.f32 1/9) 9)) (PI.f32))))) (sqrt.f32 (fma.f32 (fma.f32 ux maxCos (-.f32 1 ux)) (-.f32 -1 (*.f32 ux (+.f32 maxCos -1))) 1)))
55.5%
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (*.f32 (log.f32 (E.f32)) (*.f32 (log.f32 (E.f32)) (PI.f32)))))) (sqrt.f32 (fma.f32 (fma.f32 ux maxCos (-.f32 1 ux)) (-.f32 -1 (*.f32 ux (+.f32 maxCos -1))) 1)))
55.6%
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (*.f32 (log.f32 (E.f32)) (PI.f32))))) (sqrt.f32 (fma.f32 (fma.f32 ux maxCos (-.f32 1 ux)) (-.f32 -1 (*.f32 ux (+.f32 maxCos -1))) 1)))
55.5%
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (fma.f32 (fma.f32 ux maxCos (-.f32 1 ux)) (-.f32 -1 (*.f32 ux (+.f32 maxCos -1))) 1)))
Compiler

Compiled 625 to 477 computations (23.7% saved)

localize16.9s (23.6%)

Localize:

Found 7 expressions with local error:

NewAccuracyProgram
6.3%
(PI.f32)
6.3%
(PI.f32)
6.3%
(PI.f32)
6.3%
(PI.f32)
6.3%
(E.f32)
6.3%
(PI.f32)
6.3%
(E.f32)
Compiler

Compiled 704 to 440 computations (37.5% saved)

Precisions
Click to see histograms. Total time spent on operations: 13.3s
Operation ival-exp, time spent: 3.8s, 28.0% of total-time
Operation ival-log, time spent: 2.9s, 22.0% of total-time
Operation ival-sub, time spent: 1.6s, 12.0% of total-time
Operation ival-add, time spent: 1.3s, 10.0% of total-time
Operation ival-mult, time spent: 1.1s, 8.0% of total-time
Operation ival-fma, time spent: 571.0ms, 4.0% of total-time
Operation ival-sqrt, time spent: 531.0ms, 4.0% of total-time
Operation ival-cos, time spent: 515.0ms, 4.0% of total-time
Operation ival-pow, time spent: 439.0ms, 3.0% of total-time
Operation ival-e, time spent: 269.0ms, 2.0% of total-time
Operation const, time spent: 220.0ms, 2.0% of total-time
Operation ival-pi, time spent: 13.0ms, 0.0% of total-time

eval2.6s (3.7%)

Compiler

Compiled 114376 to 77427 computations (32.3% saved)

prune326.0ms (0.5%)

Pruning

16 alts after pruning (7 fresh and 9 done)

PrunedKeptTotal
New303573042
Fresh202
Picked145
Done055
Total3038163054
Accuracy
55.9%
Counts
3054 → 16
Alt Table
Click to see full alt table
StatusAccuracyProgram
55.4%
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (-.f32 (+.f32 (PI.f32) 1) 1))) (sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))))))
55.4%
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (*.f32 (log.f32 (pow.f32 (exp.f32 1/3) 3)) (PI.f32)))) (sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))))))
55.4%
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (*.f32 (log.f32 (pow.f32 (exp.f32 1/9) 9)) (PI.f32)))) (sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))))))
55.4%
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (*.f32 (log.f32 (E.f32)) (*.f32 (log.f32 (E.f32)) (PI.f32))))) (sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))))))
55.5%
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (*.f32 (log.f32 (E.f32)) (PI.f32)))) (sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))))))
55.5%
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))))))
55.5%
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (-.f32 (+.f32 (PI.f32) 1) 1)))) (sqrt.f32 (fma.f32 (fma.f32 ux maxCos (-.f32 1 ux)) (-.f32 -1 (*.f32 ux (+.f32 maxCos -1))) 1)))
55.4%
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (*.f32 (log.f32 (pow.f32 (exp.f32 1/3) 3)) (fma.f32 (sqrt.f32 (+.f32 (PI.f32) 1)) (sqrt.f32 (+.f32 (PI.f32) 1)) -1))))) (sqrt.f32 (fma.f32 (fma.f32 ux maxCos (-.f32 1 ux)) (-.f32 -1 (*.f32 ux (+.f32 maxCos -1))) 1)))
55.4%
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (*.f32 (log.f32 (pow.f32 (exp.f32 1/3) 3)) (-.f32 (+.f32 (PI.f32) 1) 1))))) (sqrt.f32 (fma.f32 (fma.f32 ux maxCos (-.f32 1 ux)) (-.f32 -1 (*.f32 ux (+.f32 maxCos -1))) 1)))
55.5%
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (*.f32 (log.f32 (pow.f32 (exp.f32 1/3) 3)) (PI.f32))))) (sqrt.f32 (fma.f32 (fma.f32 ux maxCos (-.f32 1 ux)) (-.f32 -1 (*.f32 ux (+.f32 maxCos -1))) 1)))
55.4%
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (*.f32 (log.f32 (pow.f32 (exp.f32 1/9) 9)) (*.f32 (log.f32 (E.f32)) (PI.f32)))))) (sqrt.f32 (fma.f32 (fma.f32 ux maxCos (-.f32 1 ux)) (-.f32 -1 (*.f32 ux (+.f32 maxCos -1))) 1)))
55.4%
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (*.f32 (log.f32 (pow.f32 (exp.f32 1/9) 9)) (*.f32 (cbrt.f32 (cbrt.f32 (PI.f32))) (cbrt.f32 (pow.f32 (cbrt.f32 (PI.f32)) 8))))))) (sqrt.f32 (fma.f32 (fma.f32 ux maxCos (-.f32 1 ux)) (-.f32 -1 (*.f32 ux (+.f32 maxCos -1))) 1)))
55.4%
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (*.f32 (log.f32 (pow.f32 (exp.f32 1/9) 9)) (PI.f32))))) (sqrt.f32 (fma.f32 (fma.f32 ux maxCos (-.f32 1 ux)) (-.f32 -1 (*.f32 ux (+.f32 maxCos -1))) 1)))
55.5%
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (*.f32 (log.f32 (E.f32)) (*.f32 (log.f32 (E.f32)) (PI.f32)))))) (sqrt.f32 (fma.f32 (fma.f32 ux maxCos (-.f32 1 ux)) (-.f32 -1 (*.f32 ux (+.f32 maxCos -1))) 1)))
55.6%
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (*.f32 (log.f32 (E.f32)) (PI.f32))))) (sqrt.f32 (fma.f32 (fma.f32 ux maxCos (-.f32 1 ux)) (-.f32 -1 (*.f32 ux (+.f32 maxCos -1))) 1)))
55.5%
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (fma.f32 (fma.f32 ux maxCos (-.f32 1 ux)) (-.f32 -1 (*.f32 ux (+.f32 maxCos -1))) 1)))
Compiler

Compiled 780 to 612 computations (21.5% saved)

localize22.3s (31.2%)

Localize:

Found 7 expressions with local error:

NewAccuracyProgram
6.3%
(PI.f32)
6.3%
(PI.f32)
6.3%
(PI.f32)
6.3%
(PI.f32)
6.3%
(E.f32)
6.3%
(PI.f32)
6.3%
(E.f32)
Compiler

Compiled 772 to 495 computations (35.9% saved)

Precisions
Click to see histograms. Total time spent on operations: 18.7s
Operation ival-exp, time spent: 6.8s, 37.0% of total-time
Operation ival-log, time spent: 4.6s, 25.0% of total-time
Operation ival-sub, time spent: 1.8s, 10.0% of total-time
Operation ival-add, time spent: 1.7s, 9.0% of total-time
Operation ival-mult, time spent: 1.2s, 6.0% of total-time
Operation ival-pow, time spent: 793.0ms, 4.0% of total-time
Operation ival-cos, time spent: 525.0ms, 3.0% of total-time
Operation ival-fma, time spent: 322.0ms, 2.0% of total-time
Operation ival-sqrt, time spent: 280.0ms, 2.0% of total-time
Operation const, time spent: 256.0ms, 1.0% of total-time
Operation ival-e, time spent: 255.0ms, 1.0% of total-time
Operation ival-pi, time spent: 10.0ms, 0.0% of total-time

eval2.5s (3.5%)

Compiler

Compiled 101783 to 69232 computations (32% saved)

prune344.0ms (0.5%)

Pruning

21 alts after pruning (7 fresh and 14 done)

PrunedKeptTotal
New261162617
Fresh112
Picked055
Done099
Total2612212633
Accuracy
56.0%
Counts
2633 → 21
Alt Table
Click to see full alt table
StatusAccuracyProgram
55.4%
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (-.f32 (+.f32 (PI.f32) 1) 1))) (sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))))))
55.3%
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (*.f32 (log.f32 (pow.f32 (exp.f32 1/3) 3)) (fma.f32 (sqrt.f32 (+.f32 (PI.f32) 1)) (sqrt.f32 (+.f32 (PI.f32) 1)) -1)))) (sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))))))
55.4%
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (*.f32 (log.f32 (pow.f32 (exp.f32 1/3) 3)) (-.f32 (+.f32 (PI.f32) 1) 1)))) (sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))))))
55.4%
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (*.f32 (log.f32 (pow.f32 (exp.f32 1/3) 3)) (PI.f32)))) (sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))))))
55.4%
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (*.f32 (log.f32 (pow.f32 (exp.f32 1/9) 9)) (*.f32 (log.f32 (E.f32)) (PI.f32))))) (sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))))))
55.4%
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (*.f32 (log.f32 (pow.f32 (exp.f32 1/9) 9)) (*.f32 (cbrt.f32 (cbrt.f32 (PI.f32))) (cbrt.f32 (pow.f32 (cbrt.f32 (PI.f32)) 8)))))) (sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))))))
55.4%
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (*.f32 (log.f32 (pow.f32 (exp.f32 1/9) 9)) (PI.f32)))) (sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))))))
55.4%
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (*.f32 (log.f32 (E.f32)) (*.f32 (log.f32 (E.f32)) (PI.f32))))) (sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))))))
55.5%
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (*.f32 (log.f32 (E.f32)) (PI.f32)))) (sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))))))
55.5%
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))))))
55.5%
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (-.f32 (+.f32 (PI.f32) 1) 1)))) (sqrt.f32 (fma.f32 (fma.f32 ux maxCos (-.f32 1 ux)) (-.f32 -1 (*.f32 ux (+.f32 maxCos -1))) 1)))
55.4%
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (*.f32 (log.f32 (pow.f32 (exp.f32 1/3) 3)) (fma.f32 (sqrt.f32 (+.f32 (PI.f32) 1)) (sqrt.f32 (+.f32 (PI.f32) 1)) -1))))) (sqrt.f32 (fma.f32 (fma.f32 ux maxCos (-.f32 1 ux)) (-.f32 -1 (*.f32 ux (+.f32 maxCos -1))) 1)))
55.4%
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (*.f32 (log.f32 (pow.f32 (exp.f32 1/3) 3)) (-.f32 (+.f32 (PI.f32) 1) 1))))) (sqrt.f32 (fma.f32 (fma.f32 ux maxCos (-.f32 1 ux)) (-.f32 -1 (*.f32 ux (+.f32 maxCos -1))) 1)))
55.5%
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (*.f32 (log.f32 (pow.f32 (exp.f32 1/3) 3)) (PI.f32))))) (sqrt.f32 (fma.f32 (fma.f32 ux maxCos (-.f32 1 ux)) (-.f32 -1 (*.f32 ux (+.f32 maxCos -1))) 1)))
55.4%
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (*.f32 (log.f32 (pow.f32 (exp.f32 1/9) 9)) (*.f32 (log.f32 (pow.f32 (exp.f32 1/9) 9)) (PI.f32)))))) (sqrt.f32 (fma.f32 (fma.f32 ux maxCos (-.f32 1 ux)) (-.f32 -1 (*.f32 ux (+.f32 maxCos -1))) 1)))
55.4%
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (*.f32 (log.f32 (pow.f32 (exp.f32 1/9) 9)) (*.f32 (log.f32 (E.f32)) (*.f32 (log.f32 (E.f32)) (PI.f32))))))) (sqrt.f32 (fma.f32 (fma.f32 ux maxCos (-.f32 1 ux)) (-.f32 -1 (*.f32 ux (+.f32 maxCos -1))) 1)))
55.4%
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (*.f32 (log.f32 (pow.f32 (exp.f32 1/9) 9)) (*.f32 (log.f32 (E.f32)) (PI.f32)))))) (sqrt.f32 (fma.f32 (fma.f32 ux maxCos (-.f32 1 ux)) (-.f32 -1 (*.f32 ux (+.f32 maxCos -1))) 1)))
55.4%
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (*.f32 (log.f32 (pow.f32 (exp.f32 1/9) 9)) (PI.f32))))) (sqrt.f32 (fma.f32 (fma.f32 ux maxCos (-.f32 1 ux)) (-.f32 -1 (*.f32 ux (+.f32 maxCos -1))) 1)))
55.5%
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (*.f32 (log.f32 (E.f32)) (*.f32 (log.f32 (E.f32)) (PI.f32)))))) (sqrt.f32 (fma.f32 (fma.f32 ux maxCos (-.f32 1 ux)) (-.f32 -1 (*.f32 ux (+.f32 maxCos -1))) 1)))
55.6%
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (*.f32 (log.f32 (E.f32)) (PI.f32))))) (sqrt.f32 (fma.f32 (fma.f32 ux maxCos (-.f32 1 ux)) (-.f32 -1 (*.f32 ux (+.f32 maxCos -1))) 1)))
55.5%
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (fma.f32 (fma.f32 ux maxCos (-.f32 1 ux)) (-.f32 -1 (*.f32 ux (+.f32 maxCos -1))) 1)))
Compiler

Compiled 1588 to 1158 computations (27.1% saved)

regimes253.0ms (0.4%)

Counts
27 → 1
Calls
Call 1
Inputs
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))))))
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (-.f32 (+.f32 (PI.f32) 1) 1))) (sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))))))
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (*.f32 (log.f32 (E.f32)) (PI.f32)))) (sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))))))
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (fma.f32 (fma.f32 ux maxCos (-.f32 1 ux)) (-.f32 -1 (*.f32 ux (+.f32 maxCos -1))) 1)))
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (-.f32 (+.f32 (PI.f32) 1) 1)))) (sqrt.f32 (fma.f32 (fma.f32 ux maxCos (-.f32 1 ux)) (-.f32 -1 (*.f32 ux (+.f32 maxCos -1))) 1)))
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (*.f32 (log.f32 (E.f32)) (*.f32 (log.f32 (E.f32)) (PI.f32))))) (sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))))))
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (*.f32 (log.f32 (E.f32)) (PI.f32))))) (sqrt.f32 (fma.f32 (fma.f32 ux maxCos (-.f32 1 ux)) (-.f32 -1 (*.f32 ux (+.f32 maxCos -1))) 1)))
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (*.f32 (log.f32 (pow.f32 (exp.f32 1/9) 9)) (PI.f32)))) (sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))))))
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (*.f32 (log.f32 (pow.f32 (exp.f32 1/3) 3)) (PI.f32)))) (sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))))))
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (fma.f32 (sqrt.f32 (+.f32 (PI.f32) 1)) (sqrt.f32 (+.f32 (PI.f32) 1)) -1))) (sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))))))
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (*.f32 (log.f32 (pow.f32 (exp.f32 1/3) 3)) (-.f32 (+.f32 (PI.f32) 1) 1)))) (sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))))))
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (*.f32 (log.f32 (E.f32)) (*.f32 (log.f32 (E.f32)) (PI.f32)))))) (sqrt.f32 (fma.f32 (fma.f32 ux maxCos (-.f32 1 ux)) (-.f32 -1 (*.f32 ux (+.f32 maxCos -1))) 1)))
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (*.f32 (log.f32 (pow.f32 (exp.f32 1/9) 9)) (*.f32 (log.f32 (E.f32)) (PI.f32))))) (sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))))))
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (*.f32 (log.f32 (pow.f32 (exp.f32 1/9) 9)) (PI.f32))))) (sqrt.f32 (fma.f32 (fma.f32 ux maxCos (-.f32 1 ux)) (-.f32 -1 (*.f32 ux (+.f32 maxCos -1))) 1)))
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (*.f32 (log.f32 (pow.f32 (exp.f32 1/3) 3)) (PI.f32))))) (sqrt.f32 (fma.f32 (fma.f32 ux maxCos (-.f32 1 ux)) (-.f32 -1 (*.f32 ux (+.f32 maxCos -1))) 1)))
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (fma.f32 (sqrt.f32 (+.f32 (PI.f32) 1)) (sqrt.f32 (+.f32 (PI.f32) 1)) -1)))) (sqrt.f32 (fma.f32 (fma.f32 ux maxCos (-.f32 1 ux)) (-.f32 -1 (*.f32 ux (+.f32 maxCos -1))) 1)))
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (*.f32 (log.f32 (pow.f32 (exp.f32 1/3) 3)) (-.f32 (+.f32 (PI.f32) 1) 1))))) (sqrt.f32 (fma.f32 (fma.f32 ux maxCos (-.f32 1 ux)) (-.f32 -1 (*.f32 ux (+.f32 maxCos -1))) 1)))
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (*.f32 (cbrt.f32 (cbrt.f32 (PI.f32))) (cbrt.f32 (pow.f32 (cbrt.f32 (PI.f32)) 8))))) (sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))))))
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (-.f32 (+.f32 (*.f32 (cbrt.f32 (cbrt.f32 (PI.f32))) (cbrt.f32 (pow.f32 (cbrt.f32 (PI.f32)) 8))) 1) 1))) (sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))))))
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (*.f32 (log.f32 (pow.f32 (exp.f32 1/9) 9)) (*.f32 (log.f32 (E.f32)) (PI.f32)))))) (sqrt.f32 (fma.f32 (fma.f32 ux maxCos (-.f32 1 ux)) (-.f32 -1 (*.f32 ux (+.f32 maxCos -1))) 1)))
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (*.f32 (log.f32 (pow.f32 (exp.f32 1/3) 3)) (fma.f32 (sqrt.f32 (+.f32 (PI.f32) 1)) (sqrt.f32 (+.f32 (PI.f32) 1)) -1)))) (sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))))))
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (*.f32 (cbrt.f32 (cbrt.f32 (PI.f32))) (cbrt.f32 (pow.f32 (cbrt.f32 (PI.f32)) 8)))))) (sqrt.f32 (fma.f32 (fma.f32 ux maxCos (-.f32 1 ux)) (-.f32 -1 (*.f32 ux (+.f32 maxCos -1))) 1)))
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (*.f32 (log.f32 (pow.f32 (exp.f32 1/9) 9)) (*.f32 (log.f32 (E.f32)) (*.f32 (log.f32 (E.f32)) (PI.f32))))))) (sqrt.f32 (fma.f32 (fma.f32 ux maxCos (-.f32 1 ux)) (-.f32 -1 (*.f32 ux (+.f32 maxCos -1))) 1)))
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (*.f32 (log.f32 (pow.f32 (exp.f32 1/9) 9)) (*.f32 (log.f32 (pow.f32 (exp.f32 1/9) 9)) (PI.f32)))))) (sqrt.f32 (fma.f32 (fma.f32 ux maxCos (-.f32 1 ux)) (-.f32 -1 (*.f32 ux (+.f32 maxCos -1))) 1)))
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (*.f32 (log.f32 (pow.f32 (exp.f32 1/3) 3)) (fma.f32 (sqrt.f32 (+.f32 (PI.f32) 1)) (sqrt.f32 (+.f32 (PI.f32) 1)) -1))))) (sqrt.f32 (fma.f32 (fma.f32 ux maxCos (-.f32 1 ux)) (-.f32 -1 (*.f32 ux (+.f32 maxCos -1))) 1)))
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (*.f32 (log.f32 (pow.f32 (exp.f32 1/9) 9)) (*.f32 (cbrt.f32 (cbrt.f32 (PI.f32))) (cbrt.f32 (pow.f32 (cbrt.f32 (PI.f32)) 8)))))) (sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))))))
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (*.f32 (log.f32 (pow.f32 (exp.f32 1/9) 9)) (*.f32 (cbrt.f32 (cbrt.f32 (PI.f32))) (cbrt.f32 (pow.f32 (cbrt.f32 (PI.f32)) 8))))))) (sqrt.f32 (fma.f32 (fma.f32 ux maxCos (-.f32 1 ux)) (-.f32 -1 (*.f32 ux (+.f32 maxCos -1))) 1)))
Outputs
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (*.f32 (log.f32 (E.f32)) (PI.f32))))) (sqrt.f32 (fma.f32 (fma.f32 ux maxCos (-.f32 1 ux)) (-.f32 -1 (*.f32 ux (+.f32 maxCos -1))) 1)))
Calls

11 calls:

85.0ms
(+.f32 (-.f32 1 ux) (*.f32 ux maxCos))
43.0ms
(-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))))
16.0ms
(*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)))
15.0ms
(*.f32 (*.f32 uy 2) (PI.f32))
15.0ms
uy
Results
AccuracySegmentsBranch
55.6%1ux
55.6%1uy
55.6%1maxCos
55.6%1(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))))))
55.6%1(cos.f32 (*.f32 (*.f32 uy 2) (PI.f32)))
55.6%1(*.f32 (*.f32 uy 2) (PI.f32))
55.6%1(*.f32 uy 2)
55.6%1(sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)))))
55.6%1(-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))))
55.6%1(*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)))
55.6%1(+.f32 (-.f32 1 ux) (*.f32 ux maxCos))
Compiler

Compiled 132 to 94 computations (28.8% saved)

regimes76.0ms (0.1%)

Counts
6 → 1
Calls
Call 1
Inputs
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))))))
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (-.f32 (+.f32 (PI.f32) 1) 1))) (sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))))))
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (*.f32 (log.f32 (E.f32)) (PI.f32)))) (sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))))))
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (fma.f32 (fma.f32 ux maxCos (-.f32 1 ux)) (-.f32 -1 (*.f32 ux (+.f32 maxCos -1))) 1)))
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (-.f32 (+.f32 (PI.f32) 1) 1)))) (sqrt.f32 (fma.f32 (fma.f32 ux maxCos (-.f32 1 ux)) (-.f32 -1 (*.f32 ux (+.f32 maxCos -1))) 1)))
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (*.f32 (log.f32 (E.f32)) (*.f32 (log.f32 (E.f32)) (PI.f32))))) (sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))))))
Outputs
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (fma.f32 (fma.f32 ux maxCos (-.f32 1 ux)) (-.f32 -1 (*.f32 ux (+.f32 maxCos -1))) 1)))
Calls

11 calls:

28.0ms
(*.f32 (*.f32 uy 2) (PI.f32))
7.0ms
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))))))
5.0ms
(*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)))
5.0ms
(*.f32 uy 2)
5.0ms
(+.f32 (-.f32 1 ux) (*.f32 ux maxCos))
Results
AccuracySegmentsBranch
55.5%1ux
55.5%1(sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)))))
55.5%1(-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))))
55.5%1(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))))))
55.5%1(cos.f32 (*.f32 (*.f32 uy 2) (PI.f32)))
55.5%1maxCos
55.5%1uy
55.5%1(*.f32 (*.f32 uy 2) (PI.f32))
55.5%1(*.f32 uy 2)
55.5%1(*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)))
55.5%1(+.f32 (-.f32 1 ux) (*.f32 ux maxCos))
Compiler

Compiled 132 to 94 computations (28.8% saved)

regimes43.0ms (0.1%)

Counts
3 → 1
Calls
Call 1
Inputs
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))))))
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (-.f32 (+.f32 (PI.f32) 1) 1))) (sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))))))
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (*.f32 (log.f32 (E.f32)) (PI.f32)))) (sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))))))
Outputs
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (*.f32 (log.f32 (E.f32)) (PI.f32)))) (sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))))))
Calls

11 calls:

6.0ms
maxCos
6.0ms
(+.f32 (-.f32 1 ux) (*.f32 ux maxCos))
4.0ms
(*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)))
4.0ms
(*.f32 uy 2)
4.0ms
(*.f32 (*.f32 uy 2) (PI.f32))
Results
AccuracySegmentsBranch
55.5%1ux
55.5%1(sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)))))
55.5%1(-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))))
55.5%1(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))))))
55.5%1(cos.f32 (*.f32 (*.f32 uy 2) (PI.f32)))
55.5%1maxCos
55.5%1uy
55.5%1(*.f32 (*.f32 uy 2) (PI.f32))
55.5%1(*.f32 uy 2)
55.5%1(*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)))
55.5%1(+.f32 (-.f32 1 ux) (*.f32 ux maxCos))
Compiler

Compiled 132 to 94 computations (28.8% saved)

regimes42.0ms (0.1%)

Accuracy

Total -0.0b remaining (-0.1%)

Threshold costs -0b (-0.1%)

Counts
2 → 1
Calls
Call 1
Inputs
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))))))
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (-.f32 (+.f32 (PI.f32) 1) 1))) (sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))))))
Outputs
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))))))
Calls

11 calls:

9.0ms
(+.f32 (-.f32 1 ux) (*.f32 ux maxCos))
6.0ms
(*.f32 (*.f32 uy 2) (PI.f32))
3.0ms
(*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)))
3.0ms
(*.f32 uy 2)
3.0ms
ux
Results
AccuracySegmentsBranch
55.5%1ux
55.5%1(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))))))
55.5%1(sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)))))
55.5%1(-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))))
55.5%1uy
55.5%1(*.f32 (*.f32 uy 2) (PI.f32))
55.5%1(*.f32 uy 2)
55.5%1(cos.f32 (*.f32 (*.f32 uy 2) (PI.f32)))
55.5%1maxCos
55.5%1(*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)))
55.5%1(+.f32 (-.f32 1 ux) (*.f32 ux maxCos))
Compiler

Compiled 132 to 94 computations (28.8% saved)

simplify19.0ms (0%)

Algorithm
egg-herbie
Rules
48×unsub-neg
32×distribute-lft-neg-in
29×neg-mul-1
24×*-commutative
21×distribute-neg-in
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
045394
178394
299394
3127394
4157394
5197394
6249394
7301394
8337394
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (*.f32 (log.f32 (E.f32)) (PI.f32))))) (sqrt.f32 (fma.f32 (fma.f32 ux maxCos (-.f32 1 ux)) (-.f32 -1 (*.f32 ux (+.f32 maxCos -1))) 1)))
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (fma.f32 (fma.f32 ux maxCos (-.f32 1 ux)) (-.f32 -1 (*.f32 ux (+.f32 maxCos -1))) 1)))
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (*.f32 (log.f32 (E.f32)) (PI.f32)))) (sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))))))
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))))))
Outputs
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (*.f32 (log.f32 (E.f32)) (PI.f32))))) (sqrt.f32 (fma.f32 (fma.f32 ux maxCos (-.f32 1 ux)) (-.f32 -1 (*.f32 ux (+.f32 maxCos -1))) 1)))
(*.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) (sqrt.f32 (fma.f32 (fma.f32 ux maxCos (-.f32 1 ux)) (-.f32 -1 (*.f32 ux (+.f32 maxCos -1))) 1)))
(*.f32 (sqrt.f32 (fma.f32 (fma.f32 ux maxCos (-.f32 1 ux)) (-.f32 -1 (*.f32 ux (+.f32 maxCos -1))) 1)) (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))))
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (*.f32 (log.f32 (E.f32)) (PI.f32)))) (sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))))))
(*.f32 (cos.f32 (*.f32 (*.f32 (log.f32 (E.f32)) (PI.f32)) (*.f32 uy 2))) (sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))))))
(*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))))))
(*.f32 (sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))))) (cos.f32 (*.f32 (PI.f32) (*.f32 uy 2))))
Compiler

Compiled 114 to 86 computations (24.6% saved)

soundness311.0ms (0.4%)

Rules
737×log1p-expm1-u
737×expm1-log1p-u
647×prod-diff
478×neg-sub0
461×log-prod
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0721142
12231034
2774973
33607967
47702967
036
1246
22346
323806
Stop Event
node limit
node limit
Compiler

Compiled 405 to 285 computations (29.6% saved)

end0.0ms (0%)

preprocess95.0ms (0.1%)

Remove

(abs uy)

Compiler

Compiled 556 to 410 computations (26.3% saved)

Profiling

Loading profile data...