UniformSampleCone, y

Time bar (total: 1.2min)

analyze252.0ms (0.4%)

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: 104.0ms
Operation ival-sub, time spent: 32.0ms, 31.0% of total-time
Operation ival-mult, time spent: 22.0ms, 21.0% of total-time
Operation ival-<=, time spent: 14.0ms, 14.0% of total-time
Operation ival-sin, time spent: 11.0ms, 11.0% of total-time
Operation ival-sqrt, time spent: 8.0ms, 8.0% of total-time
Operation ival-add, time spent: 6.0ms, 6.0% of total-time
Operation ival-pi, time spent: 5.0ms, 5.0% of total-time
Operation const, time spent: 3.0ms, 3.0% of total-time
Operation ival-and, time spent: 3.0ms, 3.0% of total-time

sample3.7s (5.1%)

Results
3.3s8255×0valid
0.0ms0valid
Precisions
Click to see histograms. Total time spent on operations: 1.7s
Operation ival-sub, time spent: 435.0ms, 25.0% of total-time
Operation ival-mult, time spent: 341.0ms, 20.0% of total-time
Operation ival-<=, time spent: 282.0ms, 16.0% of total-time
Operation ival-add, time spent: 274.0ms, 16.0% of total-time
Operation ival-sin, time spent: 142.0ms, 8.0% of total-time
Operation ival-sqrt, time spent: 110.0ms, 6.0% of total-time
Operation const, time spent: 63.0ms, 4.0% of total-time
Operation ival-and, time spent: 54.0ms, 3.0% of total-time
Operation ival-pi, time spent: 41.0ms, 2.0% of total-time
Bogosity

preprocess3.7s (5.2%)

Algorithm
egg-herbie
Rules
482×neg-sub0
440×distribute-neg-in
415×+-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-(sin.f32 (*.f32 (*.f32 uy 2) (PI.f32)))
00-0-(*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)))
00-0-uy
00-0-(*.f32 uy 2)
00-0-(*.f32 (sin.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 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
0721138
12231030
2774961
33605955
47724955
Stop Event
node limit
Calls
Call 1
Inputs
(*.f32 (sin.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 (sin.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 (sin.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 (sin.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 (sin.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 (sin.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 (sin.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 (sin.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 (sin.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 (sin.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 (sin.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 (sin.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 (sin.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 (sin.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 (sin.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 (sin.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 (sin.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 (sin.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 (sin.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 (sin.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 (sin.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 (sin.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 (sin.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 (sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos))))) (sin.f32 (*.f32 (PI.f32) (*.f32 2 (neg.f32 uy)))))
(*.f32 (sqrt.f32 (-.f32 1 (*.f32 (fma.f32 ux maxCos (-.f32 1 ux)) (fma.f32 ux maxCos (-.f32 1 ux))))) (sin.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)) (sin.f32 (*.f32 uy (*.f32 -2 (PI.f32)))))
(*.f32 (sqrt.f32 (fma.f32 (fma.f32 ux maxCos (-.f32 1 ux)) (-.f32 -1 (*.f32 ux (+.f32 maxCos -1))) 1)) (sin.f32 (*.f32 uy (*.f32 (PI.f32) -2))))
(*.f32 (sin.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 (sin.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 (sin.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 (sin.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 (sin.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 (sin.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 (sin.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)) (sin.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)) (sin.f32 (*.f32 uy (*.f32 (PI.f32) -2))))
(neg.f32 (*.f32 (sin.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 (sin.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 (sin.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 (sin.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)))
(neg.f32 (*.f32 (sin.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 (sin.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 (sin.f32 (*.f32 2 (*.f32 uy (PI.f32))))))
(*.f32 (sin.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 (sin.f32 (*.f32 uy (*.f32 (PI.f32) -2))) (sqrt.f32 (fma.f32 (+.f32 1 (*.f32 ux (-.f32 -1 maxCos))) (+.f32 ux (fma.f32 ux maxCos -1)) 1)))
(*.f32 (sin.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 (sin.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 (sin.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 (sin.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 (sin.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 (sin.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 (sin.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 (sin.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 (sin.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 (sin.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 (sin.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 (sin.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

(negabs uy)

Compiler

Compiled 252 to 146 computations (42.1% saved)

Precisions
Click to see histograms. Total time spent on operations: 2.2s
Operation ival-sub, time spent: 880.0ms, 40.0% of total-time
Operation ival-add, time spent: 519.0ms, 24.0% of total-time
Operation ival-mult, time spent: 361.0ms, 16.0% of total-time
Operation ival-sin, time spent: 242.0ms, 11.0% of total-time
Operation ival-sqrt, time spent: 130.0ms, 6.0% of total-time
Operation const, time spent: 55.0ms, 2.0% of total-time
Operation ival-pi, time spent: 18.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 (sin.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%
(*.f32 (sin.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: 2.0s
Operation ival-sub, time spent: 634.0ms, 32.0% of total-time
Operation ival-add, time spent: 444.0ms, 23.0% of total-time
Operation ival-mult, time spent: 350.0ms, 18.0% of total-time
Operation ival-sin, time spent: 218.0ms, 11.0% of total-time
Operation ival-fma, time spent: 156.0ms, 8.0% of total-time
Operation ival-sqrt, time spent: 98.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

rewrite322.0ms (0.4%)

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)

simplify81.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)

eval101.0ms (0.1%)

Compiler

Compiled 5395 to 3556 computations (34.1% saved)

prune39.0ms (0.1%)

Pruning

10 alts after pruning (8 fresh and 2 done)

PrunedKeptTotal
New1628170
Fresh000
Picked022
Done000
Total16210172
Accuracy
56.4%
Counts
172 → 10
Alt Table
Click to see full alt table
StatusAccuracyProgram
55.3%
(*.f32 (sin.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 (sin.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 (sin.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 (sin.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 (sin.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.4%
(*.f32 (sin.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 (sin.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 (sin.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 (sin.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.6%
(*.f32 (sin.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.5s (16%)

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: 8.3s
Operation ival-add, time spent: 2.0s, 24.0% of total-time
Operation ival-sub, time spent: 1.8s, 21.0% of total-time
Operation ival-mult, time spent: 1.0s, 13.0% of total-time
Operation ival-fma, time spent: 1.0s, 12.0% of total-time
Operation ival-sqrt, time spent: 577.0ms, 7.0% of total-time
Operation ival-sin, time spent: 529.0ms, 6.0% of total-time
Operation ival-log, time spent: 376.0ms, 5.0% of total-time
Operation ival-e, time spent: 307.0ms, 4.0% of total-time
Operation ival-cbrt, time spent: 248.0ms, 3.0% of total-time
Operation const, time spent: 213.0ms, 3.0% of total-time
Operation ival-pow, time spent: 192.0ms, 2.0% of total-time
Operation ival-pi, time spent: 11.0ms, 0.0% of total-time

series0.0ms (0%)

Counts
1 → 0

rewrite400.0ms (0.6%)

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)

simplify80.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.7%)

Compiler

Compiled 113964 to 79764 computations (30% saved)

prune311.0ms (0.4%)

Pruning

12 alts after pruning (7 fresh and 5 done)

PrunedKeptTotal
New305343057
Fresh033
Picked235
Done022
Total3055123067
Accuracy
56.5%
Counts
3067 → 12
Alt Table
Click to see full alt table
StatusAccuracyProgram
55.3%
(*.f32 (sin.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.3%
(*.f32 (sin.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 (sin.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 (sin.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 (sin.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 (sin.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 (sin.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 (sin.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.2%
(*.f32 (sin.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 (sin.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 (sin.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.6%
(*.f32 (sin.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)

localize17.2s (24%)

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.8s
Operation ival-exp, time spent: 3.8s, 28.0% of total-time
Operation ival-log, time spent: 3.1s, 22.0% of total-time
Operation ival-add, time spent: 1.6s, 12.0% of total-time
Operation ival-sub, time spent: 1.6s, 12.0% of total-time
Operation ival-mult, time spent: 1.1s, 8.0% of total-time
Operation ival-fma, time spent: 570.0ms, 4.0% of total-time
Operation ival-sin, time spent: 530.0ms, 4.0% of total-time
Operation ival-sqrt, time spent: 490.0ms, 4.0% of total-time
Operation ival-pow, time spent: 435.0ms, 3.0% of total-time
Operation ival-e, time spent: 265.0ms, 2.0% of total-time
Operation const, time spent: 219.0ms, 2.0% of total-time
Operation ival-pi, time spent: 11.0ms, 0.0% of total-time

eval2.2s (3.1%)

Compiler

Compiled 114376 to 77427 computations (32.3% saved)

prune327.0ms (0.5%)

Pruning

18 alts after pruning (9 fresh and 9 done)

PrunedKeptTotal
New303483042
Fresh112
Picked145
Done055
Total3036183054
Accuracy
56.8%
Counts
3054 → 18
Alt Table
Click to see full alt table
StatusAccuracyProgram
55.3%
(*.f32 (sin.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 (sin.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 (sin.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.1%
(*.f32 (sin.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 (sin.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 (sin.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 (sin.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 (sin.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.1%
(*.f32 (sin.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.2%
(*.f32 (sin.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.4%
(*.f32 (sin.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.3%
(*.f32 (sin.f32 (*.f32 uy (*.f32 2 (*.f32 (log.f32 (pow.f32 (exp.f32 1/9) 9)) (-.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.1%
(*.f32 (sin.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.0%
(*.f32 (sin.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.2%
(*.f32 (sin.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 (sin.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 (sin.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.6%
(*.f32 (sin.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 932 to 732 computations (21.5% saved)

localize21.6s (30.1%)

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 858 to 561 computations (34.6% saved)

Precisions
Click to see histograms. Total time spent on operations: 17.8s
Operation ival-exp, time spent: 5.2s, 29.0% of total-time
Operation ival-log, time spent: 3.7s, 21.0% of total-time
Operation ival-sub, time spent: 2.4s, 13.0% of total-time
Operation ival-add, time spent: 2.0s, 11.0% of total-time
Operation ival-mult, time spent: 1.2s, 7.0% of total-time
Operation ival-pow, time spent: 843.0ms, 5.0% of total-time
Operation ival-sqrt, time spent: 620.0ms, 3.0% of total-time
Operation ival-sin, time spent: 543.0ms, 3.0% of total-time
Operation ival-fma, time spent: 471.0ms, 3.0% of total-time
Operation ival-e, time spent: 304.0ms, 2.0% of total-time
Operation const, time spent: 284.0ms, 2.0% of total-time
Operation ival-cbrt, time spent: 279.0ms, 2.0% of total-time
Operation ival-pi, time spent: 10.0ms, 0.0% of total-time

eval3.2s (4.5%)

Compiler

Compiled 133110 to 92612 computations (30.4% saved)

prune504.0ms (0.7%)

Pruning

22 alts after pruning (9 fresh and 13 done)

PrunedKeptTotal
New313453139
Fresh044
Picked145
Done099
Total3135223157
Accuracy
56.8%
Counts
3157 → 22
Alt Table
Click to see full alt table
StatusAccuracyProgram
55.4%
(*.f32 (sin.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 (sin.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.2%
(*.f32 (sin.f32 (*.f32 (*.f32 uy 2) (*.f32 (log.f32 (pow.f32 (exp.f32 1/9) 9)) (-.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.0%
(*.f32 (sin.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))))))
54.9%
(*.f32 (sin.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.1%
(*.f32 (sin.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.3%
(*.f32 (sin.f32 (*.f32 (*.f32 uy 2) (*.f32 (log.f32 (E.f32)) (*.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.4%
(*.f32 (sin.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 (sin.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 (sin.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 (sin.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.1%
(*.f32 (sin.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.2%
(*.f32 (sin.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.4%
(*.f32 (sin.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)))
54.9%
(*.f32 (sin.f32 (*.f32 uy (*.f32 2 (*.f32 (log.f32 (pow.f32 (exp.f32 1/9) 9)) (-.f32 (+.f32 (*.f32 (cbrt.f32 (cbrt.f32 (PI.f32))) (cbrt.f32 (pow.f32 (cbrt.f32 (PI.f32)) 8))) 1) 1))))) (sqrt.f32 (fma.f32 (fma.f32 ux maxCos (-.f32 1 ux)) (-.f32 -1 (*.f32 ux (+.f32 maxCos -1))) 1)))
55.3%
(*.f32 (sin.f32 (*.f32 uy (*.f32 2 (*.f32 (log.f32 (pow.f32 (exp.f32 1/9) 9)) (-.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.1%
(*.f32 (sin.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.0%
(*.f32 (sin.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.2%
(*.f32 (sin.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 (sin.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 (sin.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.6%
(*.f32 (sin.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 1624 to 1178 computations (27.5% saved)

regimes244.0ms (0.3%)

Counts
27 → 1
Calls
Call 1
Inputs
(*.f32 (sin.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 (sin.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 (sin.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 (sin.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 (sin.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 (sin.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 (sin.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 (sin.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 (sin.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 (sin.f32 (*.f32 (*.f32 uy 2) (*.f32 (log.f32 (E.f32)) (*.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 (sin.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 (sin.f32 (*.f32 (*.f32 uy 2) (*.f32 (log.f32 (pow.f32 (exp.f32 1/9) 9)) (-.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 (sin.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 (sin.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 (sin.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 (sin.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 (sin.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 (sin.f32 (*.f32 uy (*.f32 2 (*.f32 (log.f32 (pow.f32 (exp.f32 1/9) 9)) (-.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 (sin.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 (sin.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 (sin.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 (sin.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 (sin.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 (sin.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 (sin.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 (sin.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)))
(*.f32 (sin.f32 (*.f32 uy (*.f32 2 (*.f32 (log.f32 (pow.f32 (exp.f32 1/9) 9)) (-.f32 (+.f32 (*.f32 (cbrt.f32 (cbrt.f32 (PI.f32))) (cbrt.f32 (pow.f32 (cbrt.f32 (PI.f32)) 8))) 1) 1))))) (sqrt.f32 (fma.f32 (fma.f32 ux maxCos (-.f32 1 ux)) (-.f32 -1 (*.f32 ux (+.f32 maxCos -1))) 1)))
Outputs
(*.f32 (sin.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:

73.0ms
(*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)))
37.0ms
maxCos
19.0ms
(sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)))))
16.0ms
(*.f32 (*.f32 uy 2) (PI.f32))
16.0ms
uy
Results
AccuracySegmentsBranch
55.6%1ux
55.6%1uy
55.6%1maxCos
55.6%1(*.f32 (sin.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(sin.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)

regimes51.0ms (0.1%)

Accuracy

Total -0.1b remaining (-0.7%)

Threshold costs -0.1b (-0.7%)

Counts
3 → 1
Calls
Call 1
Inputs
(*.f32 (sin.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 (sin.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 (sin.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 (sin.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
(sqrt.f32 (-.f32 1 (*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)))))
7.0ms
(*.f32 uy 2)
4.0ms
(sin.f32 (*.f32 (*.f32 uy 2) (PI.f32)))
4.0ms
(*.f32 (*.f32 uy 2) (PI.f32))
4.0ms
(*.f32 (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)))
Results
AccuracySegmentsBranch
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))
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%1uy
55.5%1(*.f32 (sin.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(*.f32 (*.f32 uy 2) (PI.f32))
55.5%1(*.f32 uy 2)
55.5%1(sin.f32 (*.f32 (*.f32 uy 2) (PI.f32)))
Compiler

Compiled 132 to 94 computations (28.8% saved)

simplify11.0ms (0%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
035185
161185
282185
3110185
4140185
5180185
6231185
7283185
8319185
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(*.f32 (sin.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 (sin.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 (sin.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 (sin.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 (sin.f32 (*.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))))))
Compiler

Compiled 54 to 40 computations (25.9% saved)

soundness120.0ms (0.2%)

Rules
482×neg-sub0
440×distribute-neg-in
415×+-commutative
339×distribute-rgt-in
314×distribute-lft-in
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0721138
12231030
2774961
33605955
47724955
Stop Event
node limit
Compiler

Compiled 156 to 98 computations (37.2% saved)

end0.0ms (0%)

preprocess60.0ms (0.1%)

Remove

(negabs uy)

Compiler

Compiled 314 to 232 computations (26.1% saved)

Profiling

Loading profile data...