Details

Time bar (total: 12.1s)

analyze1.0ms (0%)

Algorithm
search
Search
TrueOtherFalseIter
0%0%100%0
0%0%100%1
Compiler

Compiled 38 to 21 computations (44.7% saved)

sample2.2s (17.9%)

Results
2.1s8256×body256valid

preprocess129.0ms (1.1%)

Algorithm
egg-herbie
Rules
964×associate-/l/_binary32
713×associate-/l*_binary32
710×times-frac_binary32
519×associate-/r/_binary32
391×associate-*r/_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01872
14972
217372
373272
4244972
5321272
6321272
7442972
8468472
9480472
10481672
11481672
12482272
13482272
022
Stop Event
saturated
saturated
Calls
Call 1
Inputs
0
1
Outputs
0
1
Call 2
Inputs
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 tau (PI.f32)) x)) (*.f32 (*.f32 tau (PI.f32)) x)) (/.f32 (sin.f32 (*.f32 tau (PI.f32))) (*.f32 tau (PI.f32))))
Outputs
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
(*.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))) (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau))))
(*.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) x) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (*.f32 (PI.f32) (*.f32 (PI.f32) tau)))))
(*.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (/.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))) (*.f32 x (*.f32 (PI.f32) tau))))
(*.f32 (sin.f32 (*.f32 x (PI.f32))) (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 (PI.f32) (*.f32 (*.f32 x (PI.f32)) (*.f32 x tau)))))
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 tau (PI.f32)) x)) (*.f32 (*.f32 tau (PI.f32)) x)) (/.f32 (sin.f32 (*.f32 tau (PI.f32))) (*.f32 tau (PI.f32))))
(*.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau))) (/.f32 (sin.f32 (*.f32 (PI.f32) tau)) (*.f32 (PI.f32) tau)))
(/.f32 (*.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (/.f32 (sin.f32 (*.f32 (PI.f32) tau)) (*.f32 x (*.f32 (PI.f32) tau)))) (*.f32 (PI.f32) tau))
(*.f32 (sin.f32 (*.f32 (PI.f32) tau)) (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 (*.f32 x (PI.f32)) (*.f32 tau (*.f32 (PI.f32) tau)))))
(*.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (/.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) tau)) (*.f32 (PI.f32) tau)) (*.f32 x (*.f32 (PI.f32) tau))))
(*.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (/.f32 (sin.f32 (*.f32 (PI.f32) tau)) (*.f32 (*.f32 x (PI.f32)) (*.f32 tau (*.f32 (PI.f32) tau)))))
Compiler

Compiled 25 to 12 computations (52% saved)

simplify61.0ms (0.5%)

Algorithm
egg-herbie
Rules
750×associate-/l/_binary32
384×associate-/l*_binary32
281×times-frac_binary32
257×associate-/r/_binary32
151×associate-*r/_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01136
12436
28336
333436
4118736
5254036
6265936
7268936
8269936
9270336
10270536
11270536
Stop Event
saturated
Counts
1 → 2
Calls
Call 1
Inputs
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
Outputs
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
(*.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (PI.f32))) (/.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))) tau))
(/.f32 (*.f32 (sin.f32 (*.f32 x (PI.f32))) (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 x (PI.f32)))) (*.f32 (*.f32 x (PI.f32)) tau))
(/.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (*.f32 x (PI.f32))) (/.f32 tau (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32)))))
(*.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 (*.f32 x (PI.f32)) (*.f32 (PI.f32) (*.f32 x tau)))))

eval1.0ms (0%)

Compiler

Compiled 44 to 16 computations (63.6% saved)

prune2.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
0.6b
Counts
3 → 2
Alt Table
Click to see full alt table
StatusErrorProgram
0.8b
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
0.8b
(*.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 (*.f32 x (PI.f32)) (*.f32 (PI.f32) (*.f32 x tau)))))
Compiler

Compiled 46 to 21 computations (54.3% saved)

localize102.0ms (0.8%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.4b
(*.f32 (*.f32 x (PI.f32)) (*.f32 (PI.f32) (*.f32 x tau)))
0.4b
(*.f32 x (PI.f32))
0.4b
(*.f32 (PI.f32) (*.f32 x tau))
0.4b
(sin.f32 (*.f32 (PI.f32) (*.f32 x tau)))
Compiler

Compiled 70 to 11 computations (84.3% saved)

series25.0ms (0.2%)

Counts
4 → 84
Calls

21 calls:

TimeVariablePointExpression
3.0ms
tau
@0
(sin.f32 (*.f32 (PI.f32) (*.f32 x tau)))
2.0ms
tau
@0
(*.f32 (*.f32 x (PI.f32)) (*.f32 (PI.f32) (*.f32 x tau)))
2.0ms
x
@0
(sin.f32 (*.f32 (PI.f32) (*.f32 x tau)))
2.0ms
x
@0
(*.f32 (*.f32 x (PI.f32)) (*.f32 (PI.f32) (*.f32 x tau)))
2.0ms
x
@0
(*.f32 x (PI.f32))

rewrite92.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
912×pow1_binary32
834×add-log-exp_binary32
834×log1p-expm1-u_binary32
834×expm1-log1p-u_binary32
814×add-exp-log_binary32
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0938
118234
2228234
Stop Event
node limit
Counts
4 → 56
Calls
Call 1
Inputs
(sin.f32 (*.f32 (PI.f32) (*.f32 x tau)))
(*.f32 (PI.f32) (*.f32 x tau))
(*.f32 x (PI.f32))
(*.f32 (*.f32 x (PI.f32)) (*.f32 (PI.f32) (*.f32 x tau)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 1 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau)))) (cbrt.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) 2)) (cbrt.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau)))) (sqrt.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (exp.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau)))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 1 (*.f32 (PI.f32) (*.f32 x tau))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 (PI.f32) (*.f32 x tau)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (*.f32 (PI.f32) (*.f32 x tau)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (*.f32 (PI.f32) (*.f32 x tau))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (*.f32 (PI.f32) (*.f32 x tau))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (*.f32 (PI.f32) (*.f32 x tau)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (pow.f32 (exp.f32 (PI.f32)) (*.f32 x tau)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (*.f32 (PI.f32) (*.f32 x tau)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 (*.f32 x tau) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (*.f32 (pow.f32 (*.f32 x tau) 3) (pow.f32 (PI.f32) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (*.f32 (pow.f32 (*.f32 (PI.f32) x) 3) (pow.f32 tau 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (*.f32 (PI.f32) (*.f32 x tau))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (*.f32 (PI.f32) (*.f32 x tau))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (*.f32 (PI.f32) (*.f32 x tau))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 1 (*.f32 (PI.f32) x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 (PI.f32) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (*.f32 (PI.f32) x) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (*.f32 (PI.f32) x)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (*.f32 (PI.f32) x)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (*.f32 (PI.f32) x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (pow.f32 (exp.f32 (PI.f32)) x))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (*.f32 (PI.f32) x) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (*.f32 (pow.f32 x 3) (pow.f32 (PI.f32) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (*.f32 (PI.f32) x)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (*.f32 (PI.f32) x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (*.f32 (PI.f32) x)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 1 (*.f32 (pow.f32 (*.f32 (PI.f32) x) 2) tau)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 (pow.f32 (*.f32 (PI.f32) x) 2) tau) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (*.f32 (pow.f32 (*.f32 (PI.f32) x) 2) tau) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (*.f32 (pow.f32 (*.f32 (PI.f32) x) 2) tau)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (*.f32 (pow.f32 (*.f32 (PI.f32) x) 2) tau)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (*.f32 (pow.f32 (*.f32 (PI.f32) x) 2) tau) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (exp.f32 (*.f32 (pow.f32 (*.f32 (PI.f32) x) 2) tau)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (*.f32 (pow.f32 (*.f32 (PI.f32) x) 2) tau) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (*.f32 (pow.f32 (*.f32 (PI.f32) (*.f32 x tau)) 3) (pow.f32 (*.f32 (PI.f32) x) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (*.f32 (pow.f32 (*.f32 (PI.f32) x) 3) (pow.f32 (*.f32 (PI.f32) (*.f32 x tau)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (*.f32 (pow.f32 (*.f32 (PI.f32) x) 2) tau)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (*.f32 (pow.f32 (*.f32 (PI.f32) x) 2) tau)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (*.f32 (pow.f32 (*.f32 (PI.f32) x) 2) tau)))))))

simplify334.0ms (2.8%)

Algorithm
egg-herbie
Rules
1443×unswap-sqr_binary32
1014×sqr-pow_binary32
585×associate-*l*_binary32
480×associate-*r*_binary32
413×pow-sqr_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0571052
11841052
25421052
328071052
429291052
530801052
635201052
740521052
842861052
945511052
1048871052
1153041052
1257971052
1363981052
1466181052
1568081052
1669361052
1770561052
1871101052
Stop Event
node limit
Counts
140 → 73
Calls
Call 1
Inputs
(*.f32 tau (*.f32 x (PI.f32)))
(+.f32 (*.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3)))) (*.f32 tau (*.f32 x (PI.f32))))
(+.f32 (*.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3)))) (+.f32 (*.f32 1/120 (*.f32 (pow.f32 tau 5) (*.f32 (pow.f32 (PI.f32) 5) (pow.f32 x 5)))) (*.f32 tau (*.f32 x (PI.f32)))))
(+.f32 (*.f32 -1/5040 (*.f32 (pow.f32 tau 7) (*.f32 (pow.f32 (PI.f32) 7) (pow.f32 x 7)))) (+.f32 (*.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3)))) (+.f32 (*.f32 1/120 (*.f32 (pow.f32 tau 5) (*.f32 (pow.f32 (PI.f32) 5) (pow.f32 x 5)))) (*.f32 tau (*.f32 x (PI.f32))))))
(sin.f32 (*.f32 tau (*.f32 x (PI.f32))))
(sin.f32 (*.f32 tau (*.f32 x (PI.f32))))
(sin.f32 (*.f32 tau (*.f32 x (PI.f32))))
(sin.f32 (*.f32 tau (*.f32 x (PI.f32))))
(sin.f32 (*.f32 tau (*.f32 (PI.f32) x)))
(sin.f32 (*.f32 tau (*.f32 (PI.f32) x)))
(sin.f32 (*.f32 tau (*.f32 (PI.f32) x)))
(sin.f32 (*.f32 tau (*.f32 (PI.f32) x)))
(*.f32 tau (*.f32 (PI.f32) x))
(+.f32 (*.f32 tau (*.f32 (PI.f32) x)) (*.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 x 3) (pow.f32 (PI.f32) 3)))))
(+.f32 (*.f32 tau (*.f32 (PI.f32) x)) (+.f32 (*.f32 1/120 (*.f32 (pow.f32 tau 5) (*.f32 (pow.f32 x 5) (pow.f32 (PI.f32) 5)))) (*.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 x 3) (pow.f32 (PI.f32) 3))))))
(+.f32 (*.f32 tau (*.f32 (PI.f32) x)) (+.f32 (*.f32 -1/5040 (*.f32 (pow.f32 tau 7) (*.f32 (pow.f32 x 7) (pow.f32 (PI.f32) 7)))) (+.f32 (*.f32 1/120 (*.f32 (pow.f32 tau 5) (*.f32 (pow.f32 x 5) (pow.f32 (PI.f32) 5)))) (*.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 x 3) (pow.f32 (PI.f32) 3)))))))
(sin.f32 (*.f32 tau (*.f32 x (PI.f32))))
(sin.f32 (*.f32 tau (*.f32 x (PI.f32))))
(sin.f32 (*.f32 tau (*.f32 x (PI.f32))))
(sin.f32 (*.f32 tau (*.f32 x (PI.f32))))
(sin.f32 (*.f32 tau (*.f32 (PI.f32) x)))
(sin.f32 (*.f32 tau (*.f32 (PI.f32) x)))
(sin.f32 (*.f32 tau (*.f32 (PI.f32) x)))
(sin.f32 (*.f32 tau (*.f32 (PI.f32) x)))
(*.f32 tau (*.f32 x (PI.f32)))
(*.f32 tau (*.f32 x (PI.f32)))
(*.f32 tau (*.f32 x (PI.f32)))
(*.f32 tau (*.f32 x (PI.f32)))
(*.f32 tau (*.f32 x (PI.f32)))
(*.f32 tau (*.f32 x (PI.f32)))
(*.f32 tau (*.f32 x (PI.f32)))
(*.f32 tau (*.f32 x (PI.f32)))
(*.f32 tau (*.f32 x (PI.f32)))
(*.f32 tau (*.f32 x (PI.f32)))
(*.f32 tau (*.f32 x (PI.f32)))
(*.f32 tau (*.f32 x (PI.f32)))
(*.f32 tau (*.f32 x (PI.f32)))
(*.f32 tau (*.f32 x (PI.f32)))
(*.f32 tau (*.f32 x (PI.f32)))
(*.f32 tau (*.f32 x (PI.f32)))
(*.f32 tau (*.f32 x (PI.f32)))
(*.f32 tau (*.f32 x (PI.f32)))
(*.f32 tau (*.f32 x (PI.f32)))
(*.f32 tau (*.f32 x (PI.f32)))
(*.f32 tau (*.f32 x (PI.f32)))
(*.f32 tau (*.f32 x (PI.f32)))
(*.f32 tau (*.f32 x (PI.f32)))
(*.f32 tau (*.f32 x (PI.f32)))
(*.f32 (PI.f32) x)
(*.f32 (PI.f32) x)
(*.f32 (PI.f32) x)
(*.f32 (PI.f32) x)
(*.f32 (PI.f32) x)
(*.f32 (PI.f32) x)
(*.f32 (PI.f32) x)
(*.f32 (PI.f32) x)
(*.f32 (PI.f32) x)
(*.f32 (PI.f32) x)
(*.f32 (PI.f32) x)
(*.f32 (PI.f32) x)
(*.f32 tau (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2)))
(*.f32 tau (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2)))
(*.f32 tau (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2)))
(*.f32 tau (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2)))
(*.f32 tau (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2)))
(*.f32 tau (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2)))
(*.f32 tau (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2)))
(*.f32 tau (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2)))
(*.f32 tau (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2)))
(*.f32 tau (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2)))
(*.f32 tau (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2)))
(*.f32 tau (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2)))
(*.f32 tau (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2)))
(*.f32 tau (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2)))
(*.f32 tau (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2)))
(*.f32 tau (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2)))
(*.f32 tau (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2)))
(*.f32 tau (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2)))
(*.f32 tau (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2)))
(*.f32 tau (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2)))
(*.f32 tau (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2)))
(*.f32 tau (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2)))
(*.f32 tau (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2)))
(*.f32 tau (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2)))
Outputs
(*.f32 tau (*.f32 x (PI.f32)))
(+.f32 (*.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3)))) (*.f32 tau (*.f32 x (PI.f32))))
(fma.f32 tau (*.f32 x (PI.f32)) (*.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3)))))
(fma.f32 tau (*.f32 x (PI.f32)) (*.f32 (pow.f32 (PI.f32) 3) (*.f32 (pow.f32 x 3) (*.f32 -1/6 (pow.f32 tau 3)))))
(fma.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (*.f32 -1/6 (pow.f32 x 3))) (*.f32 tau (*.f32 x (PI.f32))))
(+.f32 (*.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3)))) (+.f32 (*.f32 1/120 (*.f32 (pow.f32 tau 5) (*.f32 (pow.f32 (PI.f32) 5) (pow.f32 x 5)))) (*.f32 tau (*.f32 x (PI.f32)))))
(fma.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3))) (fma.f32 1/120 (*.f32 (pow.f32 tau 5) (*.f32 (pow.f32 (PI.f32) 5) (pow.f32 x 5))) (*.f32 tau (*.f32 x (PI.f32)))))
(fma.f32 tau (*.f32 x (PI.f32)) (fma.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (*.f32 -1/6 (pow.f32 x 3))) (*.f32 (pow.f32 (PI.f32) 5) (*.f32 (pow.f32 tau 5) (*.f32 1/120 (pow.f32 x 5))))))
(fma.f32 tau (*.f32 x (PI.f32)) (fma.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (*.f32 -1/6 (pow.f32 x 3))) (*.f32 (pow.f32 x 5) (*.f32 1/120 (*.f32 (pow.f32 tau 5) (pow.f32 (PI.f32) 5))))))
(+.f32 (*.f32 -1/5040 (*.f32 (pow.f32 tau 7) (*.f32 (pow.f32 (PI.f32) 7) (pow.f32 x 7)))) (+.f32 (*.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3)))) (+.f32 (*.f32 1/120 (*.f32 (pow.f32 tau 5) (*.f32 (pow.f32 (PI.f32) 5) (pow.f32 x 5)))) (*.f32 tau (*.f32 x (PI.f32))))))
(fma.f32 -1/5040 (*.f32 (pow.f32 tau 7) (*.f32 (pow.f32 (PI.f32) 7) (pow.f32 x 7))) (fma.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3))) (fma.f32 1/120 (*.f32 (pow.f32 tau 5) (*.f32 (pow.f32 (PI.f32) 5) (pow.f32 x 5))) (*.f32 tau (*.f32 x (PI.f32))))))
(fma.f32 tau (*.f32 x (PI.f32)) (fma.f32 -1/5040 (*.f32 (pow.f32 tau 7) (*.f32 (pow.f32 (PI.f32) 7) (pow.f32 x 7))) (fma.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3))) (*.f32 1/120 (*.f32 (pow.f32 tau 5) (*.f32 (pow.f32 (PI.f32) 5) (pow.f32 x 5)))))))
(fma.f32 tau (*.f32 x (PI.f32)) (fma.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3))) (fma.f32 (pow.f32 tau 5) (*.f32 1/120 (*.f32 (pow.f32 (PI.f32) 5) (pow.f32 x 5))) (*.f32 (pow.f32 tau 7) (*.f32 (pow.f32 (PI.f32) 7) (*.f32 -1/5040 (pow.f32 x 7)))))))
(fma.f32 tau (*.f32 x (PI.f32)) (fma.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3))) (fma.f32 (pow.f32 tau 7) (*.f32 (pow.f32 (PI.f32) 7) (*.f32 -1/5040 (pow.f32 x 7))) (*.f32 (pow.f32 x 5) (*.f32 1/120 (*.f32 (pow.f32 tau 5) (pow.f32 (PI.f32) 5)))))))
(sin.f32 (*.f32 tau (*.f32 x (PI.f32))))
(sin.f32 (*.f32 tau (*.f32 x (PI.f32))))
(sin.f32 (*.f32 tau (*.f32 x (PI.f32))))
(sin.f32 (*.f32 tau (*.f32 x (PI.f32))))
(sin.f32 (*.f32 tau (*.f32 (PI.f32) x)))
(sin.f32 (*.f32 tau (*.f32 x (PI.f32))))
(sin.f32 (*.f32 tau (*.f32 (PI.f32) x)))
(sin.f32 (*.f32 tau (*.f32 x (PI.f32))))
(sin.f32 (*.f32 tau (*.f32 (PI.f32) x)))
(sin.f32 (*.f32 tau (*.f32 x (PI.f32))))
(sin.f32 (*.f32 tau (*.f32 (PI.f32) x)))
(sin.f32 (*.f32 tau (*.f32 x (PI.f32))))
(*.f32 tau (*.f32 (PI.f32) x))
(*.f32 tau (*.f32 x (PI.f32)))
(+.f32 (*.f32 tau (*.f32 (PI.f32) x)) (*.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 x 3) (pow.f32 (PI.f32) 3)))))
(fma.f32 tau (*.f32 x (PI.f32)) (*.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3)))))
(fma.f32 tau (*.f32 x (PI.f32)) (*.f32 (pow.f32 (PI.f32) 3) (*.f32 (pow.f32 x 3) (*.f32 -1/6 (pow.f32 tau 3)))))
(fma.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (*.f32 -1/6 (pow.f32 x 3))) (*.f32 tau (*.f32 x (PI.f32))))
(+.f32 (*.f32 tau (*.f32 (PI.f32) x)) (+.f32 (*.f32 1/120 (*.f32 (pow.f32 tau 5) (*.f32 (pow.f32 x 5) (pow.f32 (PI.f32) 5)))) (*.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 x 3) (pow.f32 (PI.f32) 3))))))
(fma.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3))) (fma.f32 1/120 (*.f32 (pow.f32 tau 5) (*.f32 (pow.f32 (PI.f32) 5) (pow.f32 x 5))) (*.f32 tau (*.f32 x (PI.f32)))))
(fma.f32 tau (*.f32 x (PI.f32)) (fma.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (*.f32 -1/6 (pow.f32 x 3))) (*.f32 (pow.f32 (PI.f32) 5) (*.f32 (pow.f32 tau 5) (*.f32 1/120 (pow.f32 x 5))))))
(fma.f32 tau (*.f32 x (PI.f32)) (fma.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (*.f32 -1/6 (pow.f32 x 3))) (*.f32 (pow.f32 x 5) (*.f32 1/120 (*.f32 (pow.f32 tau 5) (pow.f32 (PI.f32) 5))))))
(+.f32 (*.f32 tau (*.f32 (PI.f32) x)) (+.f32 (*.f32 -1/5040 (*.f32 (pow.f32 tau 7) (*.f32 (pow.f32 x 7) (pow.f32 (PI.f32) 7)))) (+.f32 (*.f32 1/120 (*.f32 (pow.f32 tau 5) (*.f32 (pow.f32 x 5) (pow.f32 (PI.f32) 5)))) (*.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 x 3) (pow.f32 (PI.f32) 3)))))))
(fma.f32 -1/5040 (*.f32 (pow.f32 tau 7) (*.f32 (pow.f32 (PI.f32) 7) (pow.f32 x 7))) (fma.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3))) (fma.f32 1/120 (*.f32 (pow.f32 tau 5) (*.f32 (pow.f32 (PI.f32) 5) (pow.f32 x 5))) (*.f32 tau (*.f32 x (PI.f32))))))
(fma.f32 tau (*.f32 x (PI.f32)) (fma.f32 -1/5040 (*.f32 (pow.f32 tau 7) (*.f32 (pow.f32 (PI.f32) 7) (pow.f32 x 7))) (fma.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3))) (*.f32 1/120 (*.f32 (pow.f32 tau 5) (*.f32 (pow.f32 (PI.f32) 5) (pow.f32 x 5)))))))
(fma.f32 tau (*.f32 x (PI.f32)) (fma.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3))) (fma.f32 (pow.f32 tau 5) (*.f32 1/120 (*.f32 (pow.f32 (PI.f32) 5) (pow.f32 x 5))) (*.f32 (pow.f32 tau 7) (*.f32 (pow.f32 (PI.f32) 7) (*.f32 -1/5040 (pow.f32 x 7)))))))
(fma.f32 tau (*.f32 x (PI.f32)) (fma.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3))) (fma.f32 (pow.f32 tau 7) (*.f32 (pow.f32 (PI.f32) 7) (*.f32 -1/5040 (pow.f32 x 7))) (*.f32 (pow.f32 x 5) (*.f32 1/120 (*.f32 (pow.f32 tau 5) (pow.f32 (PI.f32) 5)))))))
(sin.f32 (*.f32 tau (*.f32 x (PI.f32))))
(sin.f32 (*.f32 tau (*.f32 x (PI.f32))))
(sin.f32 (*.f32 tau (*.f32 x (PI.f32))))
(sin.f32 (*.f32 tau (*.f32 x (PI.f32))))
(sin.f32 (*.f32 tau (*.f32 (PI.f32) x)))
(sin.f32 (*.f32 tau (*.f32 x (PI.f32))))
(sin.f32 (*.f32 tau (*.f32 (PI.f32) x)))
(sin.f32 (*.f32 tau (*.f32 x (PI.f32))))
(sin.f32 (*.f32 tau (*.f32 (PI.f32) x)))
(sin.f32 (*.f32 tau (*.f32 x (PI.f32))))
(sin.f32 (*.f32 tau (*.f32 (PI.f32) x)))
(sin.f32 (*.f32 tau (*.f32 x (PI.f32))))
(*.f32 tau (*.f32 x (PI.f32)))
(*.f32 tau (*.f32 x (PI.f32)))
(*.f32 tau (*.f32 x (PI.f32)))
(*.f32 tau (*.f32 x (PI.f32)))
(*.f32 tau (*.f32 x (PI.f32)))
(*.f32 tau (*.f32 x (PI.f32)))
(*.f32 tau (*.f32 x (PI.f32)))
(*.f32 tau (*.f32 x (PI.f32)))
(*.f32 tau (*.f32 x (PI.f32)))
(*.f32 tau (*.f32 x (PI.f32)))
(*.f32 tau (*.f32 x (PI.f32)))
(*.f32 tau (*.f32 x (PI.f32)))
(*.f32 tau (*.f32 x (PI.f32)))
(*.f32 tau (*.f32 x (PI.f32)))
(*.f32 tau (*.f32 x (PI.f32)))
(*.f32 tau (*.f32 x (PI.f32)))
(*.f32 tau (*.f32 x (PI.f32)))
(*.f32 tau (*.f32 x (PI.f32)))
(*.f32 tau (*.f32 x (PI.f32)))
(*.f32 tau (*.f32 x (PI.f32)))
(*.f32 tau (*.f32 x (PI.f32)))
(*.f32 tau (*.f32 x (PI.f32)))
(*.f32 tau (*.f32 x (PI.f32)))
(*.f32 tau (*.f32 x (PI.f32)))
(*.f32 (PI.f32) x)
(*.f32 x (PI.f32))
(*.f32 (PI.f32) x)
(*.f32 x (PI.f32))
(*.f32 (PI.f32) x)
(*.f32 x (PI.f32))
(*.f32 (PI.f32) x)
(*.f32 x (PI.f32))
(*.f32 (PI.f32) x)
(*.f32 x (PI.f32))
(*.f32 (PI.f32) x)
(*.f32 x (PI.f32))
(*.f32 (PI.f32) x)
(*.f32 x (PI.f32))
(*.f32 (PI.f32) x)
(*.f32 x (PI.f32))
(*.f32 (PI.f32) x)
(*.f32 x (PI.f32))
(*.f32 (PI.f32) x)
(*.f32 x (PI.f32))
(*.f32 (PI.f32) x)
(*.f32 x (PI.f32))
(*.f32 (PI.f32) x)
(*.f32 x (PI.f32))
(*.f32 tau (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2)))
(*.f32 tau (*.f32 (*.f32 x x) (pow.f32 (PI.f32) 2)))
(*.f32 tau (*.f32 x (*.f32 x (pow.f32 (PI.f32) 2))))
(*.f32 (*.f32 x x) (*.f32 tau (pow.f32 (PI.f32) 2)))
(*.f32 tau (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2)))
(*.f32 tau (*.f32 (*.f32 x x) (pow.f32 (PI.f32) 2)))
(*.f32 tau (*.f32 x (*.f32 x (pow.f32 (PI.f32) 2))))
(*.f32 (*.f32 x x) (*.f32 tau (pow.f32 (PI.f32) 2)))
(*.f32 tau (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2)))
(*.f32 tau (*.f32 (*.f32 x x) (pow.f32 (PI.f32) 2)))
(*.f32 tau (*.f32 x (*.f32 x (pow.f32 (PI.f32) 2))))
(*.f32 (*.f32 x x) (*.f32 tau (pow.f32 (PI.f32) 2)))
(*.f32 tau (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2)))
(*.f32 tau (*.f32 (*.f32 x x) (pow.f32 (PI.f32) 2)))
(*.f32 tau (*.f32 x (*.f32 x (pow.f32 (PI.f32) 2))))
(*.f32 (*.f32 x x) (*.f32 tau (pow.f32 (PI.f32) 2)))
(*.f32 tau (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2)))
(*.f32 tau (*.f32 (*.f32 x x) (pow.f32 (PI.f32) 2)))
(*.f32 tau (*.f32 x (*.f32 x (pow.f32 (PI.f32) 2))))
(*.f32 (*.f32 x x) (*.f32 tau (pow.f32 (PI.f32) 2)))
(*.f32 tau (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2)))
(*.f32 tau (*.f32 (*.f32 x x) (pow.f32 (PI.f32) 2)))
(*.f32 tau (*.f32 x (*.f32 x (pow.f32 (PI.f32) 2))))
(*.f32 (*.f32 x x) (*.f32 tau (pow.f32 (PI.f32) 2)))
(*.f32 tau (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2)))
(*.f32 tau (*.f32 (*.f32 x x) (pow.f32 (PI.f32) 2)))
(*.f32 tau (*.f32 x (*.f32 x (pow.f32 (PI.f32) 2))))
(*.f32 (*.f32 x x) (*.f32 tau (pow.f32 (PI.f32) 2)))
(*.f32 tau (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2)))
(*.f32 tau (*.f32 (*.f32 x x) (pow.f32 (PI.f32) 2)))
(*.f32 tau (*.f32 x (*.f32 x (pow.f32 (PI.f32) 2))))
(*.f32 (*.f32 x x) (*.f32 tau (pow.f32 (PI.f32) 2)))
(*.f32 tau (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2)))
(*.f32 tau (*.f32 (*.f32 x x) (pow.f32 (PI.f32) 2)))
(*.f32 tau (*.f32 x (*.f32 x (pow.f32 (PI.f32) 2))))
(*.f32 (*.f32 x x) (*.f32 tau (pow.f32 (PI.f32) 2)))
(*.f32 tau (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2)))
(*.f32 tau (*.f32 (*.f32 x x) (pow.f32 (PI.f32) 2)))
(*.f32 tau (*.f32 x (*.f32 x (pow.f32 (PI.f32) 2))))
(*.f32 (*.f32 x x) (*.f32 tau (pow.f32 (PI.f32) 2)))
(*.f32 tau (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2)))
(*.f32 tau (*.f32 (*.f32 x x) (pow.f32 (PI.f32) 2)))
(*.f32 tau (*.f32 x (*.f32 x (pow.f32 (PI.f32) 2))))
(*.f32 (*.f32 x x) (*.f32 tau (pow.f32 (PI.f32) 2)))
(*.f32 tau (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2)))
(*.f32 tau (*.f32 (*.f32 x x) (pow.f32 (PI.f32) 2)))
(*.f32 tau (*.f32 x (*.f32 x (pow.f32 (PI.f32) 2))))
(*.f32 (*.f32 x x) (*.f32 tau (pow.f32 (PI.f32) 2)))
(*.f32 tau (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2)))
(*.f32 tau (*.f32 (*.f32 x x) (pow.f32 (PI.f32) 2)))
(*.f32 tau (*.f32 x (*.f32 x (pow.f32 (PI.f32) 2))))
(*.f32 (*.f32 x x) (*.f32 tau (pow.f32 (PI.f32) 2)))
(*.f32 tau (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2)))
(*.f32 tau (*.f32 (*.f32 x x) (pow.f32 (PI.f32) 2)))
(*.f32 tau (*.f32 x (*.f32 x (pow.f32 (PI.f32) 2))))
(*.f32 (*.f32 x x) (*.f32 tau (pow.f32 (PI.f32) 2)))
(*.f32 tau (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2)))
(*.f32 tau (*.f32 (*.f32 x x) (pow.f32 (PI.f32) 2)))
(*.f32 tau (*.f32 x (*.f32 x (pow.f32 (PI.f32) 2))))
(*.f32 (*.f32 x x) (*.f32 tau (pow.f32 (PI.f32) 2)))
(*.f32 tau (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2)))
(*.f32 tau (*.f32 (*.f32 x x) (pow.f32 (PI.f32) 2)))
(*.f32 tau (*.f32 x (*.f32 x (pow.f32 (PI.f32) 2))))
(*.f32 (*.f32 x x) (*.f32 tau (pow.f32 (PI.f32) 2)))
(*.f32 tau (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2)))
(*.f32 tau (*.f32 (*.f32 x x) (pow.f32 (PI.f32) 2)))
(*.f32 tau (*.f32 x (*.f32 x (pow.f32 (PI.f32) 2))))
(*.f32 (*.f32 x x) (*.f32 tau (pow.f32 (PI.f32) 2)))
(*.f32 tau (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2)))
(*.f32 tau (*.f32 (*.f32 x x) (pow.f32 (PI.f32) 2)))
(*.f32 tau (*.f32 x (*.f32 x (pow.f32 (PI.f32) 2))))
(*.f32 (*.f32 x x) (*.f32 tau (pow.f32 (PI.f32) 2)))
(*.f32 tau (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2)))
(*.f32 tau (*.f32 (*.f32 x x) (pow.f32 (PI.f32) 2)))
(*.f32 tau (*.f32 x (*.f32 x (pow.f32 (PI.f32) 2))))
(*.f32 (*.f32 x x) (*.f32 tau (pow.f32 (PI.f32) 2)))
(*.f32 tau (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2)))
(*.f32 tau (*.f32 (*.f32 x x) (pow.f32 (PI.f32) 2)))
(*.f32 tau (*.f32 x (*.f32 x (pow.f32 (PI.f32) 2))))
(*.f32 (*.f32 x x) (*.f32 tau (pow.f32 (PI.f32) 2)))
(*.f32 tau (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2)))
(*.f32 tau (*.f32 (*.f32 x x) (pow.f32 (PI.f32) 2)))
(*.f32 tau (*.f32 x (*.f32 x (pow.f32 (PI.f32) 2))))
(*.f32 (*.f32 x x) (*.f32 tau (pow.f32 (PI.f32) 2)))
(*.f32 tau (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2)))
(*.f32 tau (*.f32 (*.f32 x x) (pow.f32 (PI.f32) 2)))
(*.f32 tau (*.f32 x (*.f32 x (pow.f32 (PI.f32) 2))))
(*.f32 (*.f32 x x) (*.f32 tau (pow.f32 (PI.f32) 2)))
(*.f32 tau (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2)))
(*.f32 tau (*.f32 (*.f32 x x) (pow.f32 (PI.f32) 2)))
(*.f32 tau (*.f32 x (*.f32 x (pow.f32 (PI.f32) 2))))
(*.f32 (*.f32 x x) (*.f32 tau (pow.f32 (PI.f32) 2)))
(*.f32 tau (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2)))
(*.f32 tau (*.f32 (*.f32 x x) (pow.f32 (PI.f32) 2)))
(*.f32 tau (*.f32 x (*.f32 x (pow.f32 (PI.f32) 2))))
(*.f32 (*.f32 x x) (*.f32 tau (pow.f32 (PI.f32) 2)))

localize61.0ms (0.5%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.4b
(*.f32 x (PI.f32))
0.4b
(/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32)))
0.4b
(sin.f32 (*.f32 (*.f32 x (PI.f32)) tau))
0.5b
(/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau))
Compiler

Compiled 64 to 10 computations (84.4% saved)

series12.0ms (0.1%)

Counts
3 → 56
Calls

15 calls:

TimeVariablePointExpression
2.0ms
x
@inf
(/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau))
1.0ms
tau
@0
(/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau))
1.0ms
x
@-inf
(/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau))
1.0ms
tau
@-inf
(/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau))
1.0ms
tau
@inf
(/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau))

rewrite129.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
720×prod-diff_binary32
675×log-prod_binary32
298×pow2_binary32
238×pow-unpow_binary32
213×pow1/3_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01044
121344
2311444
Stop Event
node limit
Counts
3 → 118
Calls
Call 1
Inputs
(/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau))
(sin.f32 (*.f32 (*.f32 x (PI.f32)) tau))
(/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (pow.f32 (cbrt.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau))))) 2)) (log.f32 (cbrt.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (sqrt.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau)))))) (log.f32 (sqrt.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (/.f32 (/.f32 (/.f32 1 x) (PI.f32)) tau))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau)))) (cbrt.f32 (pow.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (pow.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau))) 2)) (cbrt.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) 2) (*.f32 (cbrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) (/.f32 (/.f32 (/.f32 1 x) (PI.f32)) tau)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau)))) (sqrt.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) (*.f32 (sqrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) (/.f32 (/.f32 (/.f32 1 x) (PI.f32)) tau)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (neg.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) (/.f32 1 (*.f32 (*.f32 x (PI.f32)) (neg.f32 tau))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (/.f32 1 x) (PI.f32)) (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) tau))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (/.f32 (/.f32 1 x) (PI.f32)) tau) (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (PI.f32))) (/.f32 1 tau))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1 x) (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 (PI.f32) tau)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (pow.f32 (cbrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) 2) x) (/.f32 (cbrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) (*.f32 (PI.f32) tau)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (sqrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) x) (/.f32 (sqrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) (*.f32 (PI.f32) tau)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (pow.f32 (cbrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) 2) (*.f32 x (PI.f32))) (/.f32 (cbrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) tau))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (sqrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) (*.f32 x (PI.f32))) (/.f32 (sqrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) tau))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (sqrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) tau) (/.f32 (sqrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) (*.f32 x (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1 tau) (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (pow.f32 (cbrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) 2) tau) (/.f32 (cbrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) (*.f32 x (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (pow.f32 (cbrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) 2) 1) (/.f32 (cbrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) (*.f32 x (*.f32 (PI.f32) tau))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (sqrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) 1) (/.f32 (sqrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) (*.f32 x (*.f32 (PI.f32) tau))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1 (pow.f32 (cbrt.f32 (*.f32 x (*.f32 (PI.f32) tau))) 2)) (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (cbrt.f32 (*.f32 x (*.f32 (PI.f32) tau)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (pow.f32 (cbrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) 2) (pow.f32 (cbrt.f32 (*.f32 x (*.f32 (PI.f32) tau))) 2)) (cbrt.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (sqrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) (pow.f32 (cbrt.f32 (*.f32 x (*.f32 (PI.f32) tau))) 2)) (/.f32 (sqrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) (cbrt.f32 (*.f32 x (*.f32 (PI.f32) tau)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1 (sqrt.f32 (*.f32 x (*.f32 (PI.f32) tau)))) (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (sqrt.f32 (*.f32 x (*.f32 (PI.f32) tau)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (pow.f32 (cbrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) 2) (sqrt.f32 (*.f32 x (*.f32 (PI.f32) tau)))) (/.f32 (cbrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) (sqrt.f32 (*.f32 x (*.f32 (PI.f32) tau)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (/.f32 x (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 (PI.f32) tau))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (/.f32 (pow.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) 3) (pow.f32 (*.f32 x (*.f32 (PI.f32) tau)) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (/.f32 (/.f32 x (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 (PI.f32) tau))) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 (*.f32 x (PI.f32)) (neg.f32 tau))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (/.f32 (pow.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) 3) (pow.f32 (*.f32 x (*.f32 (PI.f32) tau)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau)))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (pow.f32 (cbrt.f32 (exp.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))))) 2)) (log.f32 (cbrt.f32 (exp.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (sqrt.f32 (exp.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))))) (log.f32 (sqrt.f32 (exp.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (*.f32 (sin.f32 (exp.f32 (log1p.f32 (*.f32 x (*.f32 (PI.f32) tau))))) (cos.f32 1)) (*.f32 (cos.f32 (exp.f32 (log1p.f32 (*.f32 x (*.f32 (PI.f32) tau))))) (sin.f32 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) (pow.f32 (cbrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) 2) (cbrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) (sqrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (exp.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (pow.f32 (cbrt.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))) 2)) (log.f32 (cbrt.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (sqrt.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32)))))) (log.f32 (sqrt.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sin.f32 (*.f32 x (PI.f32))) (/.f32 (/.f32 1 x) (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 (sin.f32 (*.f32 x (PI.f32)))) 2) (*.f32 (cbrt.f32 (sin.f32 (*.f32 x (PI.f32)))) (/.f32 (/.f32 1 x) (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32)))) (pow.f32 (cbrt.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32)))) 2) (cbrt.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (sin.f32 (*.f32 x (PI.f32)))) (*.f32 (sqrt.f32 (sin.f32 (*.f32 x (PI.f32)))) (/.f32 (/.f32 1 x) (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32)))) (sqrt.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (neg.f32 (sin.f32 (*.f32 x (PI.f32)))) (/.f32 1 (*.f32 x (neg.f32 (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (/.f32 1 x) (PI.f32)) (sin.f32 (*.f32 x (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) x) (/.f32 1 (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (pow.f32 (cbrt.f32 (sin.f32 (*.f32 x (PI.f32)))) 2) 1) (/.f32 (cbrt.f32 (sin.f32 (*.f32 x (PI.f32)))) (*.f32 x (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (sqrt.f32 (sin.f32 (*.f32 x (PI.f32)))) 1) (/.f32 (sqrt.f32 (sin.f32 (*.f32 x (PI.f32)))) (*.f32 x (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (sqrt.f32 (sin.f32 (*.f32 x (PI.f32)))) x) (/.f32 (sqrt.f32 (sin.f32 (*.f32 x (PI.f32)))) (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1 x) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1 (PI.f32)) (/.f32 (sin.f32 (*.f32 x (PI.f32))) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1 (pow.f32 (cbrt.f32 (*.f32 x (PI.f32))) 2)) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (cbrt.f32 (*.f32 x (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1 (sqrt.f32 (*.f32 x (PI.f32)))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (sqrt.f32 (*.f32 x (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (pow.f32 (cbrt.f32 (sin.f32 (*.f32 x (PI.f32)))) 2) x) (/.f32 (cbrt.f32 (sin.f32 (*.f32 x (PI.f32)))) (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (sqrt.f32 (sin.f32 (*.f32 x (PI.f32)))) (PI.f32)) (/.f32 (sqrt.f32 (sin.f32 (*.f32 x (PI.f32)))) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (pow.f32 (cbrt.f32 (sin.f32 (*.f32 x (PI.f32)))) 2) (PI.f32)) (/.f32 (cbrt.f32 (sin.f32 (*.f32 x (PI.f32)))) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (pow.f32 (cbrt.f32 (sin.f32 (*.f32 x (PI.f32)))) 2) (pow.f32 (cbrt.f32 (*.f32 x (PI.f32))) 2)) (cbrt.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (sqrt.f32 (sin.f32 (*.f32 x (PI.f32)))) (pow.f32 (cbrt.f32 (*.f32 x (PI.f32))) 2)) (/.f32 (sqrt.f32 (sin.f32 (*.f32 x (PI.f32)))) (cbrt.f32 (*.f32 x (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (pow.f32 (cbrt.f32 (sin.f32 (*.f32 x (PI.f32)))) 2) (sqrt.f32 (*.f32 x (PI.f32)))) (/.f32 (cbrt.f32 (sin.f32 (*.f32 x (PI.f32)))) (sqrt.f32 (*.f32 x (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (/.f32 (*.f32 x (PI.f32)) (sin.f32 (*.f32 x (PI.f32)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (/.f32 (pow.f32 (sin.f32 (*.f32 x (PI.f32))) 3) (pow.f32 (*.f32 x (PI.f32)) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (/.f32 (/.f32 (*.f32 x (PI.f32)) (sin.f32 (*.f32 x (PI.f32)))) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (neg.f32 (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (/.f32 (pow.f32 (sin.f32 (*.f32 x (PI.f32))) 3) (pow.f32 (*.f32 x (PI.f32)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32)))) 1))))))

simplify166.0ms (1.4%)

Algorithm
egg-herbie
Rules
1402×associate-/r*_binary32
954×fma-def_binary32
651×sqr-pow_binary32
511×*-commutative_binary32
306×pow-sqr_binary32
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0941194
12901186
29151176
320641176
428131176
534821176
642801176
745231176
848331176
954571176
1060311176
1167171176
Stop Event
node limit
Counts
174 → 152
Calls
Call 1
Inputs
1
(+.f32 1 (*.f32 -1/6 (*.f32 (pow.f32 tau 2) (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2)))))
(+.f32 1 (+.f32 (*.f32 -1/6 (*.f32 (pow.f32 tau 2) (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2)))) (*.f32 1/120 (*.f32 (pow.f32 tau 4) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4))))))
(+.f32 (*.f32 -1/5040 (*.f32 (pow.f32 tau 6) (*.f32 (pow.f32 (PI.f32) 6) (pow.f32 x 6)))) (+.f32 1 (+.f32 (*.f32 -1/6 (*.f32 (pow.f32 tau 2) (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2)))) (*.f32 1/120 (*.f32 (pow.f32 tau 4) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4)))))))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 (PI.f32) x)))
1
(+.f32 1 (*.f32 -1/6 (*.f32 (pow.f32 tau 2) (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2)))))
(+.f32 1 (+.f32 (*.f32 -1/6 (*.f32 (pow.f32 tau 2) (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2)))) (*.f32 1/120 (*.f32 (pow.f32 tau 4) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4))))))
(+.f32 (*.f32 -1/5040 (*.f32 (pow.f32 tau 6) (*.f32 (pow.f32 (PI.f32) 6) (pow.f32 x 6)))) (+.f32 1 (+.f32 (*.f32 -1/6 (*.f32 (pow.f32 tau 2) (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2)))) (*.f32 1/120 (*.f32 (pow.f32 tau 4) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4)))))))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 x (PI.f32))))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 x (PI.f32))))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 x (PI.f32))))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 x (PI.f32))))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 (PI.f32) x)))
(*.f32 tau (*.f32 x (PI.f32)))
(+.f32 (*.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3)))) (*.f32 tau (*.f32 x (PI.f32))))
(+.f32 (*.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3)))) (+.f32 (*.f32 1/120 (*.f32 (pow.f32 tau 5) (*.f32 (pow.f32 (PI.f32) 5) (pow.f32 x 5)))) (*.f32 tau (*.f32 x (PI.f32)))))
(+.f32 (*.f32 -1/5040 (*.f32 (pow.f32 tau 7) (*.f32 (pow.f32 (PI.f32) 7) (pow.f32 x 7)))) (+.f32 (*.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3)))) (+.f32 (*.f32 1/120 (*.f32 (pow.f32 tau 5) (*.f32 (pow.f32 (PI.f32) 5) (pow.f32 x 5)))) (*.f32 tau (*.f32 x (PI.f32))))))
(sin.f32 (*.f32 tau (*.f32 x (PI.f32))))
(sin.f32 (*.f32 tau (*.f32 x (PI.f32))))
(sin.f32 (*.f32 tau (*.f32 x (PI.f32))))
(sin.f32 (*.f32 tau (*.f32 x (PI.f32))))
(sin.f32 (*.f32 tau (*.f32 (PI.f32) x)))
(sin.f32 (*.f32 tau (*.f32 (PI.f32) x)))
(sin.f32 (*.f32 tau (*.f32 (PI.f32) x)))
(sin.f32 (*.f32 tau (*.f32 (PI.f32) x)))
(*.f32 tau (*.f32 (PI.f32) x))
(+.f32 (*.f32 tau (*.f32 (PI.f32) x)) (*.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 x 3) (pow.f32 (PI.f32) 3)))))
(+.f32 (*.f32 tau (*.f32 (PI.f32) x)) (+.f32 (*.f32 1/120 (*.f32 (pow.f32 tau 5) (*.f32 (pow.f32 x 5) (pow.f32 (PI.f32) 5)))) (*.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 x 3) (pow.f32 (PI.f32) 3))))))
(+.f32 (*.f32 tau (*.f32 (PI.f32) x)) (+.f32 (*.f32 -1/5040 (*.f32 (pow.f32 tau 7) (*.f32 (pow.f32 x 7) (pow.f32 (PI.f32) 7)))) (+.f32 (*.f32 1/120 (*.f32 (pow.f32 tau 5) (*.f32 (pow.f32 x 5) (pow.f32 (PI.f32) 5)))) (*.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 x 3) (pow.f32 (PI.f32) 3)))))))
(sin.f32 (*.f32 tau (*.f32 x (PI.f32))))
(sin.f32 (*.f32 tau (*.f32 x (PI.f32))))
(sin.f32 (*.f32 tau (*.f32 x (PI.f32))))
(sin.f32 (*.f32 tau (*.f32 x (PI.f32))))
(sin.f32 (*.f32 tau (*.f32 (PI.f32) x)))
(sin.f32 (*.f32 tau (*.f32 (PI.f32) x)))
(sin.f32 (*.f32 tau (*.f32 (PI.f32) x)))
(sin.f32 (*.f32 tau (*.f32 (PI.f32) x)))
1
(+.f32 1 (*.f32 -1/6 (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2))))
(+.f32 (*.f32 1/120 (*.f32 (pow.f32 x 4) (pow.f32 (PI.f32) 4))) (+.f32 1 (*.f32 -1/6 (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2)))))
(+.f32 (*.f32 1/120 (*.f32 (pow.f32 x 4) (pow.f32 (PI.f32) 4))) (+.f32 1 (+.f32 (*.f32 -1/6 (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2))) (*.f32 -1/5040 (*.f32 (pow.f32 x 6) (pow.f32 (PI.f32) 6))))))
(/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 x (PI.f32)))
(/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 x (PI.f32)))
(/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 x (PI.f32)))
(/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 x (PI.f32)))
Outputs
1
(+.f32 1 (*.f32 -1/6 (*.f32 (pow.f32 tau 2) (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2)))))
(+.f32 1 (*.f32 (*.f32 -1/6 (*.f32 tau tau)) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 x x))))
(fma.f32 -1/6 (*.f32 tau (*.f32 tau (*.f32 (pow.f32 (PI.f32) 2) (*.f32 x x)))) 1)
(fma.f32 -1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (*.f32 tau tau) (*.f32 x x))) 1)
(fma.f32 -1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (*.f32 tau x) (*.f32 tau x))) 1)
(+.f32 1 (+.f32 (*.f32 -1/6 (*.f32 (pow.f32 tau 2) (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2)))) (*.f32 1/120 (*.f32 (pow.f32 tau 4) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4))))))
(+.f32 1 (fma.f32 -1/6 (*.f32 (*.f32 tau tau) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 x x))) (*.f32 1/120 (*.f32 (*.f32 (pow.f32 tau 4) (pow.f32 (PI.f32) 4)) (pow.f32 x 4)))))
(+.f32 1 (fma.f32 -1/6 (*.f32 tau (*.f32 tau (*.f32 (pow.f32 (PI.f32) 2) (*.f32 x x)))) (*.f32 1/120 (*.f32 (pow.f32 tau 4) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4))))))
(fma.f32 -1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (*.f32 tau tau) (*.f32 x x))) (fma.f32 1/120 (*.f32 (pow.f32 (PI.f32) 4) (*.f32 (pow.f32 tau 4) (pow.f32 x 4))) 1))
(fma.f32 (pow.f32 x 4) (*.f32 1/120 (*.f32 (pow.f32 tau 4) (pow.f32 (PI.f32) 4))) (fma.f32 -1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (*.f32 tau x) (*.f32 tau x))) 1))
(+.f32 (*.f32 -1/5040 (*.f32 (pow.f32 tau 6) (*.f32 (pow.f32 (PI.f32) 6) (pow.f32 x 6)))) (+.f32 1 (+.f32 (*.f32 -1/6 (*.f32 (pow.f32 tau 2) (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2)))) (*.f32 1/120 (*.f32 (pow.f32 tau 4) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4)))))))
(fma.f32 -1/5040 (*.f32 (pow.f32 tau 6) (*.f32 (pow.f32 (PI.f32) 6) (pow.f32 x 6))) (+.f32 1 (fma.f32 -1/6 (*.f32 (*.f32 tau tau) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 x x))) (*.f32 1/120 (*.f32 (*.f32 (pow.f32 tau 4) (pow.f32 (PI.f32) 4)) (pow.f32 x 4))))))
(+.f32 (fma.f32 -1/6 (*.f32 tau (*.f32 tau (*.f32 (pow.f32 (PI.f32) 2) (*.f32 x x)))) (*.f32 1/120 (*.f32 (pow.f32 tau 4) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4))))) (fma.f32 -1/5040 (*.f32 (pow.f32 tau 6) (*.f32 (pow.f32 (PI.f32) 6) (pow.f32 x 6))) 1))
(fma.f32 -1/5040 (*.f32 (pow.f32 tau 6) (*.f32 (pow.f32 (PI.f32) 6) (pow.f32 x 6))) (fma.f32 -1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (*.f32 tau tau) (*.f32 x x))) (fma.f32 1/120 (*.f32 (pow.f32 (PI.f32) 4) (*.f32 (pow.f32 tau 4) (pow.f32 x 4))) 1)))
(fma.f32 1/120 (*.f32 (pow.f32 (PI.f32) 4) (*.f32 (pow.f32 tau 4) (pow.f32 x 4))) (fma.f32 -1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (*.f32 tau tau) (*.f32 x x))) (fma.f32 (pow.f32 tau 6) (*.f32 -1/5040 (*.f32 (pow.f32 (PI.f32) 6) (pow.f32 x 6))) 1)))
(fma.f32 -1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (*.f32 tau x) (*.f32 tau x))) (fma.f32 1/120 (*.f32 (pow.f32 tau 4) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4))) (fma.f32 (*.f32 (pow.f32 tau 6) (pow.f32 (PI.f32) 6)) (*.f32 -1/5040 (pow.f32 x 6)) 1)))
(fma.f32 -1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (*.f32 tau tau) (*.f32 x x))) (fma.f32 1/120 (*.f32 (pow.f32 (PI.f32) 4) (*.f32 (pow.f32 tau 4) (pow.f32 x 4))) (fma.f32 (pow.f32 tau 6) (*.f32 -1/5040 (*.f32 (pow.f32 (PI.f32) 6) (pow.f32 x 6))) 1)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 (*.f32 tau x) (PI.f32))) (*.f32 (*.f32 tau x) (PI.f32)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (PI.f32) (*.f32 tau x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 (*.f32 tau x) (PI.f32))) (*.f32 (*.f32 tau x) (PI.f32)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (PI.f32) (*.f32 tau x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 (*.f32 tau x) (PI.f32))) (*.f32 (*.f32 tau x) (PI.f32)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (PI.f32) (*.f32 tau x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 (*.f32 tau x) (PI.f32))) (*.f32 (*.f32 tau x) (PI.f32)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (PI.f32) (*.f32 tau x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 (*.f32 tau x) (PI.f32))) (*.f32 (*.f32 tau x) (PI.f32)))
(/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (PI.f32) (*.f32 tau x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 (*.f32 tau x) (PI.f32))) (*.f32 (*.f32 tau x) (PI.f32)))
(/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (PI.f32) (*.f32 tau x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 (*.f32 tau x) (PI.f32))) (*.f32 (*.f32 tau x) (PI.f32)))
(/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (PI.f32) (*.f32 tau x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 (*.f32 tau x) (PI.f32))) (*.f32 (*.f32 tau x) (PI.f32)))
(/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (PI.f32) (*.f32 tau x)))
1
(+.f32 1 (*.f32 -1/6 (*.f32 (pow.f32 tau 2) (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2)))))
(+.f32 1 (*.f32 (*.f32 -1/6 (*.f32 tau tau)) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 x x))))
(fma.f32 -1/6 (*.f32 tau (*.f32 tau (*.f32 (pow.f32 (PI.f32) 2) (*.f32 x x)))) 1)
(fma.f32 -1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (*.f32 tau tau) (*.f32 x x))) 1)
(fma.f32 -1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (*.f32 tau x) (*.f32 tau x))) 1)
(+.f32 1 (+.f32 (*.f32 -1/6 (*.f32 (pow.f32 tau 2) (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2)))) (*.f32 1/120 (*.f32 (pow.f32 tau 4) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4))))))
(+.f32 1 (fma.f32 -1/6 (*.f32 (*.f32 tau tau) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 x x))) (*.f32 1/120 (*.f32 (*.f32 (pow.f32 tau 4) (pow.f32 (PI.f32) 4)) (pow.f32 x 4)))))
(+.f32 1 (fma.f32 -1/6 (*.f32 tau (*.f32 tau (*.f32 (pow.f32 (PI.f32) 2) (*.f32 x x)))) (*.f32 1/120 (*.f32 (pow.f32 tau 4) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4))))))
(fma.f32 -1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (*.f32 tau tau) (*.f32 x x))) (fma.f32 1/120 (*.f32 (pow.f32 (PI.f32) 4) (*.f32 (pow.f32 tau 4) (pow.f32 x 4))) 1))
(fma.f32 (pow.f32 x 4) (*.f32 1/120 (*.f32 (pow.f32 tau 4) (pow.f32 (PI.f32) 4))) (fma.f32 -1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (*.f32 tau x) (*.f32 tau x))) 1))
(+.f32 (*.f32 -1/5040 (*.f32 (pow.f32 tau 6) (*.f32 (pow.f32 (PI.f32) 6) (pow.f32 x 6)))) (+.f32 1 (+.f32 (*.f32 -1/6 (*.f32 (pow.f32 tau 2) (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2)))) (*.f32 1/120 (*.f32 (pow.f32 tau 4) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4)))))))
(fma.f32 -1/5040 (*.f32 (pow.f32 tau 6) (*.f32 (pow.f32 (PI.f32) 6) (pow.f32 x 6))) (+.f32 1 (fma.f32 -1/6 (*.f32 (*.f32 tau tau) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 x x))) (*.f32 1/120 (*.f32 (*.f32 (pow.f32 tau 4) (pow.f32 (PI.f32) 4)) (pow.f32 x 4))))))
(+.f32 (fma.f32 -1/6 (*.f32 tau (*.f32 tau (*.f32 (pow.f32 (PI.f32) 2) (*.f32 x x)))) (*.f32 1/120 (*.f32 (pow.f32 tau 4) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4))))) (fma.f32 -1/5040 (*.f32 (pow.f32 tau 6) (*.f32 (pow.f32 (PI.f32) 6) (pow.f32 x 6))) 1))
(fma.f32 -1/5040 (*.f32 (pow.f32 tau 6) (*.f32 (pow.f32 (PI.f32) 6) (pow.f32 x 6))) (fma.f32 -1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (*.f32 tau tau) (*.f32 x x))) (fma.f32 1/120 (*.f32 (pow.f32 (PI.f32) 4) (*.f32 (pow.f32 tau 4) (pow.f32 x 4))) 1)))
(fma.f32 1/120 (*.f32 (pow.f32 (PI.f32) 4) (*.f32 (pow.f32 tau 4) (pow.f32 x 4))) (fma.f32 -1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (*.f32 tau tau) (*.f32 x x))) (fma.f32 (pow.f32 tau 6) (*.f32 -1/5040 (*.f32 (pow.f32 (PI.f32) 6) (pow.f32 x 6))) 1)))
(fma.f32 -1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (*.f32 tau x) (*.f32 tau x))) (fma.f32 1/120 (*.f32 (pow.f32 tau 4) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4))) (fma.f32 (*.f32 (pow.f32 tau 6) (pow.f32 (PI.f32) 6)) (*.f32 -1/5040 (pow.f32 x 6)) 1)))
(fma.f32 -1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (*.f32 tau tau) (*.f32 x x))) (fma.f32 1/120 (*.f32 (pow.f32 (PI.f32) 4) (*.f32 (pow.f32 tau 4) (pow.f32 x 4))) (fma.f32 (pow.f32 tau 6) (*.f32 -1/5040 (*.f32 (pow.f32 (PI.f32) 6) (pow.f32 x 6))) 1)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 x (PI.f32))))
(/.f32 (sin.f32 (*.f32 (*.f32 tau x) (PI.f32))) (*.f32 (*.f32 tau x) (PI.f32)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (PI.f32) (*.f32 tau x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 x (PI.f32))))
(/.f32 (sin.f32 (*.f32 (*.f32 tau x) (PI.f32))) (*.f32 (*.f32 tau x) (PI.f32)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (PI.f32) (*.f32 tau x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 x (PI.f32))))
(/.f32 (sin.f32 (*.f32 (*.f32 tau x) (PI.f32))) (*.f32 (*.f32 tau x) (PI.f32)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (PI.f32) (*.f32 tau x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 x (PI.f32))))
(/.f32 (sin.f32 (*.f32 (*.f32 tau x) (PI.f32))) (*.f32 (*.f32 tau x) (PI.f32)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (PI.f32) (*.f32 tau x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 (*.f32 tau x) (PI.f32))) (*.f32 (*.f32 tau x) (PI.f32)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (PI.f32) (*.f32 tau x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 (*.f32 tau x) (PI.f32))) (*.f32 (*.f32 tau x) (PI.f32)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (PI.f32) (*.f32 tau x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 (*.f32 tau x) (PI.f32))) (*.f32 (*.f32 tau x) (PI.f32)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (PI.f32) (*.f32 tau x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 (*.f32 tau x) (PI.f32))) (*.f32 (*.f32 tau x) (PI.f32)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (PI.f32) (*.f32 tau x)))
(*.f32 tau (*.f32 x (PI.f32)))
(*.f32 (*.f32 tau x) (PI.f32))
(*.f32 tau (*.f32 (PI.f32) x))
(*.f32 (PI.f32) (*.f32 tau x))
(+.f32 (*.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3)))) (*.f32 tau (*.f32 x (PI.f32))))
(fma.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3))) (*.f32 (*.f32 tau x) (PI.f32)))
(fma.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3))) (*.f32 tau (*.f32 (PI.f32) x)))
(fma.f32 (*.f32 (pow.f32 tau 3) (pow.f32 (PI.f32) 3)) (*.f32 -1/6 (pow.f32 x 3)) (*.f32 tau (*.f32 (PI.f32) x)))
(fma.f32 (pow.f32 x 3) (*.f32 -1/6 (*.f32 (pow.f32 tau 3) (pow.f32 (PI.f32) 3))) (*.f32 tau (*.f32 (PI.f32) x)))
(fma.f32 -1/6 (*.f32 (pow.f32 (PI.f32) 3) (*.f32 (pow.f32 tau 3) (pow.f32 x 3))) (*.f32 (PI.f32) (*.f32 tau x)))
(+.f32 (*.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3)))) (+.f32 (*.f32 1/120 (*.f32 (pow.f32 tau 5) (*.f32 (pow.f32 (PI.f32) 5) (pow.f32 x 5)))) (*.f32 tau (*.f32 x (PI.f32)))))
(fma.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3))) (fma.f32 1/120 (*.f32 (pow.f32 tau 5) (*.f32 (pow.f32 (PI.f32) 5) (pow.f32 x 5))) (*.f32 (*.f32 tau x) (PI.f32))))
(fma.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3))) (fma.f32 tau (*.f32 (PI.f32) x) (*.f32 1/120 (*.f32 (pow.f32 tau 5) (*.f32 (pow.f32 (PI.f32) 5) (pow.f32 x 5))))))
(fma.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3))) (fma.f32 1/120 (*.f32 (pow.f32 tau 5) (*.f32 (pow.f32 (PI.f32) 5) (pow.f32 x 5))) (*.f32 tau (*.f32 (PI.f32) x))))
(fma.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3))) (fma.f32 (*.f32 (pow.f32 tau 5) (pow.f32 (PI.f32) 5)) (*.f32 1/120 (pow.f32 x 5)) (*.f32 tau (*.f32 (PI.f32) x))))
(fma.f32 (*.f32 (pow.f32 tau 5) (pow.f32 x 5)) (*.f32 1/120 (pow.f32 (PI.f32) 5)) (fma.f32 -1/6 (*.f32 (pow.f32 (PI.f32) 3) (*.f32 (pow.f32 tau 3) (pow.f32 x 3))) (*.f32 (PI.f32) (*.f32 tau x))))
(+.f32 (*.f32 -1/5040 (*.f32 (pow.f32 tau 7) (*.f32 (pow.f32 (PI.f32) 7) (pow.f32 x 7)))) (+.f32 (*.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3)))) (+.f32 (*.f32 1/120 (*.f32 (pow.f32 tau 5) (*.f32 (pow.f32 (PI.f32) 5) (pow.f32 x 5)))) (*.f32 tau (*.f32 x (PI.f32))))))
(fma.f32 -1/5040 (*.f32 (pow.f32 tau 7) (*.f32 (pow.f32 (PI.f32) 7) (pow.f32 x 7))) (fma.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3))) (fma.f32 1/120 (*.f32 (pow.f32 tau 5) (*.f32 (pow.f32 (PI.f32) 5) (pow.f32 x 5))) (*.f32 (*.f32 tau x) (PI.f32)))))
(fma.f32 tau (*.f32 (PI.f32) x) (fma.f32 -1/5040 (*.f32 (pow.f32 tau 7) (*.f32 (pow.f32 (PI.f32) 7) (pow.f32 x 7))) (fma.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3))) (*.f32 1/120 (*.f32 (pow.f32 tau 5) (*.f32 (pow.f32 (PI.f32) 5) (pow.f32 x 5)))))))
(fma.f32 tau (*.f32 (PI.f32) x) (fma.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3))) (fma.f32 1/120 (*.f32 (pow.f32 tau 5) (*.f32 (pow.f32 (PI.f32) 5) (pow.f32 x 5))) (*.f32 -1/5040 (*.f32 (pow.f32 tau 7) (*.f32 (pow.f32 (PI.f32) 7) (pow.f32 x 7)))))))
(fma.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3))) (fma.f32 1/120 (*.f32 (pow.f32 tau 5) (*.f32 (pow.f32 (PI.f32) 5) (pow.f32 x 5))) (fma.f32 tau (*.f32 (PI.f32) x) (*.f32 -1/5040 (*.f32 (pow.f32 tau 7) (*.f32 (pow.f32 (PI.f32) 7) (pow.f32 x 7)))))))
(fma.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3))) (fma.f32 (*.f32 (pow.f32 tau 5) (pow.f32 (PI.f32) 5)) (*.f32 1/120 (pow.f32 x 5)) (fma.f32 tau (*.f32 (PI.f32) x) (*.f32 (pow.f32 (PI.f32) 7) (*.f32 -1/5040 (*.f32 (pow.f32 tau 7) (pow.f32 x 7)))))))
(fma.f32 -1/6 (*.f32 (pow.f32 (PI.f32) 3) (*.f32 (pow.f32 tau 3) (pow.f32 x 3))) (fma.f32 (*.f32 (pow.f32 tau 5) (pow.f32 x 5)) (*.f32 1/120 (pow.f32 (PI.f32) 5)) (fma.f32 (pow.f32 tau 7) (*.f32 -1/5040 (*.f32 (pow.f32 (PI.f32) 7) (pow.f32 x 7))) (*.f32 (PI.f32) (*.f32 tau x)))))
(sin.f32 (*.f32 tau (*.f32 x (PI.f32))))
(sin.f32 (*.f32 (*.f32 tau x) (PI.f32)))
(sin.f32 (*.f32 tau (*.f32 (PI.f32) x)))
(sin.f32 (*.f32 (PI.f32) (*.f32 tau x)))
(sin.f32 (*.f32 tau (*.f32 x (PI.f32))))
(sin.f32 (*.f32 (*.f32 tau x) (PI.f32)))
(sin.f32 (*.f32 tau (*.f32 (PI.f32) x)))
(sin.f32 (*.f32 (PI.f32) (*.f32 tau x)))
(sin.f32 (*.f32 tau (*.f32 x (PI.f32))))
(sin.f32 (*.f32 (*.f32 tau x) (PI.f32)))
(sin.f32 (*.f32 tau (*.f32 (PI.f32) x)))
(sin.f32 (*.f32 (PI.f32) (*.f32 tau x)))
(sin.f32 (*.f32 tau (*.f32 x (PI.f32))))
(sin.f32 (*.f32 (*.f32 tau x) (PI.f32)))
(sin.f32 (*.f32 tau (*.f32 (PI.f32) x)))
(sin.f32 (*.f32 (PI.f32) (*.f32 tau x)))
(sin.f32 (*.f32 tau (*.f32 (PI.f32) x)))
(sin.f32 (*.f32 (*.f32 tau x) (PI.f32)))
(sin.f32 (*.f32 (PI.f32) (*.f32 tau x)))
(sin.f32 (*.f32 tau (*.f32 (PI.f32) x)))
(sin.f32 (*.f32 (*.f32 tau x) (PI.f32)))
(sin.f32 (*.f32 (PI.f32) (*.f32 tau x)))
(sin.f32 (*.f32 tau (*.f32 (PI.f32) x)))
(sin.f32 (*.f32 (*.f32 tau x) (PI.f32)))
(sin.f32 (*.f32 (PI.f32) (*.f32 tau x)))
(sin.f32 (*.f32 tau (*.f32 (PI.f32) x)))
(sin.f32 (*.f32 (*.f32 tau x) (PI.f32)))
(sin.f32 (*.f32 (PI.f32) (*.f32 tau x)))
(*.f32 tau (*.f32 (PI.f32) x))
(*.f32 (*.f32 tau x) (PI.f32))
(*.f32 (PI.f32) (*.f32 tau x))
(+.f32 (*.f32 tau (*.f32 (PI.f32) x)) (*.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 x 3) (pow.f32 (PI.f32) 3)))))
(fma.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3))) (*.f32 (*.f32 tau x) (PI.f32)))
(fma.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3))) (*.f32 tau (*.f32 (PI.f32) x)))
(fma.f32 (*.f32 (pow.f32 tau 3) (pow.f32 (PI.f32) 3)) (*.f32 -1/6 (pow.f32 x 3)) (*.f32 tau (*.f32 (PI.f32) x)))
(fma.f32 (pow.f32 x 3) (*.f32 -1/6 (*.f32 (pow.f32 tau 3) (pow.f32 (PI.f32) 3))) (*.f32 tau (*.f32 (PI.f32) x)))
(fma.f32 -1/6 (*.f32 (pow.f32 (PI.f32) 3) (*.f32 (pow.f32 tau 3) (pow.f32 x 3))) (*.f32 (PI.f32) (*.f32 tau x)))
(+.f32 (*.f32 tau (*.f32 (PI.f32) x)) (+.f32 (*.f32 1/120 (*.f32 (pow.f32 tau 5) (*.f32 (pow.f32 x 5) (pow.f32 (PI.f32) 5)))) (*.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 x 3) (pow.f32 (PI.f32) 3))))))
(fma.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3))) (fma.f32 1/120 (*.f32 (pow.f32 tau 5) (*.f32 (pow.f32 (PI.f32) 5) (pow.f32 x 5))) (*.f32 (*.f32 tau x) (PI.f32))))
(fma.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3))) (fma.f32 tau (*.f32 (PI.f32) x) (*.f32 1/120 (*.f32 (pow.f32 tau 5) (*.f32 (pow.f32 (PI.f32) 5) (pow.f32 x 5))))))
(fma.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3))) (fma.f32 1/120 (*.f32 (pow.f32 tau 5) (*.f32 (pow.f32 (PI.f32) 5) (pow.f32 x 5))) (*.f32 tau (*.f32 (PI.f32) x))))
(fma.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3))) (fma.f32 (*.f32 (pow.f32 tau 5) (pow.f32 (PI.f32) 5)) (*.f32 1/120 (pow.f32 x 5)) (*.f32 tau (*.f32 (PI.f32) x))))
(fma.f32 (*.f32 (pow.f32 tau 5) (pow.f32 x 5)) (*.f32 1/120 (pow.f32 (PI.f32) 5)) (fma.f32 -1/6 (*.f32 (pow.f32 (PI.f32) 3) (*.f32 (pow.f32 tau 3) (pow.f32 x 3))) (*.f32 (PI.f32) (*.f32 tau x))))
(+.f32 (*.f32 tau (*.f32 (PI.f32) x)) (+.f32 (*.f32 -1/5040 (*.f32 (pow.f32 tau 7) (*.f32 (pow.f32 x 7) (pow.f32 (PI.f32) 7)))) (+.f32 (*.f32 1/120 (*.f32 (pow.f32 tau 5) (*.f32 (pow.f32 x 5) (pow.f32 (PI.f32) 5)))) (*.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 x 3) (pow.f32 (PI.f32) 3)))))))
(fma.f32 -1/5040 (*.f32 (pow.f32 tau 7) (*.f32 (pow.f32 (PI.f32) 7) (pow.f32 x 7))) (fma.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3))) (fma.f32 1/120 (*.f32 (pow.f32 tau 5) (*.f32 (pow.f32 (PI.f32) 5) (pow.f32 x 5))) (*.f32 (*.f32 tau x) (PI.f32)))))
(fma.f32 tau (*.f32 (PI.f32) x) (fma.f32 -1/5040 (*.f32 (pow.f32 tau 7) (*.f32 (pow.f32 (PI.f32) 7) (pow.f32 x 7))) (fma.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3))) (*.f32 1/120 (*.f32 (pow.f32 tau 5) (*.f32 (pow.f32 (PI.f32) 5) (pow.f32 x 5)))))))
(fma.f32 tau (*.f32 (PI.f32) x) (fma.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3))) (fma.f32 1/120 (*.f32 (pow.f32 tau 5) (*.f32 (pow.f32 (PI.f32) 5) (pow.f32 x 5))) (*.f32 -1/5040 (*.f32 (pow.f32 tau 7) (*.f32 (pow.f32 (PI.f32) 7) (pow.f32 x 7)))))))
(fma.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3))) (fma.f32 1/120 (*.f32 (pow.f32 tau 5) (*.f32 (pow.f32 (PI.f32) 5) (pow.f32 x 5))) (fma.f32 tau (*.f32 (PI.f32) x) (*.f32 -1/5040 (*.f32 (pow.f32 tau 7) (*.f32 (pow.f32 (PI.f32) 7) (pow.f32 x 7)))))))
(fma.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3))) (fma.f32 (*.f32 (pow.f32 tau 5) (pow.f32 (PI.f32) 5)) (*.f32 1/120 (pow.f32 x 5)) (fma.f32 tau (*.f32 (PI.f32) x) (*.f32 (pow.f32 (PI.f32) 7) (*.f32 -1/5040 (*.f32 (pow.f32 tau 7) (pow.f32 x 7)))))))
(fma.f32 -1/6 (*.f32 (pow.f32 (PI.f32) 3) (*.f32 (pow.f32 tau 3) (pow.f32 x 3))) (fma.f32 (*.f32 (pow.f32 tau 5) (pow.f32 x 5)) (*.f32 1/120 (pow.f32 (PI.f32) 5)) (fma.f32 (pow.f32 tau 7) (*.f32 -1/5040 (*.f32 (pow.f32 (PI.f32) 7) (pow.f32 x 7))) (*.f32 (PI.f32) (*.f32 tau x)))))
(sin.f32 (*.f32 tau (*.f32 x (PI.f32))))
(sin.f32 (*.f32 (*.f32 tau x) (PI.f32)))
(sin.f32 (*.f32 tau (*.f32 (PI.f32) x)))
(sin.f32 (*.f32 (PI.f32) (*.f32 tau x)))
(sin.f32 (*.f32 tau (*.f32 x (PI.f32))))
(sin.f32 (*.f32 (*.f32 tau x) (PI.f32)))
(sin.f32 (*.f32 tau (*.f32 (PI.f32) x)))
(sin.f32 (*.f32 (PI.f32) (*.f32 tau x)))
(sin.f32 (*.f32 tau (*.f32 x (PI.f32))))
(sin.f32 (*.f32 (*.f32 tau x) (PI.f32)))
(sin.f32 (*.f32 tau (*.f32 (PI.f32) x)))
(sin.f32 (*.f32 (PI.f32) (*.f32 tau x)))
(sin.f32 (*.f32 tau (*.f32 x (PI.f32))))
(sin.f32 (*.f32 (*.f32 tau x) (PI.f32)))
(sin.f32 (*.f32 tau (*.f32 (PI.f32) x)))
(sin.f32 (*.f32 (PI.f32) (*.f32 tau x)))
(sin.f32 (*.f32 tau (*.f32 (PI.f32) x)))
(sin.f32 (*.f32 (*.f32 tau x) (PI.f32)))
(sin.f32 (*.f32 (PI.f32) (*.f32 tau x)))
(sin.f32 (*.f32 tau (*.f32 (PI.f32) x)))
(sin.f32 (*.f32 (*.f32 tau x) (PI.f32)))
(sin.f32 (*.f32 (PI.f32) (*.f32 tau x)))
(sin.f32 (*.f32 tau (*.f32 (PI.f32) x)))
(sin.f32 (*.f32 (*.f32 tau x) (PI.f32)))
(sin.f32 (*.f32 (PI.f32) (*.f32 tau x)))
(sin.f32 (*.f32 tau (*.f32 (PI.f32) x)))
(sin.f32 (*.f32 (*.f32 tau x) (PI.f32)))
(sin.f32 (*.f32 (PI.f32) (*.f32 tau x)))
1
(+.f32 1 (*.f32 -1/6 (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2))))
(+.f32 1 (*.f32 (*.f32 -1/6 (*.f32 x x)) (pow.f32 (PI.f32) 2)))
(fma.f32 -1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 x x)) 1)
(fma.f32 (*.f32 x x) (*.f32 -1/6 (pow.f32 (PI.f32) 2)) 1)
(fma.f32 (pow.f32 (PI.f32) 2) (*.f32 x (*.f32 -1/6 x)) 1)
(+.f32 (*.f32 1/120 (*.f32 (pow.f32 x 4) (pow.f32 (PI.f32) 4))) (+.f32 1 (*.f32 -1/6 (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2)))))
(fma.f32 1/120 (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4)) (+.f32 1 (*.f32 (*.f32 -1/6 (*.f32 x x)) (pow.f32 (PI.f32) 2))))
(fma.f32 1/120 (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4)) (fma.f32 -1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 x x)) 1))
(fma.f32 -1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 x x)) (fma.f32 (pow.f32 x 4) (*.f32 1/120 (pow.f32 (PI.f32) 4)) 1))
(fma.f32 (pow.f32 (PI.f32) 2) (fma.f32 (pow.f32 (PI.f32) 2) (*.f32 1/120 (pow.f32 x 4)) (*.f32 -1/6 (*.f32 x x))) 1)
(fma.f32 -1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 x x)) (fma.f32 (pow.f32 (PI.f32) 4) (*.f32 1/120 (pow.f32 x 4)) 1))
(+.f32 (*.f32 1/120 (*.f32 (pow.f32 x 4) (pow.f32 (PI.f32) 4))) (+.f32 1 (+.f32 (*.f32 -1/6 (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2))) (*.f32 -1/5040 (*.f32 (pow.f32 x 6) (pow.f32 (PI.f32) 6))))))
(fma.f32 1/120 (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4)) (+.f32 1 (fma.f32 -1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 x x)) (*.f32 -1/5040 (*.f32 (pow.f32 (PI.f32) 6) (pow.f32 x 6))))))
(+.f32 (fma.f32 -1/5040 (*.f32 (pow.f32 (PI.f32) 6) (pow.f32 x 6)) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 -1/6 (*.f32 x x)))) (fma.f32 1/120 (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4)) 1))
(fma.f32 1/120 (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4)) (fma.f32 -1/5040 (*.f32 (pow.f32 (PI.f32) 6) (pow.f32 x 6)) (fma.f32 (*.f32 x x) (*.f32 -1/6 (pow.f32 (PI.f32) 2)) 1)))
(fma.f32 -1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 x x)) (fma.f32 1/120 (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4)) (fma.f32 -1/5040 (*.f32 (pow.f32 (PI.f32) 6) (pow.f32 x 6)) 1)))
(fma.f32 1/120 (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4)) (fma.f32 (pow.f32 (PI.f32) 6) (*.f32 -1/5040 (pow.f32 x 6)) (fma.f32 (*.f32 x x) (*.f32 -1/6 (pow.f32 (PI.f32) 2)) 1)))
(/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 x (PI.f32)))
(/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 (PI.f32) x))
(/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 x (PI.f32)))
(/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 (PI.f32) x))
(/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 x (PI.f32)))
(/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 (PI.f32) x))
(/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 x (PI.f32)))
(/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 (PI.f32) x))

eval74.0ms (0.6%)

Compiler

Compiled 8405 to 2046 computations (75.7% saved)

prune168.0ms (1.4%)

Pruning

40 alts after pruning (38 fresh and 2 done)

PrunedKeptTotal
New27638314
Fresh000
Picked011
Done011
Total27640316
Error
0.1b
Counts
316 → 40
Alt Table
Click to see full alt table
StatusErrorProgram
1.0b
(*.f32 (*.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (PI.f32))) (/.f32 1 tau)) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
0.8b
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
11.9b
(*.f32 1 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
0.9b
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (log.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))))
1.0b
(*.f32 (*.f32 (neg.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) (/.f32 1 (*.f32 (*.f32 x (PI.f32)) (neg.f32 tau)))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
0.8b
(*.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 (*.f32 x (PI.f32)) (*.f32 (PI.f32) (*.f32 x tau)))))
0.9b
(*.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (/.f32 (sin.f32 (expm1.f32 (log1p.f32 (*.f32 (PI.f32) x)))) (*.f32 (*.f32 x (PI.f32)) (*.f32 (PI.f32) (*.f32 x tau)))))
1.1b
(*.f32 (/.f32 (sin.f32 (*.f32 (pow.f32 (sqrt.f32 (*.f32 (PI.f32) x)) 2) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
11.9b
(*.f32 (/.f32 (*.f32 (PI.f32) (*.f32 tau x)) (*.f32 (*.f32 x (PI.f32)) tau)) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
1.0b
(*.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 (*.f32 x x) (*.f32 tau (pow.f32 (PI.f32) 2)))))
0.9b
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (/.f32 1 x) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (PI.f32))))
0.9b
(*.f32 (log.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau))))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
4.9b
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (fma.f32 (pow.f32 (PI.f32) 2) (*.f32 x (*.f32 -1/6 x)) 1))
5.6b
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (-.f32 (+.f32 1 (*.f32 (PI.f32) x)) 1)))
1.0b
(*.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 tau (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2)))))
5.6b
(*.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 (-.f32 (+.f32 1 (*.f32 (PI.f32) x)) 1) (*.f32 (PI.f32) (*.f32 x tau)))))
0.9b
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (pow.f32 (cbrt.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32)))) 3))
0.7b
(*.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (PI.f32) (*.f32 tau x))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
1.4b
(*.f32 (sin.f32 (exp.f32 (log.f32 (*.f32 (PI.f32) (*.f32 x tau))))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 (*.f32 x (PI.f32)) (*.f32 (PI.f32) (*.f32 x tau)))))
0.8b
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) x) (/.f32 1 (PI.f32))))
0.8b
(*.f32 (pow.f32 (/.f32 x (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 (PI.f32) tau))) -1) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
1.0b
(*.f32 (sin.f32 (pow.f32 (sqrt.f32 (*.f32 (PI.f32) (*.f32 x tau))) 2)) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 (*.f32 x (PI.f32)) (*.f32 (PI.f32) (*.f32 x tau)))))
0.8b
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (neg.f32 (sin.f32 (*.f32 x (PI.f32)))) (/.f32 1 (*.f32 x (neg.f32 (PI.f32))))))
0.8b
(*.f32 (-.f32 (exp.f32 (log1p.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau))))) 1) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
5.5b
(*.f32 (/.f32 (+.f32 (log.f32 (sqrt.f32 (exp.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))))) (log.f32 (sqrt.f32 (exp.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))))))) (*.f32 (*.f32 x (PI.f32)) tau)) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
1.0b
(*.f32 (+.f32 (log.f32 (sqrt.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau)))))) (log.f32 (sqrt.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau))))))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
0.9b
(*.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (*.f32 x (PI.f32)) tau)) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
1.0b
(*.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (pow.f32 (*.f32 (pow.f32 (*.f32 (PI.f32) x) 2) tau) 1)))
0.9b
(*.f32 (sin.f32 (expm1.f32 (log1p.f32 (*.f32 (PI.f32) (*.f32 x tau))))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 (*.f32 x (PI.f32)) (*.f32 (PI.f32) (*.f32 x tau)))))
0.9b
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (expm1.f32 (log1p.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))))
1.2b
(*.f32 (*.f32 (/.f32 (pow.f32 (cbrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) 2) x) (/.f32 (cbrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) (*.f32 (PI.f32) tau))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
1.4b
(*.f32 (+.f32 (log.f32 (pow.f32 (cbrt.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau))))) 2)) (log.f32 (cbrt.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau))))))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
11.9b
(*.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (-.f32 (+.f32 1 (*.f32 (pow.f32 (*.f32 (PI.f32) x) 2) tau)) 1)))
11.9b
(*.f32 (*.f32 tau (*.f32 (PI.f32) x)) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 (*.f32 x (PI.f32)) (*.f32 (PI.f32) (*.f32 x tau)))))
0.7b
(*.f32 (+.f32 0 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau)))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
6.7b
(*.f32 (fma.f32 -1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (*.f32 tau x) (*.f32 tau x))) 1) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
1.0b
(*.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 (*.f32 x (PI.f32)) (*.f32 (PI.f32) (*.f32 x tau)))))
1.0b
(*.f32 (*.f32 (/.f32 (/.f32 1 x) (PI.f32)) (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) tau)) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
4.9b
(*.f32 (-.f32 (+.f32 1 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau)))) 1) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 (*.f32 x (PI.f32)) (*.f32 (PI.f32) (*.f32 x tau)))))
1.1b
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (/.f32 (sqrt.f32 (sin.f32 (*.f32 x (PI.f32)))) 1) (/.f32 (sqrt.f32 (sin.f32 (*.f32 x (PI.f32)))) (*.f32 x (PI.f32)))))
Compiler

Compiled 2040 to 1089 computations (46.6% saved)

localize56.0ms (0.5%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.4b
(*.f32 x (PI.f32))
0.4b
(/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32)))
0.4b
(sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))
0.5b
(/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau)))
Compiler

Compiled 84 to 16 computations (81% saved)

series7.0ms (0.1%)

Counts
2 → 48
Calls

12 calls:

TimeVariablePointExpression
1.0ms
x
@-inf
(/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau)))
1.0ms
tau
@-inf
(/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau)))
1.0ms
tau
@inf
(/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau)))
1.0ms
tau
@0
(/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau)))
0.0ms
x
@0
(/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau)))

rewrite74.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
951×pow1_binary32
879×add-log-exp_binary32
879×log1p-expm1-u_binary32
879×expm1-log1p-u_binary32
859×add-exp-log_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0830
116630
2230130
Stop Event
node limit
Counts
2 → 57
Calls
Call 1
Inputs
(/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau)))
(sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 1 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (/.f32 1 (*.f32 x (*.f32 (PI.f32) tau))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau)))) (pow.f32 (cbrt.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau)))) 2) (cbrt.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) 2) (*.f32 (cbrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) (/.f32 1 (*.f32 x (*.f32 (PI.f32) tau)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau)))) (sqrt.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) (*.f32 (sqrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) (/.f32 1 (*.f32 x (*.f32 (PI.f32) tau)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (neg.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) (/.f32 1 (*.f32 (*.f32 (PI.f32) tau) (neg.f32 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1 (*.f32 x (*.f32 (PI.f32) tau))) (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) x) (/.f32 1 (*.f32 (PI.f32) tau)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (pow.f32 (cbrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) 2) 1) (/.f32 (cbrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) (*.f32 x (*.f32 (PI.f32) tau))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (sqrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) 1) (/.f32 (sqrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) (*.f32 x (*.f32 (PI.f32) tau))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (sqrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) x) (/.f32 (sqrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) (*.f32 (PI.f32) tau)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1 x) (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 (PI.f32) tau)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (pow.f32 (cbrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) 2) x) (/.f32 (cbrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) (*.f32 (PI.f32) tau)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (sqrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) (*.f32 (PI.f32) tau)) (/.f32 (sqrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1 (*.f32 (PI.f32) tau)) (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (pow.f32 (cbrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) 2) (*.f32 (PI.f32) tau)) (/.f32 (cbrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1 (pow.f32 (cbrt.f32 (*.f32 x (*.f32 (PI.f32) tau))) 2)) (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (cbrt.f32 (*.f32 x (*.f32 (PI.f32) tau)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (pow.f32 (cbrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) 2) (pow.f32 (cbrt.f32 (*.f32 x (*.f32 (PI.f32) tau))) 2)) (cbrt.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (sqrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) (pow.f32 (cbrt.f32 (*.f32 x (*.f32 (PI.f32) tau))) 2)) (/.f32 (sqrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) (cbrt.f32 (*.f32 x (*.f32 (PI.f32) tau)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1 (sqrt.f32 (*.f32 x (*.f32 (PI.f32) tau)))) (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (sqrt.f32 (*.f32 x (*.f32 (PI.f32) tau)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (pow.f32 (cbrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) 2) (sqrt.f32 (*.f32 x (*.f32 (PI.f32) tau)))) (/.f32 (cbrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) (sqrt.f32 (*.f32 x (*.f32 (PI.f32) tau)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1 (*.f32 x (PI.f32))) (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) tau))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (pow.f32 (cbrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) 2) (*.f32 x (PI.f32))) (/.f32 (cbrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) tau))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (sqrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) (*.f32 x (PI.f32))) (/.f32 (sqrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) tau))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (/.f32 (*.f32 x (*.f32 (PI.f32) tau)) (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 (*.f32 (PI.f32) tau) (neg.f32 x))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (/.f32 (pow.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) 3) (pow.f32 (*.f32 x (*.f32 (PI.f32) tau)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau)))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 1 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) (pow.f32 (cbrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) 2) (cbrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) (sqrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (exp.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))))))))

simplify139.0ms (1.1%)

Algorithm
egg-herbie
Rules
1324×unswap-sqr_binary32
770×fma-def_binary32
498×sqr-pow_binary32
367×*-commutative_binary32
360×associate-/r*_binary32
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0821040
12411032
27751032
317561032
423771032
529141032
634951032
737381032
840481032
967101032
1075121032
Stop Event
node limit
Counts
105 → 82
Calls
Call 1
Inputs
1
(+.f32 1 (*.f32 -1/6 (*.f32 (pow.f32 tau 2) (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2)))))
(+.f32 1 (+.f32 (*.f32 -1/6 (*.f32 (pow.f32 tau 2) (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2)))) (*.f32 1/120 (*.f32 (pow.f32 tau 4) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4))))))
(+.f32 (*.f32 -1/5040 (*.f32 (pow.f32 tau 6) (*.f32 (pow.f32 (PI.f32) 6) (pow.f32 x 6)))) (+.f32 1 (+.f32 (*.f32 -1/6 (*.f32 (pow.f32 tau 2) (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2)))) (*.f32 1/120 (*.f32 (pow.f32 tau 4) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4)))))))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 (PI.f32) x)))
1
(+.f32 (*.f32 -1/6 (*.f32 (pow.f32 tau 2) (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2)))) 1)
(+.f32 (*.f32 -1/6 (*.f32 (pow.f32 tau 2) (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2)))) (+.f32 1 (*.f32 1/120 (*.f32 (pow.f32 tau 4) (*.f32 (pow.f32 x 4) (pow.f32 (PI.f32) 4))))))
(+.f32 (*.f32 -1/6 (*.f32 (pow.f32 tau 2) (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2)))) (+.f32 1 (+.f32 (*.f32 1/120 (*.f32 (pow.f32 tau 4) (*.f32 (pow.f32 x 4) (pow.f32 (PI.f32) 4)))) (*.f32 -1/5040 (*.f32 (pow.f32 tau 6) (*.f32 (pow.f32 x 6) (pow.f32 (PI.f32) 6)))))))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 x (PI.f32))))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 x (PI.f32))))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 x (PI.f32))))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 x (PI.f32))))
(*.f32 tau (*.f32 x (PI.f32)))
(+.f32 (*.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3)))) (*.f32 tau (*.f32 x (PI.f32))))
(+.f32 (*.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3)))) (+.f32 (*.f32 1/120 (*.f32 (pow.f32 tau 5) (*.f32 (pow.f32 (PI.f32) 5) (pow.f32 x 5)))) (*.f32 tau (*.f32 x (PI.f32)))))
(+.f32 (*.f32 -1/5040 (*.f32 (pow.f32 tau 7) (*.f32 (pow.f32 (PI.f32) 7) (pow.f32 x 7)))) (+.f32 (*.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3)))) (+.f32 (*.f32 1/120 (*.f32 (pow.f32 tau 5) (*.f32 (pow.f32 (PI.f32) 5) (pow.f32 x 5)))) (*.f32 tau (*.f32 x (PI.f32))))))
(sin.f32 (*.f32 tau (*.f32 x (PI.f32))))
(sin.f32 (*.f32 tau (*.f32 x (PI.f32))))
(sin.f32 (*.f32 tau (*.f32 x (PI.f32))))
(sin.f32 (*.f32 tau (*.f32 x (PI.f32))))
(sin.f32 (*.f32 tau (*.f32 (PI.f32) x)))
(sin.f32 (*.f32 tau (*.f32 (PI.f32) x)))
(sin.f32 (*.f32 tau (*.f32 (PI.f32) x)))
(sin.f32 (*.f32 tau (*.f32 (PI.f32) x)))
(*.f32 tau (*.f32 x (PI.f32)))
(+.f32 (*.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3)))) (*.f32 tau (*.f32 x (PI.f32))))
(+.f32 (*.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3)))) (+.f32 (*.f32 1/120 (*.f32 (pow.f32 tau 5) (*.f32 (pow.f32 (PI.f32) 5) (pow.f32 x 5)))) (*.f32 tau (*.f32 x (PI.f32)))))
(+.f32 (*.f32 -1/5040 (*.f32 (pow.f32 tau 7) (*.f32 (pow.f32 (PI.f32) 7) (pow.f32 x 7)))) (+.f32 (*.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3)))) (+.f32 (*.f32 1/120 (*.f32 (pow.f32 tau 5) (*.f32 (pow.f32 (PI.f32) 5) (pow.f32 x 5)))) (*.f32 tau (*.f32 x (PI.f32))))))
(sin.f32 (*.f32 tau (*.f32 (PI.f32) x)))
(sin.f32 (*.f32 tau (*.f32 (PI.f32) x)))
(sin.f32 (*.f32 tau (*.f32 (PI.f32) x)))
(sin.f32 (*.f32 tau (*.f32 (PI.f32) x)))
(sin.f32 (*.f32 tau (*.f32 x (PI.f32))))
(sin.f32 (*.f32 tau (*.f32 x (PI.f32))))
(sin.f32 (*.f32 tau (*.f32 x (PI.f32))))
(sin.f32 (*.f32 tau (*.f32 x (PI.f32))))
Outputs
1
(+.f32 1 (*.f32 -1/6 (*.f32 (pow.f32 tau 2) (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2)))))
(fma.f32 -1/6 (*.f32 (*.f32 (*.f32 tau tau) (pow.f32 (PI.f32) 2)) (*.f32 x x)) 1)
(fma.f32 -1/6 (*.f32 (*.f32 tau tau) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 x x))) 1)
(fma.f32 (*.f32 tau (*.f32 tau (pow.f32 (PI.f32) 2))) (*.f32 -1/6 (*.f32 x x)) 1)
(fma.f32 (pow.f32 (PI.f32) 2) (*.f32 (*.f32 x x) (*.f32 -1/6 (*.f32 tau tau))) 1)
(+.f32 1 (+.f32 (*.f32 -1/6 (*.f32 (pow.f32 tau 2) (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2)))) (*.f32 1/120 (*.f32 (pow.f32 tau 4) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4))))))
(+.f32 1 (fma.f32 -1/6 (*.f32 (*.f32 (*.f32 tau tau) (pow.f32 (PI.f32) 2)) (*.f32 x x)) (*.f32 (*.f32 1/120 (pow.f32 tau 4)) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4)))))
(fma.f32 -1/6 (*.f32 (*.f32 tau tau) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 x x))) (fma.f32 1/120 (*.f32 (pow.f32 tau 4) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4))) 1))
(fma.f32 1/120 (*.f32 (pow.f32 tau 4) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4))) (fma.f32 (*.f32 tau (*.f32 tau (pow.f32 (PI.f32) 2))) (*.f32 -1/6 (*.f32 x x)) 1))
(fma.f32 1/120 (*.f32 (pow.f32 tau 4) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4))) (fma.f32 (pow.f32 (PI.f32) 2) (*.f32 (*.f32 x x) (*.f32 -1/6 (*.f32 tau tau))) 1))
(fma.f32 1/120 (*.f32 (pow.f32 x 4) (*.f32 (pow.f32 tau 4) (pow.f32 (PI.f32) 4))) (fma.f32 (pow.f32 (PI.f32) 2) (*.f32 (*.f32 x x) (*.f32 -1/6 (*.f32 tau tau))) 1))
(fma.f32 (pow.f32 x 4) (*.f32 1/120 (*.f32 (pow.f32 tau 4) (pow.f32 (PI.f32) 4))) (fma.f32 (pow.f32 (PI.f32) 2) (*.f32 (*.f32 x x) (*.f32 -1/6 (*.f32 tau tau))) 1))
(+.f32 (*.f32 -1/5040 (*.f32 (pow.f32 tau 6) (*.f32 (pow.f32 (PI.f32) 6) (pow.f32 x 6)))) (+.f32 1 (+.f32 (*.f32 -1/6 (*.f32 (pow.f32 tau 2) (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2)))) (*.f32 1/120 (*.f32 (pow.f32 tau 4) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4)))))))
(fma.f32 -1/5040 (*.f32 (pow.f32 tau 6) (*.f32 (pow.f32 (PI.f32) 6) (pow.f32 x 6))) (+.f32 1 (fma.f32 -1/6 (*.f32 (*.f32 (*.f32 tau tau) (pow.f32 (PI.f32) 2)) (*.f32 x x)) (*.f32 (*.f32 1/120 (pow.f32 tau 4)) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4))))))
(fma.f32 -1/5040 (*.f32 (pow.f32 tau 6) (*.f32 (pow.f32 (PI.f32) 6) (pow.f32 x 6))) (fma.f32 -1/6 (*.f32 (*.f32 tau tau) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 x x))) (fma.f32 1/120 (*.f32 (pow.f32 tau 4) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4))) 1)))
(fma.f32 -1/6 (*.f32 tau (*.f32 tau (*.f32 (pow.f32 (PI.f32) 2) (*.f32 x x)))) (fma.f32 1/120 (*.f32 (pow.f32 tau 4) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4))) (fma.f32 -1/5040 (*.f32 (pow.f32 tau 6) (*.f32 (pow.f32 (PI.f32) 6) (pow.f32 x 6))) 1)))
(fma.f32 -1/6 (*.f32 (*.f32 tau tau) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 x x))) (fma.f32 1/120 (*.f32 (pow.f32 x 4) (*.f32 (pow.f32 tau 4) (pow.f32 (PI.f32) 4))) (fma.f32 (pow.f32 (PI.f32) 6) (*.f32 -1/5040 (*.f32 (pow.f32 tau 6) (pow.f32 x 6))) 1)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 (*.f32 tau (PI.f32)) x)) (*.f32 (*.f32 tau (PI.f32)) x))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (PI.f32) (*.f32 tau x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 (*.f32 tau (PI.f32)) x)) (*.f32 (*.f32 tau (PI.f32)) x))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (PI.f32) (*.f32 tau x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 (*.f32 tau (PI.f32)) x)) (*.f32 (*.f32 tau (PI.f32)) x))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (PI.f32) (*.f32 tau x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 (*.f32 tau (PI.f32)) x)) (*.f32 (*.f32 tau (PI.f32)) x))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (PI.f32) (*.f32 tau x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 (*.f32 tau (PI.f32)) x)) (*.f32 (*.f32 tau (PI.f32)) x))
(/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (PI.f32) (*.f32 tau x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 (*.f32 tau (PI.f32)) x)) (*.f32 (*.f32 tau (PI.f32)) x))
(/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (PI.f32) (*.f32 tau x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 (*.f32 tau (PI.f32)) x)) (*.f32 (*.f32 tau (PI.f32)) x))
(/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (PI.f32) (*.f32 tau x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 (*.f32 tau (PI.f32)) x)) (*.f32 (*.f32 tau (PI.f32)) x))
(/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (PI.f32) (*.f32 tau x)))
1
(+.f32 (*.f32 -1/6 (*.f32 (pow.f32 tau 2) (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2)))) 1)
(fma.f32 -1/6 (*.f32 (*.f32 (*.f32 tau tau) (pow.f32 (PI.f32) 2)) (*.f32 x x)) 1)
(fma.f32 -1/6 (*.f32 (*.f32 tau tau) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 x x))) 1)
(fma.f32 (*.f32 tau (*.f32 tau (pow.f32 (PI.f32) 2))) (*.f32 -1/6 (*.f32 x x)) 1)
(fma.f32 (pow.f32 (PI.f32) 2) (*.f32 (*.f32 x x) (*.f32 -1/6 (*.f32 tau tau))) 1)
(+.f32 (*.f32 -1/6 (*.f32 (pow.f32 tau 2) (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2)))) (+.f32 1 (*.f32 1/120 (*.f32 (pow.f32 tau 4) (*.f32 (pow.f32 x 4) (pow.f32 (PI.f32) 4))))))
(+.f32 1 (fma.f32 -1/6 (*.f32 (*.f32 (*.f32 tau tau) (pow.f32 (PI.f32) 2)) (*.f32 x x)) (*.f32 (*.f32 1/120 (pow.f32 tau 4)) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4)))))
(fma.f32 -1/6 (*.f32 (*.f32 tau tau) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 x x))) (fma.f32 1/120 (*.f32 (pow.f32 tau 4) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4))) 1))
(fma.f32 1/120 (*.f32 (pow.f32 tau 4) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4))) (fma.f32 (*.f32 tau (*.f32 tau (pow.f32 (PI.f32) 2))) (*.f32 -1/6 (*.f32 x x)) 1))
(fma.f32 1/120 (*.f32 (pow.f32 tau 4) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4))) (fma.f32 (pow.f32 (PI.f32) 2) (*.f32 (*.f32 x x) (*.f32 -1/6 (*.f32 tau tau))) 1))
(fma.f32 1/120 (*.f32 (pow.f32 x 4) (*.f32 (pow.f32 tau 4) (pow.f32 (PI.f32) 4))) (fma.f32 (pow.f32 (PI.f32) 2) (*.f32 (*.f32 x x) (*.f32 -1/6 (*.f32 tau tau))) 1))
(fma.f32 (pow.f32 x 4) (*.f32 1/120 (*.f32 (pow.f32 tau 4) (pow.f32 (PI.f32) 4))) (fma.f32 (pow.f32 (PI.f32) 2) (*.f32 (*.f32 x x) (*.f32 -1/6 (*.f32 tau tau))) 1))
(+.f32 (*.f32 -1/6 (*.f32 (pow.f32 tau 2) (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2)))) (+.f32 1 (+.f32 (*.f32 1/120 (*.f32 (pow.f32 tau 4) (*.f32 (pow.f32 x 4) (pow.f32 (PI.f32) 4)))) (*.f32 -1/5040 (*.f32 (pow.f32 tau 6) (*.f32 (pow.f32 x 6) (pow.f32 (PI.f32) 6)))))))
(fma.f32 -1/5040 (*.f32 (pow.f32 tau 6) (*.f32 (pow.f32 (PI.f32) 6) (pow.f32 x 6))) (+.f32 1 (fma.f32 -1/6 (*.f32 (*.f32 (*.f32 tau tau) (pow.f32 (PI.f32) 2)) (*.f32 x x)) (*.f32 (*.f32 1/120 (pow.f32 tau 4)) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4))))))
(fma.f32 -1/5040 (*.f32 (pow.f32 tau 6) (*.f32 (pow.f32 (PI.f32) 6) (pow.f32 x 6))) (fma.f32 -1/6 (*.f32 (*.f32 tau tau) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 x x))) (fma.f32 1/120 (*.f32 (pow.f32 tau 4) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4))) 1)))
(fma.f32 -1/6 (*.f32 tau (*.f32 tau (*.f32 (pow.f32 (PI.f32) 2) (*.f32 x x)))) (fma.f32 1/120 (*.f32 (pow.f32 tau 4) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4))) (fma.f32 -1/5040 (*.f32 (pow.f32 tau 6) (*.f32 (pow.f32 (PI.f32) 6) (pow.f32 x 6))) 1)))
(fma.f32 -1/6 (*.f32 (*.f32 tau tau) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 x x))) (fma.f32 1/120 (*.f32 (pow.f32 x 4) (*.f32 (pow.f32 tau 4) (pow.f32 (PI.f32) 4))) (fma.f32 (pow.f32 (PI.f32) 6) (*.f32 -1/5040 (*.f32 (pow.f32 tau 6) (pow.f32 x 6))) 1)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 (*.f32 tau (PI.f32)) x)) (*.f32 (*.f32 tau (PI.f32)) x))
(/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (PI.f32) (*.f32 tau x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 (*.f32 tau (PI.f32)) x)) (*.f32 (*.f32 tau (PI.f32)) x))
(/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (PI.f32) (*.f32 tau x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 (*.f32 tau (PI.f32)) x)) (*.f32 (*.f32 tau (PI.f32)) x))
(/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (PI.f32) (*.f32 tau x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 (*.f32 tau (PI.f32)) x)) (*.f32 (*.f32 tau (PI.f32)) x))
(/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (PI.f32) (*.f32 tau x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 x (PI.f32))))
(/.f32 (sin.f32 (*.f32 (*.f32 tau (PI.f32)) x)) (*.f32 (*.f32 tau (PI.f32)) x))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (PI.f32) (*.f32 tau x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 x (PI.f32))))
(/.f32 (sin.f32 (*.f32 (*.f32 tau (PI.f32)) x)) (*.f32 (*.f32 tau (PI.f32)) x))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (PI.f32) (*.f32 tau x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 x (PI.f32))))
(/.f32 (sin.f32 (*.f32 (*.f32 tau (PI.f32)) x)) (*.f32 (*.f32 tau (PI.f32)) x))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (PI.f32) (*.f32 tau x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 x (PI.f32))))
(/.f32 (sin.f32 (*.f32 (*.f32 tau (PI.f32)) x)) (*.f32 (*.f32 tau (PI.f32)) x))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (PI.f32) (*.f32 tau x)))
(*.f32 tau (*.f32 x (PI.f32)))
(*.f32 (*.f32 tau (PI.f32)) x)
(*.f32 tau (*.f32 (PI.f32) x))
(*.f32 (PI.f32) (*.f32 tau x))
(+.f32 (*.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3)))) (*.f32 tau (*.f32 x (PI.f32))))
(fma.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3))) (*.f32 (*.f32 tau (PI.f32)) x))
(fma.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3))) (*.f32 tau (*.f32 (PI.f32) x)))
(fma.f32 -1/6 (*.f32 (pow.f32 x 3) (*.f32 (pow.f32 tau 3) (pow.f32 (PI.f32) 3))) (*.f32 tau (*.f32 (PI.f32) x)))
(fma.f32 (pow.f32 (PI.f32) 3) (*.f32 (pow.f32 x 3) (*.f32 -1/6 (pow.f32 tau 3))) (*.f32 (PI.f32) (*.f32 tau x)))
(+.f32 (*.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3)))) (+.f32 (*.f32 1/120 (*.f32 (pow.f32 tau 5) (*.f32 (pow.f32 (PI.f32) 5) (pow.f32 x 5)))) (*.f32 tau (*.f32 x (PI.f32)))))
(fma.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3))) (fma.f32 1/120 (*.f32 (pow.f32 tau 5) (*.f32 (pow.f32 (PI.f32) 5) (pow.f32 x 5))) (*.f32 (*.f32 tau (PI.f32)) x)))
(fma.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3))) (fma.f32 tau (*.f32 (PI.f32) x) (*.f32 1/120 (*.f32 (pow.f32 tau 5) (*.f32 (pow.f32 (PI.f32) 5) (pow.f32 x 5))))))
(fma.f32 -1/6 (*.f32 (pow.f32 x 3) (*.f32 (pow.f32 tau 3) (pow.f32 (PI.f32) 3))) (fma.f32 1/120 (*.f32 (pow.f32 (PI.f32) 5) (*.f32 (pow.f32 tau 5) (pow.f32 x 5))) (*.f32 tau (*.f32 (PI.f32) x))))
(fma.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3))) (fma.f32 (pow.f32 x 5) (*.f32 1/120 (*.f32 (pow.f32 tau 5) (pow.f32 (PI.f32) 5))) (*.f32 tau (*.f32 (PI.f32) x))))
(fma.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3))) (fma.f32 (pow.f32 x 5) (*.f32 1/120 (*.f32 (pow.f32 tau 5) (pow.f32 (PI.f32) 5))) (*.f32 (PI.f32) (*.f32 tau x))))
(+.f32 (*.f32 -1/5040 (*.f32 (pow.f32 tau 7) (*.f32 (pow.f32 (PI.f32) 7) (pow.f32 x 7)))) (+.f32 (*.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3)))) (+.f32 (*.f32 1/120 (*.f32 (pow.f32 tau 5) (*.f32 (pow.f32 (PI.f32) 5) (pow.f32 x 5)))) (*.f32 tau (*.f32 x (PI.f32))))))
(fma.f32 -1/5040 (*.f32 (pow.f32 tau 7) (*.f32 (pow.f32 (PI.f32) 7) (pow.f32 x 7))) (fma.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3))) (fma.f32 1/120 (*.f32 (pow.f32 tau 5) (*.f32 (pow.f32 (PI.f32) 5) (pow.f32 x 5))) (*.f32 (*.f32 tau (PI.f32)) x))))
(fma.f32 -1/5040 (*.f32 (pow.f32 tau 7) (*.f32 (pow.f32 (PI.f32) 7) (pow.f32 x 7))) (fma.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3))) (fma.f32 tau (*.f32 (PI.f32) x) (*.f32 1/120 (*.f32 (pow.f32 tau 5) (*.f32 (pow.f32 (PI.f32) 5) (pow.f32 x 5)))))))
(fma.f32 -1/6 (*.f32 (pow.f32 x 3) (*.f32 (pow.f32 tau 3) (pow.f32 (PI.f32) 3))) (fma.f32 -1/5040 (*.f32 (pow.f32 x 7) (*.f32 (pow.f32 tau 7) (pow.f32 (PI.f32) 7))) (fma.f32 1/120 (*.f32 (pow.f32 (PI.f32) 5) (*.f32 (pow.f32 tau 5) (pow.f32 x 5))) (*.f32 tau (*.f32 (PI.f32) x)))))
(fma.f32 -1/6 (*.f32 (pow.f32 x 3) (*.f32 (pow.f32 tau 3) (pow.f32 (PI.f32) 3))) (fma.f32 1/120 (*.f32 (pow.f32 (PI.f32) 5) (*.f32 (pow.f32 tau 5) (pow.f32 x 5))) (fma.f32 tau (*.f32 (PI.f32) x) (*.f32 -1/5040 (*.f32 (pow.f32 x 7) (*.f32 (pow.f32 tau 7) (pow.f32 (PI.f32) 7)))))))
(fma.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3))) (fma.f32 (pow.f32 (PI.f32) 5) (*.f32 (pow.f32 x 5) (*.f32 1/120 (pow.f32 tau 5))) (fma.f32 (pow.f32 x 7) (*.f32 -1/5040 (*.f32 (pow.f32 tau 7) (pow.f32 (PI.f32) 7))) (*.f32 tau (*.f32 (PI.f32) x)))))
(fma.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3))) (fma.f32 (pow.f32 (PI.f32) 5) (*.f32 (pow.f32 x 5) (*.f32 1/120 (pow.f32 tau 5))) (fma.f32 tau (*.f32 (PI.f32) x) (*.f32 (*.f32 (pow.f32 (PI.f32) 7) (pow.f32 x 7)) (*.f32 -1/5040 (pow.f32 tau 7))))))
(sin.f32 (*.f32 tau (*.f32 x (PI.f32))))
(sin.f32 (*.f32 (*.f32 tau (PI.f32)) x))
(sin.f32 (*.f32 tau (*.f32 (PI.f32) x)))
(sin.f32 (*.f32 (PI.f32) (*.f32 tau x)))
(sin.f32 (*.f32 tau (*.f32 x (PI.f32))))
(sin.f32 (*.f32 (*.f32 tau (PI.f32)) x))
(sin.f32 (*.f32 tau (*.f32 (PI.f32) x)))
(sin.f32 (*.f32 (PI.f32) (*.f32 tau x)))
(sin.f32 (*.f32 tau (*.f32 x (PI.f32))))
(sin.f32 (*.f32 (*.f32 tau (PI.f32)) x))
(sin.f32 (*.f32 tau (*.f32 (PI.f32) x)))
(sin.f32 (*.f32 (PI.f32) (*.f32 tau x)))
(sin.f32 (*.f32 tau (*.f32 x (PI.f32))))
(sin.f32 (*.f32 (*.f32 tau (PI.f32)) x))
(sin.f32 (*.f32 tau (*.f32 (PI.f32) x)))
(sin.f32 (*.f32 (PI.f32) (*.f32 tau x)))
(sin.f32 (*.f32 tau (*.f32 (PI.f32) x)))
(sin.f32 (*.f32 (*.f32 tau (PI.f32)) x))
(sin.f32 (*.f32 (PI.f32) (*.f32 tau x)))
(sin.f32 (*.f32 tau (*.f32 (PI.f32) x)))
(sin.f32 (*.f32 (*.f32 tau (PI.f32)) x))
(sin.f32 (*.f32 (PI.f32) (*.f32 tau x)))
(sin.f32 (*.f32 tau (*.f32 (PI.f32) x)))
(sin.f32 (*.f32 (*.f32 tau (PI.f32)) x))
(sin.f32 (*.f32 (PI.f32) (*.f32 tau x)))
(sin.f32 (*.f32 tau (*.f32 (PI.f32) x)))
(sin.f32 (*.f32 (*.f32 tau (PI.f32)) x))
(sin.f32 (*.f32 (PI.f32) (*.f32 tau x)))
(*.f32 tau (*.f32 x (PI.f32)))
(*.f32 (*.f32 tau (PI.f32)) x)
(*.f32 tau (*.f32 (PI.f32) x))
(*.f32 (PI.f32) (*.f32 tau x))
(+.f32 (*.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3)))) (*.f32 tau (*.f32 x (PI.f32))))
(fma.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3))) (*.f32 (*.f32 tau (PI.f32)) x))
(fma.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3))) (*.f32 tau (*.f32 (PI.f32) x)))
(fma.f32 -1/6 (*.f32 (pow.f32 x 3) (*.f32 (pow.f32 tau 3) (pow.f32 (PI.f32) 3))) (*.f32 tau (*.f32 (PI.f32) x)))
(fma.f32 (pow.f32 (PI.f32) 3) (*.f32 (pow.f32 x 3) (*.f32 -1/6 (pow.f32 tau 3))) (*.f32 (PI.f32) (*.f32 tau x)))
(+.f32 (*.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3)))) (+.f32 (*.f32 1/120 (*.f32 (pow.f32 tau 5) (*.f32 (pow.f32 (PI.f32) 5) (pow.f32 x 5)))) (*.f32 tau (*.f32 x (PI.f32)))))
(fma.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3))) (fma.f32 1/120 (*.f32 (pow.f32 tau 5) (*.f32 (pow.f32 (PI.f32) 5) (pow.f32 x 5))) (*.f32 (*.f32 tau (PI.f32)) x)))
(fma.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3))) (fma.f32 tau (*.f32 (PI.f32) x) (*.f32 1/120 (*.f32 (pow.f32 tau 5) (*.f32 (pow.f32 (PI.f32) 5) (pow.f32 x 5))))))
(fma.f32 -1/6 (*.f32 (pow.f32 x 3) (*.f32 (pow.f32 tau 3) (pow.f32 (PI.f32) 3))) (fma.f32 1/120 (*.f32 (pow.f32 (PI.f32) 5) (*.f32 (pow.f32 tau 5) (pow.f32 x 5))) (*.f32 tau (*.f32 (PI.f32) x))))
(fma.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3))) (fma.f32 (pow.f32 x 5) (*.f32 1/120 (*.f32 (pow.f32 tau 5) (pow.f32 (PI.f32) 5))) (*.f32 tau (*.f32 (PI.f32) x))))
(fma.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3))) (fma.f32 (pow.f32 x 5) (*.f32 1/120 (*.f32 (pow.f32 tau 5) (pow.f32 (PI.f32) 5))) (*.f32 (PI.f32) (*.f32 tau x))))
(+.f32 (*.f32 -1/5040 (*.f32 (pow.f32 tau 7) (*.f32 (pow.f32 (PI.f32) 7) (pow.f32 x 7)))) (+.f32 (*.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3)))) (+.f32 (*.f32 1/120 (*.f32 (pow.f32 tau 5) (*.f32 (pow.f32 (PI.f32) 5) (pow.f32 x 5)))) (*.f32 tau (*.f32 x (PI.f32))))))
(fma.f32 -1/5040 (*.f32 (pow.f32 tau 7) (*.f32 (pow.f32 (PI.f32) 7) (pow.f32 x 7))) (fma.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3))) (fma.f32 1/120 (*.f32 (pow.f32 tau 5) (*.f32 (pow.f32 (PI.f32) 5) (pow.f32 x 5))) (*.f32 (*.f32 tau (PI.f32)) x))))
(fma.f32 -1/5040 (*.f32 (pow.f32 tau 7) (*.f32 (pow.f32 (PI.f32) 7) (pow.f32 x 7))) (fma.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3))) (fma.f32 tau (*.f32 (PI.f32) x) (*.f32 1/120 (*.f32 (pow.f32 tau 5) (*.f32 (pow.f32 (PI.f32) 5) (pow.f32 x 5)))))))
(fma.f32 -1/6 (*.f32 (pow.f32 x 3) (*.f32 (pow.f32 tau 3) (pow.f32 (PI.f32) 3))) (fma.f32 -1/5040 (*.f32 (pow.f32 x 7) (*.f32 (pow.f32 tau 7) (pow.f32 (PI.f32) 7))) (fma.f32 1/120 (*.f32 (pow.f32 (PI.f32) 5) (*.f32 (pow.f32 tau 5) (pow.f32 x 5))) (*.f32 tau (*.f32 (PI.f32) x)))))
(fma.f32 -1/6 (*.f32 (pow.f32 x 3) (*.f32 (pow.f32 tau 3) (pow.f32 (PI.f32) 3))) (fma.f32 1/120 (*.f32 (pow.f32 (PI.f32) 5) (*.f32 (pow.f32 tau 5) (pow.f32 x 5))) (fma.f32 tau (*.f32 (PI.f32) x) (*.f32 -1/5040 (*.f32 (pow.f32 x 7) (*.f32 (pow.f32 tau 7) (pow.f32 (PI.f32) 7)))))))
(fma.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3))) (fma.f32 (pow.f32 (PI.f32) 5) (*.f32 (pow.f32 x 5) (*.f32 1/120 (pow.f32 tau 5))) (fma.f32 (pow.f32 x 7) (*.f32 -1/5040 (*.f32 (pow.f32 tau 7) (pow.f32 (PI.f32) 7))) (*.f32 tau (*.f32 (PI.f32) x)))))
(fma.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3))) (fma.f32 (pow.f32 (PI.f32) 5) (*.f32 (pow.f32 x 5) (*.f32 1/120 (pow.f32 tau 5))) (fma.f32 tau (*.f32 (PI.f32) x) (*.f32 (*.f32 (pow.f32 (PI.f32) 7) (pow.f32 x 7)) (*.f32 -1/5040 (pow.f32 tau 7))))))
(sin.f32 (*.f32 tau (*.f32 (PI.f32) x)))
(sin.f32 (*.f32 (*.f32 tau (PI.f32)) x))
(sin.f32 (*.f32 (PI.f32) (*.f32 tau x)))
(sin.f32 (*.f32 tau (*.f32 (PI.f32) x)))
(sin.f32 (*.f32 (*.f32 tau (PI.f32)) x))
(sin.f32 (*.f32 (PI.f32) (*.f32 tau x)))
(sin.f32 (*.f32 tau (*.f32 (PI.f32) x)))
(sin.f32 (*.f32 (*.f32 tau (PI.f32)) x))
(sin.f32 (*.f32 (PI.f32) (*.f32 tau x)))
(sin.f32 (*.f32 tau (*.f32 (PI.f32) x)))
(sin.f32 (*.f32 (*.f32 tau (PI.f32)) x))
(sin.f32 (*.f32 (PI.f32) (*.f32 tau x)))
(sin.f32 (*.f32 tau (*.f32 x (PI.f32))))
(sin.f32 (*.f32 (*.f32 tau (PI.f32)) x))
(sin.f32 (*.f32 tau (*.f32 (PI.f32) x)))
(sin.f32 (*.f32 (PI.f32) (*.f32 tau x)))
(sin.f32 (*.f32 tau (*.f32 x (PI.f32))))
(sin.f32 (*.f32 (*.f32 tau (PI.f32)) x))
(sin.f32 (*.f32 tau (*.f32 (PI.f32) x)))
(sin.f32 (*.f32 (PI.f32) (*.f32 tau x)))
(sin.f32 (*.f32 tau (*.f32 x (PI.f32))))
(sin.f32 (*.f32 (*.f32 tau (PI.f32)) x))
(sin.f32 (*.f32 tau (*.f32 (PI.f32) x)))
(sin.f32 (*.f32 (PI.f32) (*.f32 tau x)))
(sin.f32 (*.f32 tau (*.f32 x (PI.f32))))
(sin.f32 (*.f32 (*.f32 tau (PI.f32)) x))
(sin.f32 (*.f32 tau (*.f32 (PI.f32) x)))
(sin.f32 (*.f32 (PI.f32) (*.f32 tau x)))

localize28.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.3b
(sin.f32 (*.f32 x (PI.f32)))
0.4b
(*.f32 x (PI.f32))
0.4b
(/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32)))
Compiler

Compiled 30 to 9 computations (70% saved)

series1.0ms (0%)

Counts
1 → 8
Calls

3 calls:

TimeVariablePointExpression
0.0ms
x
@0
(sin.f32 (*.f32 x (PI.f32)))
0.0ms
x
@inf
(sin.f32 (*.f32 x (PI.f32)))
0.0ms
x
@-inf
(sin.f32 (*.f32 x (PI.f32)))

rewrite40.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
462×pow1_binary32
440×add-sqr-sqrt_binary32
435×*-un-lft-identity_binary32
422×add-log-exp_binary32
422×log1p-expm1-u_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
057
1977
211467
Stop Event
node limit
Counts
1 → 16
Calls
Call 1
Inputs
(sin.f32 (*.f32 x (PI.f32)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 1 (sin.f32 (*.f32 x (PI.f32)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sin.f32 (*.f32 x (PI.f32))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (sin.f32 (*.f32 x (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (sin.f32 (*.f32 x (PI.f32)))) (pow.f32 (cbrt.f32 (sin.f32 (*.f32 x (PI.f32)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 (sin.f32 (*.f32 x (PI.f32)))) 2) (cbrt.f32 (sin.f32 (*.f32 x (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (sin.f32 (*.f32 x (PI.f32)))) (sqrt.f32 (sin.f32 (*.f32 x (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sin.f32 (*.f32 x (PI.f32))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (sin.f32 (*.f32 x (PI.f32))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (sin.f32 (*.f32 x (PI.f32)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (sin.f32 (*.f32 x (PI.f32)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (sin.f32 (*.f32 x (PI.f32))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (exp.f32 (sin.f32 (*.f32 x (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (sin.f32 (*.f32 x (PI.f32))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (sin.f32 (*.f32 x (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (sin.f32 (*.f32 x (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (sin.f32 (*.f32 x (PI.f32)))))))))

simplify130.0ms (1.1%)

Algorithm
egg-herbie
Rules
998×unswap-sqr_binary32
792×sqr-pow_binary32
735×fma-def_binary32
588×cube-prod_binary32
478×*-commutative_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
029132
184132
2244132
3879132
41932132
52595132
63876132
73986132
84128132
94312132
104573132
114965132
125531132
136270132
147220132
157766132
Stop Event
node limit
Counts
24 → 24
Calls
Call 1
Inputs
(*.f32 (PI.f32) x)
(+.f32 (*.f32 -1/6 (*.f32 (pow.f32 x 3) (pow.f32 (PI.f32) 3))) (*.f32 (PI.f32) x))
(+.f32 (*.f32 -1/6 (*.f32 (pow.f32 x 3) (pow.f32 (PI.f32) 3))) (+.f32 (*.f32 1/120 (*.f32 (pow.f32 x 5) (pow.f32 (PI.f32) 5))) (*.f32 (PI.f32) x)))
(+.f32 (*.f32 -1/6 (*.f32 (pow.f32 x 3) (pow.f32 (PI.f32) 3))) (+.f32 (*.f32 1/120 (*.f32 (pow.f32 x 5) (pow.f32 (PI.f32) 5))) (+.f32 (*.f32 -1/5040 (*.f32 (pow.f32 x 7) (pow.f32 (PI.f32) 7))) (*.f32 (PI.f32) x))))
(sin.f32 (*.f32 (PI.f32) x))
(sin.f32 (*.f32 (PI.f32) x))
(sin.f32 (*.f32 (PI.f32) x))
(sin.f32 (*.f32 (PI.f32) x))
Outputs
(*.f32 (PI.f32) x)
(+.f32 (*.f32 -1/6 (*.f32 (pow.f32 x 3) (pow.f32 (PI.f32) 3))) (*.f32 (PI.f32) x))
(fma.f32 -1/6 (*.f32 (pow.f32 x 3) (pow.f32 (PI.f32) 3)) (*.f32 (PI.f32) x))
(fma.f32 (PI.f32) x (*.f32 -1/6 (*.f32 (pow.f32 x 3) (pow.f32 (PI.f32) 3))))
(fma.f32 (PI.f32) x (*.f32 (pow.f32 (PI.f32) 3) (*.f32 -1/6 (pow.f32 x 3))))
(+.f32 (*.f32 -1/6 (*.f32 (pow.f32 x 3) (pow.f32 (PI.f32) 3))) (+.f32 (*.f32 1/120 (*.f32 (pow.f32 x 5) (pow.f32 (PI.f32) 5))) (*.f32 (PI.f32) x)))
(fma.f32 -1/6 (*.f32 (pow.f32 x 3) (pow.f32 (PI.f32) 3)) (fma.f32 1/120 (*.f32 (pow.f32 x 5) (pow.f32 (PI.f32) 5)) (*.f32 (PI.f32) x)))
(fma.f32 -1/6 (*.f32 (pow.f32 x 3) (pow.f32 (PI.f32) 3)) (fma.f32 (PI.f32) x (*.f32 1/120 (*.f32 (pow.f32 x 5) (pow.f32 (PI.f32) 5)))))
(fma.f32 (PI.f32) x (fma.f32 -1/6 (*.f32 (pow.f32 x 3) (pow.f32 (PI.f32) 3)) (*.f32 1/120 (*.f32 (pow.f32 x 5) (pow.f32 (PI.f32) 5)))))
(fma.f32 (PI.f32) x (fma.f32 1/120 (*.f32 (pow.f32 x 5) (pow.f32 (PI.f32) 5)) (*.f32 (pow.f32 (PI.f32) 3) (*.f32 -1/6 (pow.f32 x 3)))))
(fma.f32 (PI.f32) x (fma.f32 1/120 (*.f32 (pow.f32 x 5) (pow.f32 (PI.f32) 5)) (*.f32 -1/6 (*.f32 (pow.f32 x 3) (pow.f32 (PI.f32) 3)))))
(+.f32 (*.f32 -1/6 (*.f32 (pow.f32 x 3) (pow.f32 (PI.f32) 3))) (+.f32 (*.f32 1/120 (*.f32 (pow.f32 x 5) (pow.f32 (PI.f32) 5))) (+.f32 (*.f32 -1/5040 (*.f32 (pow.f32 x 7) (pow.f32 (PI.f32) 7))) (*.f32 (PI.f32) x))))
(fma.f32 -1/6 (*.f32 (pow.f32 x 3) (pow.f32 (PI.f32) 3)) (fma.f32 1/120 (*.f32 (pow.f32 x 5) (pow.f32 (PI.f32) 5)) (fma.f32 -1/5040 (*.f32 (pow.f32 x 7) (pow.f32 (PI.f32) 7)) (*.f32 (PI.f32) x))))
(fma.f32 -1/6 (*.f32 (pow.f32 x 3) (pow.f32 (PI.f32) 3)) (fma.f32 1/120 (*.f32 (pow.f32 x 5) (pow.f32 (PI.f32) 5)) (fma.f32 (PI.f32) x (*.f32 -1/5040 (*.f32 (pow.f32 x 7) (pow.f32 (PI.f32) 7))))))
(fma.f32 -1/6 (*.f32 (pow.f32 x 3) (pow.f32 (PI.f32) 3)) (fma.f32 (PI.f32) x (fma.f32 1/120 (*.f32 (pow.f32 x 5) (pow.f32 (PI.f32) 5)) (*.f32 -1/5040 (*.f32 (pow.f32 x 7) (pow.f32 (PI.f32) 7))))))
(fma.f32 (PI.f32) x (fma.f32 -1/5040 (*.f32 (pow.f32 x 7) (pow.f32 (PI.f32) 7)) (fma.f32 -1/6 (*.f32 (pow.f32 x 3) (pow.f32 (PI.f32) 3)) (*.f32 1/120 (*.f32 (pow.f32 x 5) (pow.f32 (PI.f32) 5))))))
(fma.f32 (PI.f32) x (fma.f32 -1/5040 (*.f32 (pow.f32 x 7) (pow.f32 (PI.f32) 7)) (fma.f32 1/120 (*.f32 (pow.f32 x 5) (pow.f32 (PI.f32) 5)) (*.f32 (pow.f32 (PI.f32) 3) (*.f32 -1/6 (pow.f32 x 3))))))
(fma.f32 (PI.f32) x (fma.f32 -1/5040 (*.f32 (pow.f32 x 7) (pow.f32 (PI.f32) 7)) (fma.f32 1/120 (*.f32 (pow.f32 x 5) (pow.f32 (PI.f32) 5)) (*.f32 -1/6 (*.f32 (pow.f32 x 3) (pow.f32 (PI.f32) 3))))))
(sin.f32 (*.f32 (PI.f32) x))
(sin.f32 (*.f32 (PI.f32) x))
(sin.f32 (*.f32 (PI.f32) x))
(sin.f32 (*.f32 (PI.f32) x))

localize72.0ms (0.6%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.4b
(/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32)))
0.4b
(sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))
0.4b
(*.f32 (/.f32 (/.f32 1 x) (PI.f32)) (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) tau))
0.4b
(/.f32 (/.f32 1 x) (PI.f32))
Compiler

Compiled 88 to 25 computations (71.6% saved)

series7.0ms (0.1%)

Counts
2 → 36
Calls

9 calls:

TimeVariablePointExpression
3.0ms
x
@-inf
(/.f32 (/.f32 1 x) (PI.f32))
1.0ms
x
@0
(/.f32 (/.f32 1 x) (PI.f32))
0.0ms
x
@inf
(/.f32 (/.f32 1 x) (PI.f32))
0.0ms
x
@0
(*.f32 (/.f32 (/.f32 1 x) (PI.f32)) (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) tau))
0.0ms
tau
@inf
(*.f32 (/.f32 (/.f32 1 x) (PI.f32)) (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) tau))

rewrite70.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
734×log-prod_binary32
526×prod-diff_binary32
338×pow2_binary32
243×pow1/3_binary32
229×expm1-udef_binary32
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01231
125728
2368228
Stop Event
node limit
Counts
2 → 104
Calls
Call 1
Inputs
(/.f32 (/.f32 1 x) (PI.f32))
(*.f32 (/.f32 (/.f32 1 x) (PI.f32)) (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) tau))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (/.f32 1 (*.f32 x (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (pow.f32 (cbrt.f32 (exp.f32 (/.f32 1 (*.f32 x (PI.f32))))) 2)) (log.f32 (cbrt.f32 (exp.f32 (/.f32 1 (*.f32 x (PI.f32)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (sqrt.f32 (exp.f32 (/.f32 1 (*.f32 x (PI.f32)))))) (log.f32 (sqrt.f32 (exp.f32 (/.f32 1 (*.f32 x (PI.f32)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (/.f32 1 (*.f32 x (PI.f32))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (/.f32 1 (*.f32 x (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1 x) (/.f32 1 (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1 (*.f32 x (PI.f32))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1 (cbrt.f32 (*.f32 x (PI.f32)))) (pow.f32 (/.f32 1 (cbrt.f32 (*.f32 x (PI.f32)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (/.f32 1 (cbrt.f32 (*.f32 x (PI.f32)))) 2) (/.f32 1 (cbrt.f32 (*.f32 x (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (pow.f32 x -2)) (*.f32 (/.f32 1 (cbrt.f32 x)) (/.f32 1 (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1 (sqrt.f32 (*.f32 x (PI.f32)))) (/.f32 1 (sqrt.f32 (*.f32 x (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 x -1/2) (*.f32 (pow.f32 x -1/2) (/.f32 1 (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 -1 x) (/.f32 1 (neg.f32 (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1 (PI.f32)) (/.f32 1 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (cbrt.f32 (pow.f32 x -2)) 1) (/.f32 (/.f32 1 (cbrt.f32 x)) (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (pow.f32 x -1/2) 1) (/.f32 (pow.f32 x -1/2) (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1 (cbrt.f32 (pow.f32 (PI.f32) 2))) (/.f32 (/.f32 1 x) (cbrt.f32 (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (cbrt.f32 (pow.f32 x -2)) (cbrt.f32 (pow.f32 (PI.f32) 2))) (/.f32 1 (cbrt.f32 (*.f32 x (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (pow.f32 x -1/2) (cbrt.f32 (pow.f32 (PI.f32) 2))) (/.f32 (pow.f32 x -1/2) (cbrt.f32 (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1 (sqrt.f32 (PI.f32))) (/.f32 (/.f32 1 x) (sqrt.f32 (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (cbrt.f32 (pow.f32 x -2)) (sqrt.f32 (PI.f32))) (/.f32 (/.f32 1 (cbrt.f32 x)) (sqrt.f32 (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (/.f32 1 (*.f32 x (PI.f32))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (/.f32 1 (*.f32 x (PI.f32))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (/.f32 1 (cbrt.f32 (*.f32 x (PI.f32)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (/.f32 1 (sqrt.f32 (*.f32 x (PI.f32)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 x (PI.f32)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (/.f32 (/.f32 (pow.f32 x -2) x) (pow.f32 (PI.f32) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (/.f32 (*.f32 x (PI.f32)) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f32 (/.f32 (/.f32 1 x) (neg.f32 (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (/.f32 1 (pow.f32 (*.f32 x (PI.f32)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (exp.f32 (/.f32 1 (*.f32 x (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (/.f32 1 (*.f32 x (PI.f32))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (/.f32 1 (*.f32 x (PI.f32))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (/.f32 (/.f32 (pow.f32 x -2) x) (pow.f32 (PI.f32) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (/.f32 1 (*.f32 x (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (/.f32 1 (*.f32 x (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (neg.f32 (log.f32 (*.f32 x (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (neg.f32 (log.f32 (*.f32 x (PI.f32)))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (PI.f32) (*.f32 tau x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (pow.f32 (cbrt.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (PI.f32) (*.f32 tau x))))) 2)) (log.f32 (cbrt.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (PI.f32) (*.f32 tau x)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (sqrt.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (PI.f32) (*.f32 tau x)))))) (log.f32 (sqrt.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (PI.f32) (*.f32 tau x)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (PI.f32) (*.f32 tau x))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 1 (*.f32 (*.f32 x (PI.f32)) (/.f32 tau (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 1 (*.f32 (/.f32 tau (sin.f32 (*.f32 (PI.f32) (*.f32 tau x)))) (*.f32 x (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 1 (/.f32 (*.f32 (PI.f32) tau) (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 1 (/.f32 (PI.f32) (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 x tau))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 1 (/.f32 tau (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 x (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (/.f32 1 x) (*.f32 (PI.f32) (/.f32 tau (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (/.f32 1 x) (*.f32 (/.f32 tau (sin.f32 (*.f32 (PI.f32) (*.f32 tau x)))) (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (/.f32 1 x) (/.f32 (*.f32 (PI.f32) tau) (sin.f32 (*.f32 (PI.f32) (*.f32 tau x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (/.f32 1 x) (/.f32 (PI.f32) (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) tau)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (/.f32 1 (*.f32 x (PI.f32))) (/.f32 tau (sin.f32 (*.f32 (PI.f32) (*.f32 tau x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (PI.f32) (*.f32 tau x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) tau) (*.f32 x (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (/.f32 -1 x) (*.f32 (/.f32 tau (sin.f32 (*.f32 (PI.f32) (*.f32 tau x)))) (neg.f32 (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (neg.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x)))) (*.f32 (*.f32 x (PI.f32)) (neg.f32 tau)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) x) (*.f32 (PI.f32) tau))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 x tau)) (PI.f32))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 x (PI.f32))) tau)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (neg.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) x)) (neg.f32 (*.f32 (PI.f32) tau)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (neg.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 x tau))) (neg.f32 (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (neg.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 x (PI.f32)))) (neg.f32 tau))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (/.f32 -1 x) 1) (*.f32 (neg.f32 (PI.f32)) (/.f32 tau (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (/.f32 -1 x) (sin.f32 (*.f32 (PI.f32) (*.f32 tau x)))) (*.f32 (neg.f32 (PI.f32)) tau))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (/.f32 1 x) (neg.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))))) (*.f32 (PI.f32) (neg.f32 tau)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (/.f32 -1 x) (neg.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))))) (*.f32 (neg.f32 (PI.f32)) (neg.f32 tau)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (neg.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x)))) 1) (*.f32 (neg.f32 tau) (*.f32 x (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (neg.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x)))) (/.f32 1 x)) (*.f32 (neg.f32 tau) (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (/.f32 -1 x)) (*.f32 tau (neg.f32 (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (neg.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x)))) (/.f32 -1 x)) (*.f32 (neg.f32 tau) (neg.f32 (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (/.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) x) 1) (*.f32 (PI.f32) tau))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (/.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) x) (cbrt.f32 (pow.f32 (*.f32 (PI.f32) tau) 2))) (cbrt.f32 (*.f32 (PI.f32) tau)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (/.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) x) (sqrt.f32 (*.f32 (PI.f32) tau))) (sqrt.f32 (*.f32 (PI.f32) tau)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (/.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 x tau)) 1) (PI.f32))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (/.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 x tau)) (cbrt.f32 (pow.f32 (PI.f32) 2))) (cbrt.f32 (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (/.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 x tau)) (sqrt.f32 (PI.f32))) (sqrt.f32 (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (/.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 x (PI.f32))) 1) tau)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (/.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 x (PI.f32))) (pow.f32 (cbrt.f32 tau) 2)) (cbrt.f32 tau))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (/.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 x (PI.f32))) (sqrt.f32 tau)) (sqrt.f32 tau))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (/.f32 -1 x) (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) tau)) (neg.f32 (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (neg.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x)))) (/.f32 1 (*.f32 x (PI.f32)))) (neg.f32 tau))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (/.f32 1 (*.f32 x (PI.f32))) (neg.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))))) (neg.f32 tau))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) tau) (/.f32 -1 x)) (neg.f32 (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (PI.f32) (*.f32 tau x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (PI.f32) (*.f32 tau x))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (PI.f32) (*.f32 tau x)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (PI.f32) (*.f32 tau x)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 (pow.f32 (/.f32 1 (*.f32 x (PI.f32))) 3) (pow.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) tau) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 (pow.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) tau) 3) (pow.f32 (/.f32 1 (*.f32 x (PI.f32))) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 (*.f32 x (PI.f32)) (/.f32 tau (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 (/.f32 tau (sin.f32 (*.f32 (PI.f32) (*.f32 tau x)))) (*.f32 x (PI.f32))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (/.f32 (*.f32 (PI.f32) tau) (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) x)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (/.f32 (PI.f32) (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 x tau))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (/.f32 tau (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 x (PI.f32)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (PI.f32) (*.f32 tau x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (PI.f32) (*.f32 tau x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (PI.f32) (*.f32 tau x))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (PI.f32) (*.f32 tau x))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (*.f32 (pow.f32 (/.f32 1 (*.f32 x (PI.f32))) 3) (pow.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) tau) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (*.f32 (pow.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) tau) 3) (pow.f32 (/.f32 1 (*.f32 x (PI.f32))) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (PI.f32) (*.f32 tau x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (PI.f32) (*.f32 tau x)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (PI.f32) (*.f32 tau x)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (PI.f32) (*.f32 tau x)))) 1))))))

simplify157.0ms (1.3%)

Algorithm
egg-herbie
Rules
995×fma-def_binary32
626×sqr-pow_binary32
591×associate-/r*_binary32
424×associate-*l*_binary32
388×associate-*r*_binary32
Iterations

Useful iterations: 7 (0.0ms)

IterNodesCost
058672
1159664
2430664
32186664
43493664
54464646
66229646
76560628
86947628
97457628
Stop Event
node limit
Counts
140 → 120
Calls
Call 1
Inputs
(/.f32 1 (*.f32 x (PI.f32)))
(/.f32 1 (*.f32 x (PI.f32)))
(/.f32 1 (*.f32 x (PI.f32)))
(/.f32 1 (*.f32 x (PI.f32)))
(/.f32 1 (*.f32 x (PI.f32)))
(/.f32 1 (*.f32 x (PI.f32)))
(/.f32 1 (*.f32 x (PI.f32)))
(/.f32 1 (*.f32 x (PI.f32)))
(/.f32 1 (*.f32 x (PI.f32)))
(/.f32 1 (*.f32 x (PI.f32)))
(/.f32 1 (*.f32 x (PI.f32)))
(/.f32 1 (*.f32 x (PI.f32)))
1
(+.f32 1 (*.f32 -1/6 (*.f32 (pow.f32 tau 2) (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2)))))
(+.f32 1 (+.f32 (*.f32 -1/6 (*.f32 (pow.f32 tau 2) (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2)))) (*.f32 1/120 (*.f32 (pow.f32 tau 4) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4))))))
(+.f32 (*.f32 -1/5040 (*.f32 (pow.f32 tau 6) (*.f32 (pow.f32 (PI.f32) 6) (pow.f32 x 6)))) (+.f32 1 (+.f32 (*.f32 -1/6 (*.f32 (pow.f32 tau 2) (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2)))) (*.f32 1/120 (*.f32 (pow.f32 tau 4) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4)))))))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 (PI.f32) x)))
1
(+.f32 (*.f32 -1/6 (*.f32 (pow.f32 tau 2) (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2)))) 1)
(+.f32 (*.f32 -1/6 (*.f32 (pow.f32 tau 2) (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2)))) (+.f32 1 (*.f32 1/120 (*.f32 (pow.f32 tau 4) (*.f32 (pow.f32 x 4) (pow.f32 (PI.f32) 4))))))
(+.f32 (*.f32 -1/6 (*.f32 (pow.f32 tau 2) (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2)))) (+.f32 1 (+.f32 (*.f32 1/120 (*.f32 (pow.f32 tau 4) (*.f32 (pow.f32 x 4) (pow.f32 (PI.f32) 4)))) (*.f32 -1/5040 (*.f32 (pow.f32 tau 6) (*.f32 (pow.f32 x 6) (pow.f32 (PI.f32) 6)))))))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 x (PI.f32))))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 x (PI.f32))))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 x (PI.f32))))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 x (PI.f32))))
Outputs
(/.f32 1 (*.f32 x (PI.f32)))
(/.f32 (/.f32 1 x) (PI.f32))
(/.f32 1 (*.f32 x (PI.f32)))
(/.f32 (/.f32 1 x) (PI.f32))
(/.f32 1 (*.f32 x (PI.f32)))
(/.f32 (/.f32 1 x) (PI.f32))
(/.f32 1 (*.f32 x (PI.f32)))
(/.f32 (/.f32 1 x) (PI.f32))
(/.f32 1 (*.f32 x (PI.f32)))
(/.f32 (/.f32 1 x) (PI.f32))
(/.f32 1 (*.f32 x (PI.f32)))
(/.f32 (/.f32 1 x) (PI.f32))
(/.f32 1 (*.f32 x (PI.f32)))
(/.f32 (/.f32 1 x) (PI.f32))
(/.f32 1 (*.f32 x (PI.f32)))
(/.f32 (/.f32 1 x) (PI.f32))
(/.f32 1 (*.f32 x (PI.f32)))
(/.f32 (/.f32 1 x) (PI.f32))
(/.f32 1 (*.f32 x (PI.f32)))
(/.f32 (/.f32 1 x) (PI.f32))
(/.f32 1 (*.f32 x (PI.f32)))
(/.f32 (/.f32 1 x) (PI.f32))
(/.f32 1 (*.f32 x (PI.f32)))
(/.f32 (/.f32 1 x) (PI.f32))
1
(+.f32 1 (*.f32 -1/6 (*.f32 (pow.f32 tau 2) (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2)))))
(fma.f32 -1/6 (*.f32 (*.f32 tau tau) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 x x))) 1)
(fma.f32 -1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (*.f32 tau tau) (*.f32 x x))) 1)
(fma.f32 -1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 x (*.f32 x (*.f32 tau tau)))) 1)
(fma.f32 (*.f32 tau tau) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 x (*.f32 x -1/6))) 1)
(fma.f32 (pow.f32 (PI.f32) 2) (*.f32 -1/6 (*.f32 x (*.f32 x (*.f32 tau tau)))) 1)
(fma.f32 (pow.f32 (PI.f32) 2) (*.f32 -1/6 (pow.f32 (*.f32 x tau) 2)) 1)
(+.f32 1 (+.f32 (*.f32 -1/6 (*.f32 (pow.f32 tau 2) (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2)))) (*.f32 1/120 (*.f32 (pow.f32 tau 4) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4))))))
(+.f32 1 (fma.f32 -1/6 (*.f32 (*.f32 tau tau) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 x x))) (*.f32 1/120 (*.f32 (pow.f32 tau 4) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4))))))
(fma.f32 -1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (*.f32 tau tau) (*.f32 x x))) (fma.f32 1/120 (*.f32 (pow.f32 tau 4) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4))) 1))
(fma.f32 (*.f32 1/120 (*.f32 (pow.f32 tau 4) (pow.f32 (PI.f32) 4))) (pow.f32 x 4) (fma.f32 -1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 x (*.f32 x (*.f32 tau tau)))) 1))
(fma.f32 (pow.f32 x 4) (*.f32 1/120 (*.f32 (pow.f32 tau 4) (pow.f32 (PI.f32) 4))) (fma.f32 -1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 x (*.f32 x (*.f32 tau tau)))) 1))
(fma.f32 -1/6 (*.f32 (*.f32 tau tau) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 x x))) (fma.f32 (pow.f32 tau 4) (*.f32 (pow.f32 x 4) (*.f32 1/120 (pow.f32 (PI.f32) 4))) 1))
(fma.f32 -1/6 (*.f32 (*.f32 tau tau) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 x x))) (fma.f32 (pow.f32 (*.f32 x tau) 4) (*.f32 1/120 (pow.f32 (PI.f32) 4)) 1))
(fma.f32 x (*.f32 (*.f32 x (pow.f32 (PI.f32) 2)) (*.f32 -1/6 (*.f32 tau tau))) (fma.f32 1/120 (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 (*.f32 x tau) 4)) 1))
(fma.f32 -1/6 (*.f32 tau (*.f32 tau (pow.f32 (*.f32 x (PI.f32)) 2))) (fma.f32 1/120 (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 (*.f32 x tau) 4)) 1))
(+.f32 (*.f32 -1/5040 (*.f32 (pow.f32 tau 6) (*.f32 (pow.f32 (PI.f32) 6) (pow.f32 x 6)))) (+.f32 1 (+.f32 (*.f32 -1/6 (*.f32 (pow.f32 tau 2) (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2)))) (*.f32 1/120 (*.f32 (pow.f32 tau 4) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4)))))))
(fma.f32 -1/5040 (*.f32 (pow.f32 tau 6) (*.f32 (pow.f32 (PI.f32) 6) (pow.f32 x 6))) (+.f32 1 (fma.f32 -1/6 (*.f32 (*.f32 tau tau) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 x x))) (*.f32 1/120 (*.f32 (pow.f32 tau 4) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4)))))))
(fma.f32 -1/5040 (*.f32 (pow.f32 tau 6) (*.f32 (pow.f32 (PI.f32) 6) (pow.f32 x 6))) (fma.f32 -1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (*.f32 tau tau) (*.f32 x x))) (fma.f32 1/120 (*.f32 (pow.f32 tau 4) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4))) 1)))
(fma.f32 (pow.f32 tau 6) (*.f32 (pow.f32 (PI.f32) 6) (*.f32 -1/5040 (pow.f32 x 6))) (fma.f32 (*.f32 1/120 (*.f32 (pow.f32 tau 4) (pow.f32 (PI.f32) 4))) (pow.f32 x 4) (fma.f32 -1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 x (*.f32 x (*.f32 tau tau)))) 1)))
(fma.f32 (pow.f32 tau 6) (*.f32 (pow.f32 (PI.f32) 6) (*.f32 -1/5040 (pow.f32 x 6))) (fma.f32 (pow.f32 x 4) (*.f32 1/120 (*.f32 (pow.f32 tau 4) (pow.f32 (PI.f32) 4))) (fma.f32 -1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 x (*.f32 x (*.f32 tau tau)))) 1)))
(fma.f32 1/120 (*.f32 (pow.f32 tau 4) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4))) (fma.f32 (pow.f32 tau 6) (*.f32 (pow.f32 (PI.f32) 6) (*.f32 -1/5040 (pow.f32 x 6))) (fma.f32 (*.f32 tau tau) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 x (*.f32 x -1/6))) 1)))
(fma.f32 1/120 (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 (*.f32 x tau) 4)) (fma.f32 (pow.f32 (PI.f32) 6) (*.f32 -1/5040 (pow.f32 (*.f32 x tau) 6)) (fma.f32 (*.f32 tau tau) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 x (*.f32 x -1/6))) 1)))
(fma.f32 x (*.f32 (*.f32 x (pow.f32 (PI.f32) 2)) (*.f32 -1/6 (*.f32 tau tau))) (fma.f32 1/120 (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 (*.f32 x tau) 4)) (fma.f32 -1/5040 (*.f32 (pow.f32 tau 6) (pow.f32 (*.f32 x (PI.f32)) 6)) 1)))
(fma.f32 -1/6 (*.f32 tau (*.f32 tau (pow.f32 (*.f32 x (PI.f32)) 2))) (fma.f32 1/120 (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 (*.f32 x tau) 4)) (fma.f32 -1/5040 (*.f32 (pow.f32 tau 6) (pow.f32 (*.f32 x (PI.f32)) 6)) 1)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 x (PI.f32))))
(/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (*.f32 (PI.f32) (*.f32 x tau)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 x (PI.f32))))
(/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (*.f32 (PI.f32) (*.f32 x tau)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 x (PI.f32))))
(/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (*.f32 (PI.f32) (*.f32 x tau)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 x (PI.f32))))
(/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (*.f32 (PI.f32) (*.f32 x tau)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 x (PI.f32))))
(/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (*.f32 (PI.f32) (*.f32 x tau)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 x (PI.f32))))
(/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (*.f32 (PI.f32) (*.f32 x tau)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 x (PI.f32))))
(/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (*.f32 (PI.f32) (*.f32 x tau)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 x (PI.f32))))
(/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (*.f32 (PI.f32) (*.f32 x tau)))
1
(+.f32 (*.f32 -1/6 (*.f32 (pow.f32 tau 2) (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2)))) 1)
(fma.f32 -1/6 (*.f32 (*.f32 tau tau) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 x x))) 1)
(fma.f32 -1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (*.f32 tau tau) (*.f32 x x))) 1)
(fma.f32 -1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 x (*.f32 x (*.f32 tau tau)))) 1)
(fma.f32 (*.f32 tau tau) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 x (*.f32 x -1/6))) 1)
(fma.f32 (pow.f32 (PI.f32) 2) (*.f32 -1/6 (*.f32 x (*.f32 x (*.f32 tau tau)))) 1)
(fma.f32 (pow.f32 (PI.f32) 2) (*.f32 -1/6 (pow.f32 (*.f32 x tau) 2)) 1)
(+.f32 (*.f32 -1/6 (*.f32 (pow.f32 tau 2) (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2)))) (+.f32 1 (*.f32 1/120 (*.f32 (pow.f32 tau 4) (*.f32 (pow.f32 x 4) (pow.f32 (PI.f32) 4))))))
(+.f32 1 (fma.f32 -1/6 (*.f32 (*.f32 tau tau) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 x x))) (*.f32 1/120 (*.f32 (pow.f32 tau 4) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4))))))
(fma.f32 -1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (*.f32 tau tau) (*.f32 x x))) (fma.f32 1/120 (*.f32 (pow.f32 tau 4) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4))) 1))
(fma.f32 (*.f32 1/120 (*.f32 (pow.f32 tau 4) (pow.f32 (PI.f32) 4))) (pow.f32 x 4) (fma.f32 -1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 x (*.f32 x (*.f32 tau tau)))) 1))
(fma.f32 (pow.f32 x 4) (*.f32 1/120 (*.f32 (pow.f32 tau 4) (pow.f32 (PI.f32) 4))) (fma.f32 -1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 x (*.f32 x (*.f32 tau tau)))) 1))
(fma.f32 -1/6 (*.f32 (*.f32 tau tau) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 x x))) (fma.f32 (pow.f32 tau 4) (*.f32 (pow.f32 x 4) (*.f32 1/120 (pow.f32 (PI.f32) 4))) 1))
(fma.f32 -1/6 (*.f32 (*.f32 tau tau) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 x x))) (fma.f32 (pow.f32 (*.f32 x tau) 4) (*.f32 1/120 (pow.f32 (PI.f32) 4)) 1))
(fma.f32 x (*.f32 (*.f32 x (pow.f32 (PI.f32) 2)) (*.f32 -1/6 (*.f32 tau tau))) (fma.f32 1/120 (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 (*.f32 x tau) 4)) 1))
(fma.f32 -1/6 (*.f32 tau (*.f32 tau (pow.f32 (*.f32 x (PI.f32)) 2))) (fma.f32 1/120 (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 (*.f32 x tau) 4)) 1))
(+.f32 (*.f32 -1/6 (*.f32 (pow.f32 tau 2) (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2)))) (+.f32 1 (+.f32 (*.f32 1/120 (*.f32 (pow.f32 tau 4) (*.f32 (pow.f32 x 4) (pow.f32 (PI.f32) 4)))) (*.f32 -1/5040 (*.f32 (pow.f32 tau 6) (*.f32 (pow.f32 x 6) (pow.f32 (PI.f32) 6)))))))
(fma.f32 -1/5040 (*.f32 (pow.f32 tau 6) (*.f32 (pow.f32 (PI.f32) 6) (pow.f32 x 6))) (+.f32 1 (fma.f32 -1/6 (*.f32 (*.f32 tau tau) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 x x))) (*.f32 1/120 (*.f32 (pow.f32 tau 4) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4)))))))
(fma.f32 -1/5040 (*.f32 (pow.f32 tau 6) (*.f32 (pow.f32 (PI.f32) 6) (pow.f32 x 6))) (fma.f32 -1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (*.f32 tau tau) (*.f32 x x))) (fma.f32 1/120 (*.f32 (pow.f32 tau 4) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4))) 1)))
(fma.f32 (pow.f32 tau 6) (*.f32 (pow.f32 (PI.f32) 6) (*.f32 -1/5040 (pow.f32 x 6))) (fma.f32 (*.f32 1/120 (*.f32 (pow.f32 tau 4) (pow.f32 (PI.f32) 4))) (pow.f32 x 4) (fma.f32 -1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 x (*.f32 x (*.f32 tau tau)))) 1)))
(fma.f32 (pow.f32 tau 6) (*.f32 (pow.f32 (PI.f32) 6) (*.f32 -1/5040 (pow.f32 x 6))) (fma.f32 (pow.f32 x 4) (*.f32 1/120 (*.f32 (pow.f32 tau 4) (pow.f32 (PI.f32) 4))) (fma.f32 -1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 x (*.f32 x (*.f32 tau tau)))) 1)))
(fma.f32 1/120 (*.f32 (pow.f32 tau 4) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4))) (fma.f32 (pow.f32 tau 6) (*.f32 (pow.f32 (PI.f32) 6) (*.f32 -1/5040 (pow.f32 x 6))) (fma.f32 (*.f32 tau tau) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 x (*.f32 x -1/6))) 1)))
(fma.f32 1/120 (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 (*.f32 x tau) 4)) (fma.f32 (pow.f32 (PI.f32) 6) (*.f32 -1/5040 (pow.f32 (*.f32 x tau) 6)) (fma.f32 (*.f32 tau tau) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 x (*.f32 x -1/6))) 1)))
(fma.f32 x (*.f32 (*.f32 x (pow.f32 (PI.f32) 2)) (*.f32 -1/6 (*.f32 tau tau))) (fma.f32 1/120 (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 (*.f32 x tau) 4)) (fma.f32 -1/5040 (*.f32 (pow.f32 tau 6) (pow.f32 (*.f32 x (PI.f32)) 6)) 1)))
(fma.f32 -1/6 (*.f32 tau (*.f32 tau (pow.f32 (*.f32 x (PI.f32)) 2))) (fma.f32 1/120 (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 (*.f32 x tau) 4)) (fma.f32 -1/5040 (*.f32 (pow.f32 tau 6) (pow.f32 (*.f32 x (PI.f32)) 6)) 1)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 x (PI.f32))))
(/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (*.f32 (PI.f32) (*.f32 x tau)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 x (PI.f32))))
(/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (*.f32 (PI.f32) (*.f32 x tau)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 x (PI.f32))))
(/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (*.f32 (PI.f32) (*.f32 x tau)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 x (PI.f32))))
(/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (*.f32 (PI.f32) (*.f32 x tau)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 x (PI.f32))))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 x (PI.f32))))
(/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (*.f32 (PI.f32) (*.f32 x tau)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 x (PI.f32))))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 x (PI.f32))))
(/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (*.f32 (PI.f32) (*.f32 x tau)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 x (PI.f32))))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 x (PI.f32))))
(/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (*.f32 (PI.f32) (*.f32 x tau)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 x (PI.f32))))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 x (PI.f32))))
(/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (*.f32 (PI.f32) (*.f32 x tau)))

localize219.0ms (1.8%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.4b
(/.f32 (sin.f32 (*.f32 x (PI.f32))) (-.f32 (+.f32 1 (*.f32 (PI.f32) x)) 1))
0.4b
(sin.f32 (*.f32 (*.f32 x (PI.f32)) tau))
0.5b
(/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau))
5.1b
(-.f32 (+.f32 1 (*.f32 (PI.f32) x)) 1)
Compiler

Compiled 88 to 27 computations (69.3% saved)

series2.0ms (0%)

Counts
2 → 24
Calls

6 calls:

TimeVariablePointExpression
0.0ms
x
@0
(-.f32 (+.f32 1 (*.f32 (PI.f32) x)) 1)
0.0ms
x
@0
(/.f32 (sin.f32 (*.f32 x (PI.f32))) (-.f32 (+.f32 1 (*.f32 (PI.f32) x)) 1))
0.0ms
x
@-inf
(/.f32 (sin.f32 (*.f32 x (PI.f32))) (-.f32 (+.f32 1 (*.f32 (PI.f32) x)) 1))
0.0ms
x
@-inf
(-.f32 (+.f32 1 (*.f32 (PI.f32) x)) 1)
0.0ms
x
@inf
(-.f32 (+.f32 1 (*.f32 (PI.f32) x)) 1)

rewrite248.0ms (2.1%)

Algorithm
batch-egg-rewrite
Rules
814×prod-diff_binary32
439×log-prod_binary32
392×fma-def_binary32
268×pow-prod-down_binary32
237×pow2_binary32
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01031
122019
2293119
Stop Event
node limit
Counts
2 → 125
Calls
Call 1
Inputs
(-.f32 (+.f32 1 (*.f32 (PI.f32) x)) 1)
(/.f32 (sin.f32 (*.f32 x (PI.f32))) (-.f32 (+.f32 1 (*.f32 (PI.f32) x)) 1))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f32 1 (fma.f32 (PI.f32) x -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 1 (*.f32 (fma.f32 (PI.f32) x -1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 (PI.f32) x) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (fma.f32 (PI.f32) x 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (*.f32 (PI.f32) x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 -1 (fma.f32 (PI.f32) x 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (fma.f32 (PI.f32) x -1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (pow.f32 (cbrt.f32 (pow.f32 (exp.f32 (PI.f32)) x)) 2)) (log.f32 (cbrt.f32 (pow.f32 (exp.f32 (PI.f32)) x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (sqrt.f32 (pow.f32 (exp.f32 (PI.f32)) x))) (log.f32 (sqrt.f32 (pow.f32 (exp.f32 (PI.f32)) x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (*.f32 (PI.f32) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (PI.f32) x)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 x (PI.f32))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (PI.f32) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 (PI.f32)) 2) (*.f32 (cbrt.f32 (PI.f32)) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (*.f32 (PI.f32) x)) (cbrt.f32 (pow.f32 (*.f32 (PI.f32) x) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (pow.f32 (*.f32 (PI.f32) x) 2)) (cbrt.f32 (*.f32 (PI.f32) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 x) 2) (*.f32 (cbrt.f32 x) (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (PI.f32)) (*.f32 (sqrt.f32 (PI.f32)) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (*.f32 (PI.f32) x)) (sqrt.f32 (*.f32 (PI.f32) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 x) (*.f32 (sqrt.f32 x) (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (+.f32 (pow.f32 (fma.f32 (PI.f32) x 1) 3) -1) (/.f32 1 (+.f32 (pow.f32 (fma.f32 (PI.f32) x 1) 2) (fma.f32 (PI.f32) x 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (+.f32 (pow.f32 (fma.f32 (PI.f32) x 1) 2) -1) (/.f32 1 (fma.f32 (PI.f32) x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (+.f32 (sqrt.f32 (fma.f32 (PI.f32) x 1)) 1) (-.f32 (sqrt.f32 (fma.f32 (PI.f32) x 1)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (PI.f32) (pow.f32 (cbrt.f32 x) 2)) (cbrt.f32 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (PI.f32) (sqrt.f32 x)) (sqrt.f32 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 x (pow.f32 (cbrt.f32 (PI.f32)) 2)) (cbrt.f32 (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 x (sqrt.f32 (PI.f32))) (sqrt.f32 (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 1 (/.f32 (+.f32 (pow.f32 (fma.f32 (PI.f32) x 1) 2) (fma.f32 (PI.f32) x 2)) (+.f32 (pow.f32 (fma.f32 (PI.f32) x 1) 3) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 1 (/.f32 (fma.f32 (PI.f32) x 2) (+.f32 (pow.f32 (fma.f32 (PI.f32) x 1) 2) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (pow.f32 (fma.f32 (PI.f32) x 1) 3) -1) (+.f32 (pow.f32 (fma.f32 (PI.f32) x 1) 2) (fma.f32 (PI.f32) x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (pow.f32 (fma.f32 (PI.f32) x 1) 3) -1) (+.f32 (pow.f32 (fma.f32 (PI.f32) x 1) 2) (-.f32 1 (*.f32 (fma.f32 (PI.f32) x 1) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (pow.f32 (fma.f32 (PI.f32) x 1) 2) -1) (fma.f32 (PI.f32) x 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (neg.f32 (+.f32 (pow.f32 (fma.f32 (PI.f32) x 1) 3) -1)) (neg.f32 (+.f32 (pow.f32 (fma.f32 (PI.f32) x 1) 2) (fma.f32 (PI.f32) x 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (neg.f32 (+.f32 (pow.f32 (fma.f32 (PI.f32) x 1) 2) -1)) (neg.f32 (fma.f32 (PI.f32) x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 1 (pow.f32 (fma.f32 (PI.f32) x -1) 3)) (+.f32 1 (-.f32 (pow.f32 (fma.f32 (PI.f32) x -1) 2) (fma.f32 (PI.f32) x -1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 1 (pow.f32 (fma.f32 (PI.f32) x -1) 2)) (-.f32 1 (fma.f32 (PI.f32) x -1)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 (PI.f32) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (*.f32 (PI.f32) x) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (*.f32 (PI.f32) x) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (*.f32 (PI.f32) x)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (*.f32 (PI.f32) x)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (/.f32 (+.f32 (pow.f32 (fma.f32 (PI.f32) x 1) 2) (fma.f32 (PI.f32) x 2)) (+.f32 (pow.f32 (fma.f32 (PI.f32) x 1) 3) -1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (/.f32 (fma.f32 (PI.f32) x 2) (+.f32 (pow.f32 (fma.f32 (PI.f32) x 1) 2) -1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (*.f32 (PI.f32) x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (pow.f32 (exp.f32 (PI.f32)) x))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (*.f32 (PI.f32) x))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (*.f32 (PI.f32) x) 3))))) (#(struct:change #<rule egg-rr> (2) ((x hypot.f32 (sqrt.f32 (*.f32 (PI.f32) x)) (sqrt.f32 (*.f32 (*.f32 (PI.f32) x) (fma.f32 (PI.f32) x -1))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (*.f32 (PI.f32) x)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (*.f32 (log1p.f32 (*.f32 (PI.f32) x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (*.f32 (PI.f32) x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (*.f32 (PI.f32) x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (*.f32 (PI.f32) x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 1 (*.f32 (PI.f32) x) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 1 (fma.f32 (PI.f32) x 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 1 (fma.f32 (PI.f32) x -1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (PI.f32) x 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 x (PI.f32) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 (PI.f32) x) 1 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (fma.f32 (PI.f32) x 1) 1 -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (cbrt.f32 (fma.f32 (PI.f32) x 1)) (pow.f32 (cbrt.f32 (fma.f32 (PI.f32) x 1)) 2) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (pow.f32 (cbrt.f32 (fma.f32 (PI.f32) x 1)) 2) (cbrt.f32 (fma.f32 (PI.f32) x 1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (pow.f32 (cbrt.f32 (fma.f32 (PI.f32) x 1)) 2) (*.f32 (cbrt.f32 (fma.f32 (PI.f32) x 1)) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (pow.f32 (cbrt.f32 (PI.f32)) 2) (*.f32 (cbrt.f32 (PI.f32)) x) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (cbrt.f32 (*.f32 (PI.f32) x)) (cbrt.f32 (pow.f32 (*.f32 (PI.f32) x) 2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (cbrt.f32 (pow.f32 (*.f32 (PI.f32) x) 2)) (cbrt.f32 (*.f32 (PI.f32) x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (pow.f32 (cbrt.f32 x) 2) (*.f32 (cbrt.f32 x) (PI.f32)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sqrt.f32 (fma.f32 (PI.f32) x 1)) (sqrt.f32 (fma.f32 (PI.f32) x 1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sqrt.f32 (fma.f32 (PI.f32) x 1)) (*.f32 (sqrt.f32 (fma.f32 (PI.f32) x 1)) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sqrt.f32 (PI.f32)) (*.f32 (sqrt.f32 (PI.f32)) x) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sqrt.f32 (*.f32 (PI.f32) x)) (sqrt.f32 (*.f32 (PI.f32) x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sqrt.f32 x) (*.f32 (sqrt.f32 x) (PI.f32)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (+.f32 (pow.f32 (fma.f32 (PI.f32) x 1) 3) -1) (/.f32 1 (+.f32 (pow.f32 (fma.f32 (PI.f32) x 1) 2) (fma.f32 (PI.f32) x 2))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (+.f32 1 (pow.f32 (*.f32 (PI.f32) x) 3)) (/.f32 1 (fma.f32 (*.f32 (PI.f32) x) (fma.f32 (PI.f32) x -1) 1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (+.f32 (pow.f32 (fma.f32 (PI.f32) x 1) 2) -1) (/.f32 1 (fma.f32 (PI.f32) x 2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (-.f32 1 (pow.f32 (*.f32 (PI.f32) x) 2)) (/.f32 1 (-.f32 1 (*.f32 (PI.f32) x))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (pow.f32 (cbrt.f32 (fma.f32 (PI.f32) x -1)) 2) (cbrt.f32 (fma.f32 (PI.f32) x -1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sqrt.f32 (fma.f32 (PI.f32) x -1)) (sqrt.f32 (fma.f32 (PI.f32) x -1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (+.f32 (sqrt.f32 (fma.f32 (PI.f32) x 1)) 1) (-.f32 (sqrt.f32 (fma.f32 (PI.f32) x 1)) 1) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (fma.f32 (sqrt.f32 (PI.f32)) (sqrt.f32 x) 1) (-.f32 (sqrt.f32 (*.f32 (PI.f32) x)) 1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 (PI.f32) (pow.f32 (cbrt.f32 x) 2)) (cbrt.f32 x) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 (PI.f32) (sqrt.f32 x)) (sqrt.f32 x) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 x (pow.f32 (cbrt.f32 (PI.f32)) 2)) (cbrt.f32 (PI.f32)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 x (sqrt.f32 (PI.f32))) (sqrt.f32 (PI.f32)) 0)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 (PI.f32) x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (pow.f32 (cbrt.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 (PI.f32) x)))) 2)) (log.f32 (cbrt.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 (PI.f32) x))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (sqrt.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 (PI.f32) x))))) (log.f32 (sqrt.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 (PI.f32) x))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 (PI.f32) x)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 (PI.f32) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sin.f32 (*.f32 (PI.f32) x)) (/.f32 1 (*.f32 (PI.f32) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 (PI.f32) x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 (sin.f32 (*.f32 (PI.f32) x))) 2) (*.f32 (cbrt.f32 (sin.f32 (*.f32 (PI.f32) x))) (/.f32 1 (*.f32 (PI.f32) x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 (PI.f32) x))) (pow.f32 (cbrt.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 (PI.f32) x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 (PI.f32) x))) 2) (cbrt.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 (PI.f32) x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (sin.f32 (*.f32 (PI.f32) x))) (*.f32 (sqrt.f32 (sin.f32 (*.f32 (PI.f32) x))) (/.f32 1 (*.f32 (PI.f32) x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 (PI.f32) x))) (sqrt.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 (PI.f32) x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (neg.f32 (sin.f32 (*.f32 (PI.f32) x))) (/.f32 1 (neg.f32 (*.f32 (PI.f32) x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1 (*.f32 (PI.f32) x)) (sin.f32 (*.f32 (PI.f32) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (pow.f32 (cbrt.f32 (sin.f32 (*.f32 (PI.f32) x))) 2) 1) (/.f32 (cbrt.f32 (sin.f32 (*.f32 (PI.f32) x))) (*.f32 (PI.f32) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (sqrt.f32 (sin.f32 (*.f32 (PI.f32) x))) 1) (/.f32 (sqrt.f32 (sin.f32 (*.f32 (PI.f32) x))) (*.f32 (PI.f32) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 (*.f32 (PI.f32) x)) -2) (/.f32 (sin.f32 (*.f32 (PI.f32) x)) (cbrt.f32 (*.f32 (PI.f32) x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (pow.f32 (cbrt.f32 (sin.f32 (*.f32 (PI.f32) x))) 2) (cbrt.f32 (pow.f32 (*.f32 (PI.f32) x) 2))) (cbrt.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 (PI.f32) x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (sqrt.f32 (sin.f32 (*.f32 (PI.f32) x))) (cbrt.f32 (pow.f32 (*.f32 (PI.f32) x) 2))) (/.f32 (sqrt.f32 (sin.f32 (*.f32 (PI.f32) x))) (cbrt.f32 (*.f32 (PI.f32) x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (*.f32 (PI.f32) x) -1/2) (/.f32 (sin.f32 (*.f32 (PI.f32) x)) (sqrt.f32 (*.f32 (PI.f32) x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (pow.f32 (cbrt.f32 (sin.f32 (*.f32 (PI.f32) x))) 2) (sqrt.f32 (*.f32 (PI.f32) x))) (/.f32 (cbrt.f32 (sin.f32 (*.f32 (PI.f32) x))) (sqrt.f32 (*.f32 (PI.f32) x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) x)) (+.f32 (pow.f32 (fma.f32 (PI.f32) x 1) 3) -1)) (+.f32 (pow.f32 (fma.f32 (PI.f32) x 1) 2) (fma.f32 (PI.f32) x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) x)) (+.f32 (pow.f32 (fma.f32 (PI.f32) x 1) 2) -1)) (fma.f32 (PI.f32) x 2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 (PI.f32) x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 (PI.f32) x)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 (PI.f32) x)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 (PI.f32) x))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 (PI.f32) x))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (/.f32 (*.f32 (PI.f32) x) (sin.f32 (*.f32 (PI.f32) x))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (/.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) x)) 3) (pow.f32 (*.f32 (PI.f32) x) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (/.f32 (/.f32 (*.f32 (PI.f32) x) (sin.f32 (*.f32 (PI.f32) x))) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) x)) (neg.f32 (*.f32 (PI.f32) x))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 (PI.f32) x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 (PI.f32) x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 (PI.f32) x)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 (PI.f32) x)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (/.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) x)) 3) (pow.f32 (*.f32 (PI.f32) x) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 (PI.f32) x))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 (PI.f32) x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 (PI.f32) x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 (PI.f32) x))) 1))))))

simplify196.0ms (1.6%)

Algorithm
egg-herbie
Rules
989×fma-def_binary32
679×sqr-pow_binary32
469×associate-/r*_binary32
463×pow-sqr_binary32
438×cube-prod_binary32
Iterations

Useful iterations: 6 (0.0ms)

IterNodesCost
033266
179262
2206260
3857260
42193254
52827251
63712242
74448242
84700242
95028242
105470242
116015242
126776242
137068242
147304242
157490242
167646242
177758242
Stop Event
node limit
Counts
149 → 135
Calls
Call 1
Inputs
(*.f32 (PI.f32) x)
(*.f32 (PI.f32) x)
(*.f32 (PI.f32) x)
(*.f32 (PI.f32) x)
(*.f32 (PI.f32) x)
(*.f32 (PI.f32) x)
(*.f32 (PI.f32) x)
(*.f32 (PI.f32) x)
(*.f32 (PI.f32) x)
(*.f32 (PI.f32) x)
(*.f32 (PI.f32) x)
(*.f32 (PI.f32) x)
1
(+.f32 1 (*.f32 -1/6 (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2))))
(+.f32 (*.f32 1/120 (*.f32 (pow.f32 x 4) (pow.f32 (PI.f32) 4))) (+.f32 1 (*.f32 -1/6 (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2)))))
(+.f32 (*.f32 1/120 (*.f32 (pow.f32 x 4) (pow.f32 (PI.f32) 4))) (+.f32 1 (+.f32 (*.f32 -1/6 (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2))) (*.f32 -1/5040 (*.f32 (pow.f32 x 6) (pow.f32 (PI.f32) 6))))))
(/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 x (PI.f32)))
(/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 x (PI.f32)))
(/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 x (PI.f32)))
(/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 x (PI.f32)))
(/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32)))
(/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32)))
(/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32)))
(/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32)))
Outputs
(*.f32 (PI.f32) x)
(*.f32 (PI.f32) x)
(*.f32 (PI.f32) x)
(*.f32 (PI.f32) x)
(*.f32 (PI.f32) x)
(*.f32 (PI.f32) x)
(*.f32 (PI.f32) x)
(*.f32 (PI.f32) x)
(*.f32 (PI.f32) x)
(*.f32 (PI.f32) x)
(*.f32 (PI.f32) x)
(*.f32 (PI.f32) x)
1
(+.f32 1 (*.f32 -1/6 (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2))))
(+.f32 1 (*.f32 -1/6 (*.f32 (*.f32 x x) (pow.f32 (PI.f32) 2))))
(fma.f32 -1/6 (*.f32 (*.f32 x x) (pow.f32 (PI.f32) 2)) 1)
(fma.f32 x (*.f32 -1/6 (*.f32 x (pow.f32 (PI.f32) 2))) 1)
(fma.f32 -1/6 (pow.f32 (*.f32 (PI.f32) x) 2) 1)
(+.f32 (*.f32 1/120 (*.f32 (pow.f32 x 4) (pow.f32 (PI.f32) 4))) (+.f32 1 (*.f32 -1/6 (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2)))))
(fma.f32 1/120 (*.f32 (pow.f32 x 4) (pow.f32 (PI.f32) 4)) (+.f32 1 (*.f32 -1/6 (*.f32 (*.f32 x x) (pow.f32 (PI.f32) 2)))))
(fma.f32 1/120 (*.f32 (pow.f32 x 4) (pow.f32 (PI.f32) 4)) (fma.f32 -1/6 (*.f32 (*.f32 x x) (pow.f32 (PI.f32) 2)) 1))
(fma.f32 -1/6 (*.f32 (*.f32 x x) (pow.f32 (PI.f32) 2)) (fma.f32 1/120 (*.f32 (pow.f32 x 4) (pow.f32 (PI.f32) 4)) 1))
(fma.f32 (pow.f32 (PI.f32) 2) (*.f32 -1/6 (*.f32 x x)) (fma.f32 1/120 (*.f32 (pow.f32 x 4) (pow.f32 (PI.f32) 4)) 1))
(fma.f32 x (*.f32 (pow.f32 (PI.f32) 2) (*.f32 x -1/6)) (fma.f32 1/120 (pow.f32 (*.f32 (PI.f32) x) 4) 1))
(fma.f32 -1/6 (pow.f32 (*.f32 (PI.f32) x) 2) (fma.f32 1/120 (pow.f32 (*.f32 (PI.f32) x) 4) 1))
(+.f32 (*.f32 1/120 (*.f32 (pow.f32 x 4) (pow.f32 (PI.f32) 4))) (+.f32 1 (+.f32 (*.f32 -1/6 (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2))) (*.f32 -1/5040 (*.f32 (pow.f32 x 6) (pow.f32 (PI.f32) 6))))))
(fma.f32 1/120 (*.f32 (pow.f32 x 4) (pow.f32 (PI.f32) 4)) (+.f32 1 (fma.f32 -1/6 (*.f32 (*.f32 x x) (pow.f32 (PI.f32) 2)) (*.f32 -1/5040 (*.f32 (pow.f32 x 6) (pow.f32 (PI.f32) 6))))))
(+.f32 (fma.f32 1/120 (*.f32 (pow.f32 x 4) (pow.f32 (PI.f32) 4)) (fma.f32 -1/6 (*.f32 (*.f32 x x) (pow.f32 (PI.f32) 2)) 1)) (*.f32 -1/5040 (*.f32 (pow.f32 x 6) (pow.f32 (PI.f32) 6))))
(fma.f32 1/120 (*.f32 (pow.f32 x 4) (pow.f32 (PI.f32) 4)) (fma.f32 -1/6 (*.f32 (*.f32 x x) (pow.f32 (PI.f32) 2)) (fma.f32 -1/5040 (*.f32 (pow.f32 x 6) (pow.f32 (PI.f32) 6)) 1)))
(fma.f32 -1/5040 (*.f32 (pow.f32 x 6) (pow.f32 (PI.f32) 6)) (fma.f32 (pow.f32 (PI.f32) 2) (*.f32 -1/6 (*.f32 x x)) (fma.f32 1/120 (*.f32 (pow.f32 x 4) (pow.f32 (PI.f32) 4)) 1)))
(fma.f32 -1/5040 (*.f32 (pow.f32 x 6) (pow.f32 (PI.f32) 6)) (fma.f32 x (*.f32 (pow.f32 (PI.f32) 2) (*.f32 x -1/6)) (fma.f32 1/120 (pow.f32 (*.f32 (PI.f32) x) 4) 1)))
(fma.f32 -1/5040 (pow.f32 (*.f32 (PI.f32) x) 6) (fma.f32 x (*.f32 (pow.f32 (PI.f32) 2) (*.f32 x -1/6)) (fma.f32 1/120 (pow.f32 (*.f32 (PI.f32) x) 4) 1)))
(fma.f32 -1/6 (pow.f32 (*.f32 (PI.f32) x) 2) (fma.f32 -1/5040 (pow.f32 (*.f32 (PI.f32) x) 6) (fma.f32 1/120 (pow.f32 (*.f32 (PI.f32) x) 4) 1)))
(fma.f32 (pow.f32 (*.f32 (PI.f32) x) 2) (fma.f32 (pow.f32 (*.f32 (PI.f32) x) 2) 1/120 -1/6) (fma.f32 -1/5040 (pow.f32 (*.f32 (PI.f32) x) 6) 1))
(/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 x (PI.f32)))
(/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 (PI.f32) x))
(/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 x (PI.f32)))
(/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 (PI.f32) x))
(/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 x (PI.f32)))
(/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 (PI.f32) x))
(/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 x (PI.f32)))
(/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 (PI.f32) x))
(/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32)))
(/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 (PI.f32) x))
(/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32)))
(/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 (PI.f32) x))
(/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32)))
(/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 (PI.f32) x))
(/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32)))
(/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 (PI.f32) x))

localize59.0ms (0.5%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.4b
(/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32)))
0.4b
(sin.f32 (*.f32 (*.f32 x (PI.f32)) tau))
0.5b
(/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau))
0.5b
(log.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32)))))
Compiler

Compiled 85 to 12 computations (85.9% saved)

series1.0ms (0%)

Counts
1 → 12
Calls

3 calls:

TimeVariablePointExpression
0.0ms
x
@0
(log.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32)))))
0.0ms
x
@-inf
(log.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32)))))
0.0ms
x
@inf
(log.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32)))))

rewrite93.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
788×pow1_binary32
728×add-log-exp_binary32
728×log1p-expm1-u_binary32
728×expm1-log1p-u_binary32
711×add-exp-log_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0814
114814
2192414
Stop Event
node limit
Counts
1 → 57
Calls
Call 1
Inputs
(log.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32)))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (pow.f32 (cbrt.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))) 2)) (log.f32 (cbrt.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (sqrt.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32)))))) (log.f32 (sqrt.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 1 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sin.f32 (*.f32 x (PI.f32))) (/.f32 1 (*.f32 x (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32)))) (pow.f32 (cbrt.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32)))) 2) (cbrt.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 (sin.f32 (*.f32 x (PI.f32)))) 2) (*.f32 (cbrt.f32 (sin.f32 (*.f32 x (PI.f32)))) (/.f32 1 (*.f32 x (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32)))) (sqrt.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (sin.f32 (*.f32 x (PI.f32)))) (*.f32 (sqrt.f32 (sin.f32 (*.f32 x (PI.f32)))) (/.f32 1 (*.f32 x (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (neg.f32 (sin.f32 (*.f32 x (PI.f32)))) (/.f32 1 (*.f32 x (neg.f32 (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1 (*.f32 x (PI.f32))) (sin.f32 (*.f32 x (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) x) (/.f32 1 (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1 x) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (pow.f32 (cbrt.f32 (sin.f32 (*.f32 x (PI.f32)))) 2) x) (/.f32 (cbrt.f32 (sin.f32 (*.f32 x (PI.f32)))) (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (sqrt.f32 (sin.f32 (*.f32 x (PI.f32)))) x) (/.f32 (sqrt.f32 (sin.f32 (*.f32 x (PI.f32)))) (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (sqrt.f32 (sin.f32 (*.f32 x (PI.f32)))) (PI.f32)) (/.f32 (sqrt.f32 (sin.f32 (*.f32 x (PI.f32)))) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1 (PI.f32)) (/.f32 (sin.f32 (*.f32 x (PI.f32))) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (pow.f32 (cbrt.f32 (sin.f32 (*.f32 x (PI.f32)))) 2) (PI.f32)) (/.f32 (cbrt.f32 (sin.f32 (*.f32 x (PI.f32)))) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (pow.f32 (cbrt.f32 (sin.f32 (*.f32 x (PI.f32)))) 2) 1) (/.f32 (cbrt.f32 (sin.f32 (*.f32 x (PI.f32)))) (*.f32 x (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (sqrt.f32 (sin.f32 (*.f32 x (PI.f32)))) 1) (/.f32 (sqrt.f32 (sin.f32 (*.f32 x (PI.f32)))) (*.f32 x (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1 (pow.f32 (cbrt.f32 (*.f32 x (PI.f32))) 2)) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (cbrt.f32 (*.f32 x (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (pow.f32 (cbrt.f32 (sin.f32 (*.f32 x (PI.f32)))) 2) (pow.f32 (cbrt.f32 (*.f32 x (PI.f32))) 2)) (cbrt.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (sqrt.f32 (sin.f32 (*.f32 x (PI.f32)))) (pow.f32 (cbrt.f32 (*.f32 x (PI.f32))) 2)) (/.f32 (sqrt.f32 (sin.f32 (*.f32 x (PI.f32)))) (cbrt.f32 (*.f32 x (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1 (sqrt.f32 (*.f32 x (PI.f32)))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (sqrt.f32 (*.f32 x (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (pow.f32 (cbrt.f32 (sin.f32 (*.f32 x (PI.f32)))) 2) (sqrt.f32 (*.f32 x (PI.f32)))) (/.f32 (cbrt.f32 (sin.f32 (*.f32 x (PI.f32)))) (sqrt.f32 (*.f32 x (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 1 (/.f32 (*.f32 x (PI.f32)) (sin.f32 (*.f32 x (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 1 (/.f32 (/.f32 (*.f32 x (PI.f32)) (sin.f32 (*.f32 x (PI.f32)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (pow.f32 (cbrt.f32 (sin.f32 (*.f32 x (PI.f32)))) 2) (/.f32 (*.f32 x (PI.f32)) (cbrt.f32 (sin.f32 (*.f32 x (PI.f32))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (sqrt.f32 (sin.f32 (*.f32 x (PI.f32)))) (/.f32 (*.f32 x (PI.f32)) (sqrt.f32 (sin.f32 (*.f32 x (PI.f32))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (neg.f32 (sin.f32 (*.f32 x (PI.f32)))) (*.f32 x (neg.f32 (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) x) (PI.f32))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 -1 (neg.f32 (/.f32 (*.f32 x (PI.f32)) (sin.f32 (*.f32 x (PI.f32))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (neg.f32 (neg.f32 (sin.f32 (*.f32 x (PI.f32))))) (neg.f32 (*.f32 x (neg.f32 (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (neg.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) x)) (neg.f32 (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (PI.f32)) x)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (sqrt.f32 (*.f32 x (PI.f32)))) (sqrt.f32 (*.f32 x (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) 1) (*.f32 x (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (pow.f32 (cbrt.f32 (*.f32 x (PI.f32))) 2)) (cbrt.f32 (*.f32 x (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (/.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) x) 1) (PI.f32))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (/.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) x) (pow.f32 (cbrt.f32 (PI.f32)) 2)) (cbrt.f32 (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (/.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) x) (sqrt.f32 (PI.f32))) (sqrt.f32 (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (/.f32 (*.f32 x (PI.f32)) (sin.f32 (*.f32 x (PI.f32)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (neg.f32 (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (/.f32 (pow.f32 (sin.f32 (*.f32 x (PI.f32))) 3) (pow.f32 (*.f32 x (PI.f32)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32)))))))))

simplify188.0ms (1.6%)

Algorithm
egg-herbie
Rules
989×fma-def_binary32
679×sqr-pow_binary32
474×associate-/r*_binary32
463×pow-sqr_binary32
438×cube-prod_binary32
Iterations

Useful iterations: 6 (0.0ms)

IterNodesCost
033206
179202
2206200
3857200
42190194
52829191
63717182
74463182
84715182
95043182
105485182
116030182
126797182
137085182
147325182
157515182
167671182
177785182
Stop Event
node limit
Counts
69 → 65
Calls
Call 1
Inputs
1
(+.f32 1 (*.f32 -1/6 (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2))))
(+.f32 (*.f32 1/120 (*.f32 (pow.f32 x 4) (pow.f32 (PI.f32) 4))) (+.f32 1 (*.f32 -1/6 (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2)))))
(+.f32 (*.f32 1/120 (*.f32 (pow.f32 x 4) (pow.f32 (PI.f32) 4))) (+.f32 1 (+.f32 (*.f32 -1/6 (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2))) (*.f32 -1/5040 (*.f32 (pow.f32 x 6) (pow.f32 (PI.f32) 6))))))
(/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 x (PI.f32)))
(/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 x (PI.f32)))
(/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 x (PI.f32)))
(/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 x (PI.f32)))
(/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32)))
(/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32)))
(/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32)))
(/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32)))
Outputs
1
(+.f32 1 (*.f32 -1/6 (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2))))
(+.f32 1 (*.f32 -1/6 (*.f32 (*.f32 x x) (pow.f32 (PI.f32) 2))))
(fma.f32 -1/6 (*.f32 (*.f32 x x) (pow.f32 (PI.f32) 2)) 1)
(fma.f32 (*.f32 x x) (*.f32 -1/6 (pow.f32 (PI.f32) 2)) 1)
(fma.f32 -1/6 (pow.f32 (*.f32 x (PI.f32)) 2) 1)
(+.f32 (*.f32 1/120 (*.f32 (pow.f32 x 4) (pow.f32 (PI.f32) 4))) (+.f32 1 (*.f32 -1/6 (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2)))))
(fma.f32 1/120 (*.f32 (pow.f32 x 4) (pow.f32 (PI.f32) 4)) (+.f32 1 (*.f32 -1/6 (*.f32 (*.f32 x x) (pow.f32 (PI.f32) 2)))))
(fma.f32 1/120 (*.f32 (pow.f32 x 4) (pow.f32 (PI.f32) 4)) (fma.f32 -1/6 (*.f32 (*.f32 x x) (pow.f32 (PI.f32) 2)) 1))
(fma.f32 (pow.f32 x 4) (*.f32 1/120 (pow.f32 (PI.f32) 4)) (fma.f32 (*.f32 x x) (*.f32 -1/6 (pow.f32 (PI.f32) 2)) 1))
(fma.f32 -1/6 (*.f32 (*.f32 x x) (pow.f32 (PI.f32) 2)) (fma.f32 1/120 (*.f32 (pow.f32 x 4) (pow.f32 (PI.f32) 4)) 1))
(fma.f32 1/120 (pow.f32 (*.f32 x (PI.f32)) 4) (fma.f32 -1/6 (*.f32 (*.f32 x x) (pow.f32 (PI.f32) 2)) 1))
(fma.f32 (pow.f32 (*.f32 x (PI.f32)) 2) (fma.f32 (pow.f32 (*.f32 x (PI.f32)) 2) 1/120 -1/6) 1)
(fma.f32 -1/6 (pow.f32 (*.f32 x (PI.f32)) 2) (fma.f32 1/120 (pow.f32 (*.f32 x (PI.f32)) 4) 1))
(+.f32 (*.f32 1/120 (*.f32 (pow.f32 x 4) (pow.f32 (PI.f32) 4))) (+.f32 1 (+.f32 (*.f32 -1/6 (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2))) (*.f32 -1/5040 (*.f32 (pow.f32 x 6) (pow.f32 (PI.f32) 6))))))
(fma.f32 1/120 (*.f32 (pow.f32 x 4) (pow.f32 (PI.f32) 4)) (+.f32 1 (fma.f32 -1/6 (*.f32 (*.f32 x x) (pow.f32 (PI.f32) 2)) (*.f32 -1/5040 (*.f32 (pow.f32 x 6) (pow.f32 (PI.f32) 6))))))
(+.f32 (fma.f32 1/120 (*.f32 (pow.f32 x 4) (pow.f32 (PI.f32) 4)) (fma.f32 -1/6 (*.f32 (*.f32 x x) (pow.f32 (PI.f32) 2)) 1)) (*.f32 -1/5040 (*.f32 (pow.f32 x 6) (pow.f32 (PI.f32) 6))))
(fma.f32 1/120 (*.f32 (pow.f32 x 4) (pow.f32 (PI.f32) 4)) (fma.f32 (*.f32 x x) (*.f32 -1/6 (pow.f32 (PI.f32) 2)) (fma.f32 (pow.f32 x 6) (*.f32 -1/5040 (pow.f32 (PI.f32) 6)) 1)))
(fma.f32 (pow.f32 (PI.f32) 2) (fma.f32 -1/6 (*.f32 x x) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 1/120 (pow.f32 x 4)))) (fma.f32 -1/5040 (*.f32 (pow.f32 x 6) (pow.f32 (PI.f32) 6)) 1))
(fma.f32 -1/6 (*.f32 (*.f32 x x) (pow.f32 (PI.f32) 2)) (fma.f32 1/120 (pow.f32 (*.f32 x (PI.f32)) 4) (fma.f32 -1/5040 (*.f32 (pow.f32 x 6) (pow.f32 (PI.f32) 6)) 1)))
(fma.f32 -1/6 (*.f32 (*.f32 x x) (pow.f32 (PI.f32) 2)) (fma.f32 1/120 (pow.f32 (*.f32 x (PI.f32)) 4) (fma.f32 -1/5040 (pow.f32 (*.f32 x (PI.f32)) 6) 1)))
(fma.f32 (pow.f32 (*.f32 x (PI.f32)) 2) (fma.f32 (pow.f32 (*.f32 x (PI.f32)) 2) 1/120 -1/6) (fma.f32 -1/5040 (pow.f32 (*.f32 x (PI.f32)) 6) 1))
(/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 x (PI.f32)))
(/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32)))
(/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 x (PI.f32)))
(/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32)))
(/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 x (PI.f32)))
(/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32)))
(/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 x (PI.f32)))
(/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32)))
(/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32)))
(/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32)))
(/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32)))
(/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32)))

eval352.0ms (2.9%)

Compiler

Compiled 25629 to 7179 computations (72% saved)

prune484.0ms (4%)

Pruning

61 alts after pruning (55 fresh and 6 done)

PrunedKeptTotal
New88540925
Fresh181533
Picked101
Done066
Total90461965
Error
0.1b
Counts
965 → 61
Alt Table
Click to see full alt table
StatusErrorProgram
5.6b
(*.f32 (log.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau))))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (-.f32 (+.f32 1 (*.f32 (PI.f32) x)) 1)))
0.8b
(*.f32 (+.f32 0 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau)))) (*.f32 (neg.f32 (sin.f32 (*.f32 x (PI.f32)))) (/.f32 1 (*.f32 x (neg.f32 (PI.f32))))))
0.8b
(*.f32 (/.f32 1 (/.f32 (PI.f32) (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 x tau)))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
1.0b
(*.f32 (*.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (PI.f32))) (/.f32 1 tau)) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
11.8b
(*.f32 1 (+.f32 1 (*.f32 -1/6 (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2)))))
0.8b
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
0.9b
(*.f32 (+.f32 0 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau)))) (*.f32 (/.f32 (/.f32 1 x) (PI.f32)) (sin.f32 (*.f32 x (PI.f32)))))
11.9b
(*.f32 1 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
11.8b
(*.f32 1 (fma.f32 (pow.f32 (PI.f32) 2) (*.f32 x (*.f32 -1/6 x)) 1))
4.9b
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (fma.f32 -1/6 (pow.f32 (*.f32 (PI.f32) x) 2) 1))
1.0b
(*.f32 (*.f32 (/.f32 (/.f32 1 x) (PI.f32)) (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) tau)) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
14.4b
(*.f32 1 (/.f32 (sin.f32 (-.f32 (+.f32 1 (*.f32 (PI.f32) x)) 1)) (*.f32 x (PI.f32))))
6.8b
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (+.f32 (log.f32 (pow.f32 (cbrt.f32 (pow.f32 (exp.f32 (PI.f32)) x)) 2)) (log.f32 (cbrt.f32 (pow.f32 (exp.f32 (PI.f32)) x))))))
0.8b
(*.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 (*.f32 x (PI.f32)) (*.f32 (PI.f32) (*.f32 x tau)))))
0.7b
(*.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (*.f32 (PI.f32) (*.f32 x tau))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
14.4b
(*.f32 1 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (-.f32 (+.f32 1 (*.f32 (PI.f32) x)) 1)))
0.9b
(*.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (/.f32 (sin.f32 (expm1.f32 (log1p.f32 (*.f32 (PI.f32) x)))) (*.f32 (*.f32 x (PI.f32)) (*.f32 (PI.f32) (*.f32 x tau)))))
9.6b
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) 1)
1.1b
(*.f32 (/.f32 (sin.f32 (*.f32 (pow.f32 (sqrt.f32 (*.f32 (PI.f32) x)) 2) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
0.9b
(*.f32 (/.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 x (PI.f32))) tau) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
1.2b
(*.f32 (*.f32 (/.f32 (pow.f32 (cbrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) 2) x) (/.f32 (cbrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) (*.f32 (PI.f32) tau))) (log.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))))
0.8b
(*.f32 (/.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 x tau)) (PI.f32)) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
0.9b
(*.f32 (-.f32 (exp.f32 (log1p.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (PI.f32) (*.f32 tau x))))) 1) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
0.8b
(*.f32 (+.f32 0 (-.f32 (+.f32 1 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau)))) 1)) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
4.9b
(*.f32 (-.f32 (+.f32 1 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau)))) 1) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 (*.f32 x (PI.f32)) (*.f32 (PI.f32) (*.f32 x tau)))))
5.6b
(*.f32 (+.f32 (log.f32 (sqrt.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau)))))) (log.f32 (sqrt.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau))))))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (-.f32 (+.f32 1 (*.f32 (PI.f32) x)) 1)))
0.9b
(*.f32 (/.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) x) (*.f32 (PI.f32) tau)) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
11.9b
(*.f32 (/.f32 (*.f32 (PI.f32) (*.f32 tau x)) (*.f32 (*.f32 x (PI.f32)) tau)) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
0.8b
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (/.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (PI.f32)) x))
11.9b
(*.f32 1 (*.f32 (/.f32 (/.f32 1 x) (PI.f32)) (sin.f32 (*.f32 x (PI.f32)))))
1.0b
(*.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 (*.f32 x x) (*.f32 tau (pow.f32 (PI.f32) 2)))))
14.4b
(*.f32 1 (/.f32 (-.f32 (+.f32 1 (sin.f32 (*.f32 x (PI.f32)))) 1) (*.f32 x (PI.f32))))
1.0b
(*.f32 (*.f32 (/.f32 (/.f32 1 x) (PI.f32)) (/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) tau)) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
0.9b
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (pow.f32 (cbrt.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 (PI.f32) x))) 3))
1.4b
(*.f32 (+.f32 (log.f32 (pow.f32 (cbrt.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (PI.f32) (*.f32 tau x))))) 2)) (log.f32 (cbrt.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (PI.f32) (*.f32 tau x))))))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
5.6b
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (-.f32 (+.f32 1 (*.f32 (PI.f32) x)) 1)))
11.9b
(*.f32 1 (*.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) x) (/.f32 1 (PI.f32))))
1.0b
(*.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 tau (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2)))))
12.1b
(*.f32 1 (/.f32 (exp.f32 (log.f32 (sin.f32 (*.f32 x (PI.f32))))) (*.f32 x (PI.f32))))
11.9b
(*.f32 1 (/.f32 (sin.f32 (pow.f32 (cbrt.f32 (*.f32 (PI.f32) x)) 3)) (*.f32 x (PI.f32))))
5.6b
(*.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 (-.f32 (+.f32 1 (*.f32 (PI.f32) x)) 1) (*.f32 (PI.f32) (*.f32 x tau)))))
0.8b
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (/.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) x) (PI.f32)))
0.8b
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) x) (/.f32 1 (PI.f32))))
11.9b
(*.f32 1 (*.f32 (/.f32 1 x) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (PI.f32))))
1.2b
(*.f32 (*.f32 (/.f32 (/.f32 1 x) (PI.f32)) (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) tau)) (*.f32 (/.f32 (/.f32 1 x) (PI.f32)) (sin.f32 (*.f32 x (PI.f32)))))
14.4b
(*.f32 1 (/.f32 (log.f32 (exp.f32 (sin.f32 (*.f32 x (PI.f32))))) (*.f32 x (PI.f32))))
0.9b
(*.f32 (/.f32 (/.f32 1 x) (/.f32 (*.f32 (PI.f32) tau) (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
5.5b
(*.f32 (/.f32 (+.f32 (log.f32 (sqrt.f32 (exp.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))))) (log.f32 (sqrt.f32 (exp.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))))))) (*.f32 (*.f32 x (PI.f32)) tau)) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
1.0b
(*.f32 (+.f32 (log.f32 (sqrt.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau)))))) (log.f32 (sqrt.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau))))))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
12.1b
(*.f32 1 (/.f32 (*.f32 (PI.f32) x) (*.f32 x (PI.f32))))
1.2b
(*.f32 (*.f32 (/.f32 (pow.f32 (cbrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) 2) x) (/.f32 (cbrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) (*.f32 (PI.f32) tau))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
11.9b
(*.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (-.f32 (+.f32 1 (*.f32 (pow.f32 (*.f32 (PI.f32) x) 2) tau)) 1)))
14.4b
(*.f32 1 (/.f32 (sin.f32 (log.f32 (pow.f32 (exp.f32 (PI.f32)) x))) (*.f32 x (PI.f32))))
0.9b
(*.f32 (log.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (PI.f32) (*.f32 tau x))))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
5.7b
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (/.f32 1 (/.f32 (+.f32 (pow.f32 (fma.f32 (PI.f32) x 1) 2) (fma.f32 (PI.f32) x 2)) (+.f32 (pow.f32 (fma.f32 (PI.f32) x 1) 3) -1)))))
14.5b
(*.f32 1 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (log.f32 (pow.f32 (exp.f32 (PI.f32)) x))))
0.7b
(*.f32 (+.f32 0 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau)))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
12.1b
(*.f32 1 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (exp.f32 (log.f32 (*.f32 (PI.f32) x)))))
1.0b
(*.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 (*.f32 x (PI.f32)) (*.f32 (PI.f32) (*.f32 x tau)))))
11.9b
(*.f32 1 (log.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))))
1.0b
(*.f32 (sin.f32 (pow.f32 (sqrt.f32 (*.f32 (PI.f32) (*.f32 x tau))) 2)) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 (*.f32 x (PI.f32)) (*.f32 (PI.f32) (*.f32 x tau)))))
Compiler

Compiled 2759 to 1610 computations (41.6% saved)

localize82.0ms (0.7%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.4b
(*.f32 (PI.f32) (*.f32 x tau))
0.4b
(/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32)))
0.4b
(sin.f32 (*.f32 (PI.f32) (*.f32 x tau)))
0.5b
(/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (*.f32 (PI.f32) (*.f32 x tau)))
Compiler

Compiled 67 to 11 computations (83.6% saved)

series2.0ms (0%)

Counts
1 → 24
Calls

6 calls:

TimeVariablePointExpression
0.0ms
x
@0
(/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (*.f32 (PI.f32) (*.f32 x tau)))
0.0ms
tau
@0
(/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (*.f32 (PI.f32) (*.f32 x tau)))
0.0ms
x
@inf
(/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (*.f32 (PI.f32) (*.f32 x tau)))
0.0ms
tau
@inf
(/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (*.f32 (PI.f32) (*.f32 x tau)))
0.0ms
tau
@-inf
(/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (*.f32 (PI.f32) (*.f32 x tau)))

rewrite58.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
951×pow1_binary32
879×add-log-exp_binary32
879×log1p-expm1-u_binary32
879×expm1-log1p-u_binary32
859×add-exp-log_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0820
116620
2230120
Stop Event
node limit
Counts
1 → 41
Calls
Call 1
Inputs
(/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (*.f32 (PI.f32) (*.f32 x tau)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 1 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (*.f32 (PI.f32) (*.f32 x tau)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (/.f32 1 (*.f32 (PI.f32) (*.f32 x tau))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (*.f32 (PI.f32) (*.f32 x tau))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (*.f32 (PI.f32) (*.f32 x tau))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (*.f32 (PI.f32) (*.f32 x tau)))) (pow.f32 (cbrt.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (*.f32 (PI.f32) (*.f32 x tau)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (*.f32 (PI.f32) (*.f32 x tau)))) 2) (cbrt.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (*.f32 (PI.f32) (*.f32 x tau)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau)))) 2) (*.f32 (cbrt.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau)))) (/.f32 1 (*.f32 (PI.f32) (*.f32 x tau)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (*.f32 (PI.f32) (*.f32 x tau)))) (sqrt.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (*.f32 (PI.f32) (*.f32 x tau)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau)))) (*.f32 (sqrt.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau)))) (/.f32 1 (*.f32 (PI.f32) (*.f32 x tau)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (neg.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau)))) (/.f32 1 (*.f32 (*.f32 x tau) (neg.f32 (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1 (*.f32 (PI.f32) (*.f32 x tau))) (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (PI.f32)) (/.f32 1 (*.f32 x tau)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (pow.f32 (cbrt.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau)))) 2) 1) (/.f32 (cbrt.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau)))) (*.f32 (PI.f32) (*.f32 x tau))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (sqrt.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau)))) 1) (/.f32 (sqrt.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau)))) (*.f32 (PI.f32) (*.f32 x tau))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (sqrt.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau)))) (PI.f32)) (/.f32 (sqrt.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau)))) (*.f32 x tau)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1 (PI.f32)) (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (*.f32 x tau)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (pow.f32 (cbrt.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau)))) 2) (PI.f32)) (/.f32 (cbrt.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau)))) (*.f32 x tau)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (sqrt.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau)))) (*.f32 x tau)) (/.f32 (sqrt.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau)))) (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1 (*.f32 x tau)) (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (pow.f32 (cbrt.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau)))) 2) (*.f32 x tau)) (/.f32 (cbrt.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau)))) (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1 (pow.f32 (cbrt.f32 (*.f32 (PI.f32) (*.f32 x tau))) 2)) (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (cbrt.f32 (*.f32 (PI.f32) (*.f32 x tau)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (pow.f32 (cbrt.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau)))) 2) (pow.f32 (cbrt.f32 (*.f32 (PI.f32) (*.f32 x tau))) 2)) (cbrt.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (*.f32 (PI.f32) (*.f32 x tau)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (sqrt.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau)))) (pow.f32 (cbrt.f32 (*.f32 (PI.f32) (*.f32 x tau))) 2)) (/.f32 (sqrt.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau)))) (cbrt.f32 (*.f32 (PI.f32) (*.f32 x tau)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1 (sqrt.f32 (*.f32 (PI.f32) (*.f32 x tau)))) (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (sqrt.f32 (*.f32 (PI.f32) (*.f32 x tau)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (pow.f32 (cbrt.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau)))) 2) (sqrt.f32 (*.f32 (PI.f32) (*.f32 x tau)))) (/.f32 (cbrt.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau)))) (sqrt.f32 (*.f32 (PI.f32) (*.f32 x tau)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1 (*.f32 (PI.f32) x)) (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) tau))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (pow.f32 (cbrt.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau)))) 2) (*.f32 (PI.f32) x)) (/.f32 (cbrt.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau)))) tau))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (sqrt.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau)))) (*.f32 (PI.f32) x)) (/.f32 (sqrt.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau)))) tau))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (*.f32 (PI.f32) (*.f32 x tau))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (*.f32 (PI.f32) (*.f32 x tau))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (*.f32 (PI.f32) (*.f32 x tau)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (*.f32 (PI.f32) (*.f32 x tau)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (/.f32 (*.f32 (PI.f32) (*.f32 x tau)) (sin.f32 (*.f32 (PI.f32) (*.f32 x tau)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (*.f32 (*.f32 x tau) (neg.f32 (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (*.f32 (PI.f32) (*.f32 x tau))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (*.f32 (PI.f32) (*.f32 x tau)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (*.f32 (PI.f32) (*.f32 x tau))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (/.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) 3) (pow.f32 (*.f32 (PI.f32) (*.f32 x tau)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (*.f32 (PI.f32) (*.f32 x tau)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (*.f32 (PI.f32) (*.f32 x tau)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (*.f32 (PI.f32) (*.f32 x tau)))))))))

simplify163.0ms (1.4%)

Algorithm
egg-herbie
Rules
935×fma-def_binary32
760×sqr-pow_binary32
484×associate-/r*_binary32
422×+-commutative_binary32
354×associate-*l*_binary32
Iterations

Useful iterations: 7 (0.0ms)

IterNodesCost
042580
1106576
2323568
31800568
43095568
53954550
65454550
75984532
86343532
96811532
107391532
Stop Event
node limit
Counts
65 → 52
Calls
Call 1
Inputs
1
(+.f32 1 (*.f32 -1/6 (*.f32 (pow.f32 tau 2) (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2)))))
(+.f32 1 (+.f32 (*.f32 -1/6 (*.f32 (pow.f32 tau 2) (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2)))) (*.f32 1/120 (*.f32 (pow.f32 tau 4) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4))))))
(+.f32 (*.f32 -1/5040 (*.f32 (pow.f32 tau 6) (*.f32 (pow.f32 (PI.f32) 6) (pow.f32 x 6)))) (+.f32 1 (+.f32 (*.f32 -1/6 (*.f32 (pow.f32 tau 2) (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2)))) (*.f32 1/120 (*.f32 (pow.f32 tau 4) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4)))))))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 (PI.f32) x)))
1
(+.f32 1 (*.f32 -1/6 (*.f32 (pow.f32 tau 2) (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2)))))
(+.f32 1 (+.f32 (*.f32 -1/6 (*.f32 (pow.f32 tau 2) (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2)))) (*.f32 1/120 (*.f32 (pow.f32 tau 4) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4))))))
(+.f32 (*.f32 -1/5040 (*.f32 (pow.f32 tau 6) (*.f32 (pow.f32 (PI.f32) 6) (pow.f32 x 6)))) (+.f32 1 (+.f32 (*.f32 -1/6 (*.f32 (pow.f32 tau 2) (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2)))) (*.f32 1/120 (*.f32 (pow.f32 tau 4) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4)))))))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 x (PI.f32))))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 x (PI.f32))))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 x (PI.f32))))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 x (PI.f32))))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 (PI.f32) x)))
Outputs
1
(+.f32 1 (*.f32 -1/6 (*.f32 (pow.f32 tau 2) (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2)))))
(+.f32 1 (*.f32 -1/6 (*.f32 (*.f32 tau tau) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 x x)))))
(fma.f32 -1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (*.f32 x x) (*.f32 tau tau))) 1)
(fma.f32 -1/6 (*.f32 tau (*.f32 (*.f32 tau (*.f32 x x)) (pow.f32 (PI.f32) 2))) 1)
(fma.f32 -1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 tau (*.f32 tau (*.f32 x x)))) 1)
(fma.f32 (pow.f32 (*.f32 tau (PI.f32)) 2) (*.f32 -1/6 (*.f32 x x)) 1)
(+.f32 1 (+.f32 (*.f32 -1/6 (*.f32 (pow.f32 tau 2) (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2)))) (*.f32 1/120 (*.f32 (pow.f32 tau 4) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4))))))
(+.f32 1 (fma.f32 -1/6 (*.f32 (*.f32 tau tau) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 x x))) (*.f32 1/120 (*.f32 (pow.f32 tau 4) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4))))))
(+.f32 1 (fma.f32 -1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (*.f32 x x) (*.f32 tau tau))) (*.f32 (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4)) (*.f32 1/120 (pow.f32 tau 4)))))
(fma.f32 -1/6 (*.f32 tau (*.f32 (*.f32 tau (*.f32 x x)) (pow.f32 (PI.f32) 2))) (fma.f32 (*.f32 1/120 (*.f32 (pow.f32 tau 4) (pow.f32 (PI.f32) 4))) (pow.f32 x 4) 1))
(fma.f32 -1/6 (*.f32 tau (*.f32 (*.f32 tau (*.f32 x x)) (pow.f32 (PI.f32) 2))) (fma.f32 (pow.f32 (PI.f32) 4) (*.f32 1/120 (*.f32 (pow.f32 tau 4) (pow.f32 x 4))) 1))
(fma.f32 (pow.f32 (PI.f32) 4) (*.f32 (*.f32 (pow.f32 tau 4) (pow.f32 x 4)) 1/120) (fma.f32 -1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 tau (*.f32 tau (*.f32 x x)))) 1))
(fma.f32 (pow.f32 x 4) (*.f32 1/120 (pow.f32 (*.f32 tau (PI.f32)) 4)) (fma.f32 -1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 tau (*.f32 tau (*.f32 x x)))) 1))
(fma.f32 (pow.f32 x 4) (*.f32 1/120 (pow.f32 (*.f32 tau (PI.f32)) 4)) (fma.f32 (pow.f32 (*.f32 tau (PI.f32)) 2) (*.f32 -1/6 (*.f32 x x)) 1))
(+.f32 (*.f32 -1/5040 (*.f32 (pow.f32 tau 6) (*.f32 (pow.f32 (PI.f32) 6) (pow.f32 x 6)))) (+.f32 1 (+.f32 (*.f32 -1/6 (*.f32 (pow.f32 tau 2) (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2)))) (*.f32 1/120 (*.f32 (pow.f32 tau 4) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4)))))))
(fma.f32 -1/5040 (*.f32 (pow.f32 tau 6) (*.f32 (pow.f32 (PI.f32) 6) (pow.f32 x 6))) (+.f32 1 (fma.f32 -1/6 (*.f32 (*.f32 tau tau) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 x x))) (*.f32 1/120 (*.f32 (pow.f32 tau 4) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4)))))))
(+.f32 (fma.f32 -1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (*.f32 x x) (*.f32 tau tau))) (*.f32 (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4)) (*.f32 1/120 (pow.f32 tau 4)))) (fma.f32 -1/5040 (*.f32 (pow.f32 tau 6) (*.f32 (pow.f32 (PI.f32) 6) (pow.f32 x 6))) 1))
(fma.f32 -1/5040 (*.f32 (pow.f32 tau 6) (*.f32 (pow.f32 (PI.f32) 6) (pow.f32 x 6))) (fma.f32 -1/6 (*.f32 tau (*.f32 (*.f32 tau (*.f32 x x)) (pow.f32 (PI.f32) 2))) (fma.f32 (*.f32 1/120 (*.f32 (pow.f32 tau 4) (pow.f32 (PI.f32) 4))) (pow.f32 x 4) 1)))
(fma.f32 -1/6 (*.f32 tau (*.f32 (*.f32 tau (*.f32 x x)) (pow.f32 (PI.f32) 2))) (fma.f32 (pow.f32 tau 4) (*.f32 1/120 (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4))) (fma.f32 -1/5040 (*.f32 (pow.f32 tau 6) (*.f32 (pow.f32 (PI.f32) 6) (pow.f32 x 6))) 1)))
(fma.f32 1/120 (*.f32 (pow.f32 tau 4) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4))) (fma.f32 (pow.f32 (PI.f32) 6) (*.f32 -1/5040 (*.f32 (pow.f32 tau 6) (pow.f32 x 6))) (fma.f32 -1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 tau (*.f32 tau (*.f32 x x)))) 1)))
(fma.f32 1/120 (*.f32 (pow.f32 tau 4) (pow.f32 (*.f32 (PI.f32) x) 4)) (fma.f32 (pow.f32 x 6) (*.f32 -1/5040 (pow.f32 (*.f32 tau (PI.f32)) 6)) (fma.f32 -1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 tau (*.f32 tau (*.f32 x x)))) 1)))
(fma.f32 1/120 (*.f32 (pow.f32 tau 4) (pow.f32 (*.f32 (PI.f32) x) 4)) (fma.f32 (pow.f32 x 6) (*.f32 -1/5040 (pow.f32 (*.f32 tau (PI.f32)) 6)) (fma.f32 (pow.f32 (*.f32 tau (PI.f32)) 2) (*.f32 -1/6 (*.f32 x x)) 1)))
(fma.f32 (pow.f32 tau 6) (*.f32 -1/5040 (pow.f32 (*.f32 (PI.f32) x) 6)) (fma.f32 (pow.f32 x 4) (*.f32 1/120 (pow.f32 (*.f32 tau (PI.f32)) 4)) (fma.f32 (pow.f32 (*.f32 tau (PI.f32)) 2) (*.f32 -1/6 (*.f32 x x)) 1)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 (*.f32 tau x) (PI.f32))) (*.f32 (*.f32 tau x) (PI.f32)))
(/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (PI.f32) (*.f32 tau x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 x (*.f32 tau (PI.f32)))) (*.f32 x (*.f32 tau (PI.f32))))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 (*.f32 tau x) (PI.f32))) (*.f32 (*.f32 tau x) (PI.f32)))
(/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (PI.f32) (*.f32 tau x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 x (*.f32 tau (PI.f32)))) (*.f32 x (*.f32 tau (PI.f32))))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 (*.f32 tau x) (PI.f32))) (*.f32 (*.f32 tau x) (PI.f32)))
(/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (PI.f32) (*.f32 tau x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 x (*.f32 tau (PI.f32)))) (*.f32 x (*.f32 tau (PI.f32))))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 (*.f32 tau x) (PI.f32))) (*.f32 (*.f32 tau x) (PI.f32)))
(/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (PI.f32) (*.f32 tau x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 x (*.f32 tau (PI.f32)))) (*.f32 x (*.f32 tau (PI.f32))))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 (*.f32 tau x) (PI.f32))) (*.f32 (*.f32 tau x) (PI.f32)))
(/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (PI.f32) (*.f32 tau x)))
(/.f32 (sin.f32 (*.f32 x (*.f32 tau (PI.f32)))) (*.f32 x (*.f32 tau (PI.f32))))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 (*.f32 tau x) (PI.f32))) (*.f32 (*.f32 tau x) (PI.f32)))
(/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (PI.f32) (*.f32 tau x)))
(/.f32 (sin.f32 (*.f32 x (*.f32 tau (PI.f32)))) (*.f32 x (*.f32 tau (PI.f32))))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 (*.f32 tau x) (PI.f32))) (*.f32 (*.f32 tau x) (PI.f32)))
(/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (PI.f32) (*.f32 tau x)))
(/.f32 (sin.f32 (*.f32 x (*.f32 tau (PI.f32)))) (*.f32 x (*.f32 tau (PI.f32))))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 (*.f32 tau x) (PI.f32))) (*.f32 (*.f32 tau x) (PI.f32)))
(/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (PI.f32) (*.f32 tau x)))
(/.f32 (sin.f32 (*.f32 x (*.f32 tau (PI.f32)))) (*.f32 x (*.f32 tau (PI.f32))))
1
(+.f32 1 (*.f32 -1/6 (*.f32 (pow.f32 tau 2) (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2)))))
(+.f32 1 (*.f32 -1/6 (*.f32 (*.f32 tau tau) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 x x)))))
(fma.f32 -1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (*.f32 x x) (*.f32 tau tau))) 1)
(fma.f32 -1/6 (*.f32 tau (*.f32 (*.f32 tau (*.f32 x x)) (pow.f32 (PI.f32) 2))) 1)
(fma.f32 -1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 tau (*.f32 tau (*.f32 x x)))) 1)
(fma.f32 (pow.f32 (*.f32 tau (PI.f32)) 2) (*.f32 -1/6 (*.f32 x x)) 1)
(+.f32 1 (+.f32 (*.f32 -1/6 (*.f32 (pow.f32 tau 2) (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2)))) (*.f32 1/120 (*.f32 (pow.f32 tau 4) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4))))))
(+.f32 1 (fma.f32 -1/6 (*.f32 (*.f32 tau tau) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 x x))) (*.f32 1/120 (*.f32 (pow.f32 tau 4) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4))))))
(+.f32 1 (fma.f32 -1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (*.f32 x x) (*.f32 tau tau))) (*.f32 (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4)) (*.f32 1/120 (pow.f32 tau 4)))))
(fma.f32 -1/6 (*.f32 tau (*.f32 (*.f32 tau (*.f32 x x)) (pow.f32 (PI.f32) 2))) (fma.f32 (*.f32 1/120 (*.f32 (pow.f32 tau 4) (pow.f32 (PI.f32) 4))) (pow.f32 x 4) 1))
(fma.f32 -1/6 (*.f32 tau (*.f32 (*.f32 tau (*.f32 x x)) (pow.f32 (PI.f32) 2))) (fma.f32 (pow.f32 (PI.f32) 4) (*.f32 1/120 (*.f32 (pow.f32 tau 4) (pow.f32 x 4))) 1))
(fma.f32 (pow.f32 (PI.f32) 4) (*.f32 (*.f32 (pow.f32 tau 4) (pow.f32 x 4)) 1/120) (fma.f32 -1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 tau (*.f32 tau (*.f32 x x)))) 1))
(fma.f32 (pow.f32 x 4) (*.f32 1/120 (pow.f32 (*.f32 tau (PI.f32)) 4)) (fma.f32 -1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 tau (*.f32 tau (*.f32 x x)))) 1))
(fma.f32 (pow.f32 x 4) (*.f32 1/120 (pow.f32 (*.f32 tau (PI.f32)) 4)) (fma.f32 (pow.f32 (*.f32 tau (PI.f32)) 2) (*.f32 -1/6 (*.f32 x x)) 1))
(+.f32 (*.f32 -1/5040 (*.f32 (pow.f32 tau 6) (*.f32 (pow.f32 (PI.f32) 6) (pow.f32 x 6)))) (+.f32 1 (+.f32 (*.f32 -1/6 (*.f32 (pow.f32 tau 2) (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2)))) (*.f32 1/120 (*.f32 (pow.f32 tau 4) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4)))))))
(fma.f32 -1/5040 (*.f32 (pow.f32 tau 6) (*.f32 (pow.f32 (PI.f32) 6) (pow.f32 x 6))) (+.f32 1 (fma.f32 -1/6 (*.f32 (*.f32 tau tau) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 x x))) (*.f32 1/120 (*.f32 (pow.f32 tau 4) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4)))))))
(+.f32 (fma.f32 -1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (*.f32 x x) (*.f32 tau tau))) (*.f32 (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4)) (*.f32 1/120 (pow.f32 tau 4)))) (fma.f32 -1/5040 (*.f32 (pow.f32 tau 6) (*.f32 (pow.f32 (PI.f32) 6) (pow.f32 x 6))) 1))
(fma.f32 -1/5040 (*.f32 (pow.f32 tau 6) (*.f32 (pow.f32 (PI.f32) 6) (pow.f32 x 6))) (fma.f32 -1/6 (*.f32 tau (*.f32 (*.f32 tau (*.f32 x x)) (pow.f32 (PI.f32) 2))) (fma.f32 (*.f32 1/120 (*.f32 (pow.f32 tau 4) (pow.f32 (PI.f32) 4))) (pow.f32 x 4) 1)))
(fma.f32 -1/6 (*.f32 tau (*.f32 (*.f32 tau (*.f32 x x)) (pow.f32 (PI.f32) 2))) (fma.f32 (pow.f32 tau 4) (*.f32 1/120 (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4))) (fma.f32 -1/5040 (*.f32 (pow.f32 tau 6) (*.f32 (pow.f32 (PI.f32) 6) (pow.f32 x 6))) 1)))
(fma.f32 1/120 (*.f32 (pow.f32 tau 4) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4))) (fma.f32 (pow.f32 (PI.f32) 6) (*.f32 -1/5040 (*.f32 (pow.f32 tau 6) (pow.f32 x 6))) (fma.f32 -1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 tau (*.f32 tau (*.f32 x x)))) 1)))
(fma.f32 1/120 (*.f32 (pow.f32 tau 4) (pow.f32 (*.f32 (PI.f32) x) 4)) (fma.f32 (pow.f32 x 6) (*.f32 -1/5040 (pow.f32 (*.f32 tau (PI.f32)) 6)) (fma.f32 -1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 tau (*.f32 tau (*.f32 x x)))) 1)))
(fma.f32 1/120 (*.f32 (pow.f32 tau 4) (pow.f32 (*.f32 (PI.f32) x) 4)) (fma.f32 (pow.f32 x 6) (*.f32 -1/5040 (pow.f32 (*.f32 tau (PI.f32)) 6)) (fma.f32 (pow.f32 (*.f32 tau (PI.f32)) 2) (*.f32 -1/6 (*.f32 x x)) 1)))
(fma.f32 (pow.f32 tau 6) (*.f32 -1/5040 (pow.f32 (*.f32 (PI.f32) x) 6)) (fma.f32 (pow.f32 x 4) (*.f32 1/120 (pow.f32 (*.f32 tau (PI.f32)) 4)) (fma.f32 (pow.f32 (*.f32 tau (PI.f32)) 2) (*.f32 -1/6 (*.f32 x x)) 1)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 x (PI.f32))))
(/.f32 (sin.f32 (*.f32 (*.f32 tau x) (PI.f32))) (*.f32 (*.f32 tau x) (PI.f32)))
(/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (PI.f32) (*.f32 tau x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 x (*.f32 tau (PI.f32)))) (*.f32 x (*.f32 tau (PI.f32))))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 x (PI.f32))))
(/.f32 (sin.f32 (*.f32 (*.f32 tau x) (PI.f32))) (*.f32 (*.f32 tau x) (PI.f32)))
(/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (PI.f32) (*.f32 tau x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 x (*.f32 tau (PI.f32)))) (*.f32 x (*.f32 tau (PI.f32))))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 x (PI.f32))))
(/.f32 (sin.f32 (*.f32 (*.f32 tau x) (PI.f32))) (*.f32 (*.f32 tau x) (PI.f32)))
(/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (PI.f32) (*.f32 tau x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 x (*.f32 tau (PI.f32)))) (*.f32 x (*.f32 tau (PI.f32))))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 x (PI.f32))))
(/.f32 (sin.f32 (*.f32 (*.f32 tau x) (PI.f32))) (*.f32 (*.f32 tau x) (PI.f32)))
(/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (PI.f32) (*.f32 tau x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 x (*.f32 tau (PI.f32)))) (*.f32 x (*.f32 tau (PI.f32))))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 (*.f32 tau x) (PI.f32))) (*.f32 (*.f32 tau x) (PI.f32)))
(/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (PI.f32) (*.f32 tau x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 x (*.f32 tau (PI.f32)))) (*.f32 x (*.f32 tau (PI.f32))))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 (*.f32 tau x) (PI.f32))) (*.f32 (*.f32 tau x) (PI.f32)))
(/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (PI.f32) (*.f32 tau x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 x (*.f32 tau (PI.f32)))) (*.f32 x (*.f32 tau (PI.f32))))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 (*.f32 tau x) (PI.f32))) (*.f32 (*.f32 tau x) (PI.f32)))
(/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (PI.f32) (*.f32 tau x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 x (*.f32 tau (PI.f32)))) (*.f32 x (*.f32 tau (PI.f32))))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 (*.f32 tau x) (PI.f32))) (*.f32 (*.f32 tau x) (PI.f32)))
(/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (PI.f32) (*.f32 tau x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 x (*.f32 tau (PI.f32)))) (*.f32 x (*.f32 tau (PI.f32))))

localize26.0ms (0.2%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.4b
(*.f32 (PI.f32) x)
0.4b
(*.f32 x (PI.f32))
Compiler

Compiled 27 to 9 computations (66.7% saved)

series1.0ms (0%)

Counts
1 → 0
Calls

3 calls:

TimeVariablePointExpression
0.0ms
x
@0
(*.f32 (PI.f32) x)
0.0ms
x
@-inf
(*.f32 (PI.f32) x)
0.0ms
x
@inf
(*.f32 (PI.f32) x)

rewrite65.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
367×pow1_binary32
350×add-sqr-sqrt_binary32
345×*-un-lft-identity_binary32
336×add-log-exp_binary32
336×log1p-expm1-u_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
045
1785
29225
Stop Event
node limit
Counts
1 → 21
Calls
Call 1
Inputs
(*.f32 (PI.f32) x)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (*.f32 (PI.f32) x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (sqrt.f32 (pow.f32 (exp.f32 x) (PI.f32)))) (log.f32 (sqrt.f32 (pow.f32 (exp.f32 x) (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (cbrt.f32 (pow.f32 (exp.f32 (PI.f32)) (+.f32 x x)))) (log.f32 (cbrt.f32 (pow.f32 (exp.f32 x) (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 1 (*.f32 (PI.f32) x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 (PI.f32) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (*.f32 (PI.f32) x) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (*.f32 (PI.f32) x) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (*.f32 (PI.f32) x)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (*.f32 (PI.f32) x)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (E.f32) (log.f32 (*.f32 (PI.f32) x)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (exp.f32 (pow.f32 (cbrt.f32 (log.f32 (*.f32 (PI.f32) x))) 2)) (cbrt.f32 (log.f32 (*.f32 (PI.f32) x))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (exp.f32 (sqrt.f32 (log.f32 (*.f32 (PI.f32) x)))) (sqrt.f32 (log.f32 (*.f32 (PI.f32) x))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (*.f32 (PI.f32) x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (pow.f32 (exp.f32 x) (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (*.f32 (PI.f32) x) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (*.f32 (PI.f32) x)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (*.f32 (PI.f32) x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (*.f32 (PI.f32) x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (*.f32 3 (log.f32 (*.f32 (PI.f32) x))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (cbrt.f32 (*.f32 (PI.f32) x))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (sqrt.f32 (*.f32 (PI.f32) x))) 2))))))

simplify6.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
000
Stop Event
saturated
Counts
21 → 21
Calls
Call 1
Inputs
Outputs

localize51.0ms (0.4%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.4b
(*.f32 (PI.f32) x)
0.4b
(*.f32 x (PI.f32))
0.4b
(/.f32 (sin.f32 (*.f32 x (PI.f32))) (exp.f32 (log.f32 (*.f32 (PI.f32) x))))
1.0b
(exp.f32 (log.f32 (*.f32 (PI.f32) x)))
Compiler

Compiled 46 to 12 computations (73.9% saved)

series2.0ms (0%)

Counts
2 → 24
Calls

6 calls:

TimeVariablePointExpression
0.0ms
x
@0
(exp.f32 (log.f32 (*.f32 (PI.f32) x)))
0.0ms
x
@inf
(exp.f32 (log.f32 (*.f32 (PI.f32) x)))
0.0ms
x
@-inf
(exp.f32 (log.f32 (*.f32 (PI.f32) x)))
0.0ms
x
@0
(/.f32 (sin.f32 (*.f32 x (PI.f32))) (exp.f32 (log.f32 (*.f32 (PI.f32) x))))
0.0ms
x
@-inf
(/.f32 (sin.f32 (*.f32 x (PI.f32))) (exp.f32 (log.f32 (*.f32 (PI.f32) x))))

rewrite66.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
766×pow1_binary32
707×add-log-exp_binary32
707×log1p-expm1-u_binary32
707×expm1-log1p-u_binary32
691×add-exp-log_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0919
116919
2188419
Stop Event
node limit
Counts
2 → 68
Calls
Call 1
Inputs
(exp.f32 (log.f32 (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 x (PI.f32))) (exp.f32 (log.f32 (*.f32 (PI.f32) x))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f32 1 (-.f32 (*.f32 (PI.f32) x) 1))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 1 (*.f32 (PI.f32) x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (PI.f32) x)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 x (PI.f32))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (PI.f32) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (*.f32 (PI.f32) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 (PI.f32)) 2) (*.f32 (cbrt.f32 (PI.f32)) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (*.f32 (PI.f32) x)) (pow.f32 (cbrt.f32 (*.f32 (PI.f32) x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 (*.f32 (PI.f32) x)) 2) (cbrt.f32 (*.f32 (PI.f32) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (*.f32 x x)) (*.f32 (cbrt.f32 x) (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (PI.f32)) (*.f32 (sqrt.f32 (PI.f32)) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (*.f32 (PI.f32) x)) (sqrt.f32 (*.f32 (PI.f32) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 x) (*.f32 (sqrt.f32 x) (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (PI.f32) (cbrt.f32 (*.f32 x x))) (cbrt.f32 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (PI.f32) (sqrt.f32 x)) (sqrt.f32 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 x (pow.f32 (cbrt.f32 (PI.f32)) 2)) (cbrt.f32 (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 x (sqrt.f32 (PI.f32))) (sqrt.f32 (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 (PI.f32) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (*.f32 (PI.f32) x) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (*.f32 (PI.f32) x)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (*.f32 (PI.f32) x)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (exp.f32 (pow.f32 (cbrt.f32 (log.f32 (*.f32 (PI.f32) x))) 2)) (cbrt.f32 (log.f32 (*.f32 (PI.f32) x))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (exp.f32 1) (log.f32 (*.f32 (PI.f32) x)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (exp.f32 (sqrt.f32 (log.f32 (*.f32 (PI.f32) x)))) (sqrt.f32 (log.f32 (*.f32 (PI.f32) x))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (*.f32 (PI.f32) x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (pow.f32 (exp.f32 (PI.f32)) x))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (*.f32 (PI.f32) x) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (*.f32 (pow.f32 x 3) (pow.f32 (PI.f32) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (*.f32 (PI.f32) x)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (*.f32 (PI.f32) x)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 1 (/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 (PI.f32) x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sin.f32 (*.f32 (PI.f32) x)) (/.f32 1 (*.f32 (PI.f32) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 (PI.f32) x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 (PI.f32) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 (sin.f32 (*.f32 (PI.f32) x))) 2) (*.f32 (cbrt.f32 (sin.f32 (*.f32 (PI.f32) x))) (/.f32 1 (*.f32 (PI.f32) x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 (PI.f32) x))) (pow.f32 (cbrt.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 (PI.f32) x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 (PI.f32) x))) 2) (cbrt.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 (PI.f32) x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (sin.f32 (*.f32 (PI.f32) x))) (*.f32 (sqrt.f32 (sin.f32 (*.f32 (PI.f32) x))) (/.f32 1 (*.f32 (PI.f32) x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 (PI.f32) x))) (sqrt.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 (PI.f32) x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (neg.f32 (sin.f32 (*.f32 (PI.f32) x))) (/.f32 1 (*.f32 (PI.f32) (neg.f32 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1 (*.f32 (PI.f32) x)) (sin.f32 (*.f32 (PI.f32) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1 (PI.f32)) (/.f32 (sin.f32 (*.f32 (PI.f32) x)) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (pow.f32 (cbrt.f32 (sin.f32 (*.f32 (PI.f32) x))) 2) (PI.f32)) (/.f32 (cbrt.f32 (sin.f32 (*.f32 (PI.f32) x))) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (sqrt.f32 (sin.f32 (*.f32 (PI.f32) x))) (PI.f32)) (/.f32 (sqrt.f32 (sin.f32 (*.f32 (PI.f32) x))) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (sqrt.f32 (sin.f32 (*.f32 (PI.f32) x))) x) (/.f32 (sqrt.f32 (sin.f32 (*.f32 (PI.f32) x))) (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1 x) (/.f32 (sin.f32 (*.f32 (PI.f32) x)) (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (pow.f32 (cbrt.f32 (sin.f32 (*.f32 (PI.f32) x))) 2) x) (/.f32 (cbrt.f32 (sin.f32 (*.f32 (PI.f32) x))) (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (pow.f32 (cbrt.f32 (sin.f32 (*.f32 (PI.f32) x))) 2) 1) (/.f32 (cbrt.f32 (sin.f32 (*.f32 (PI.f32) x))) (*.f32 (PI.f32) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (sqrt.f32 (sin.f32 (*.f32 (PI.f32) x))) 1) (/.f32 (sqrt.f32 (sin.f32 (*.f32 (PI.f32) x))) (*.f32 (PI.f32) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1 (pow.f32 (cbrt.f32 (*.f32 (PI.f32) x)) 2)) (/.f32 (sin.f32 (*.f32 (PI.f32) x)) (cbrt.f32 (*.f32 (PI.f32) x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (pow.f32 (cbrt.f32 (sin.f32 (*.f32 (PI.f32) x))) 2) (pow.f32 (cbrt.f32 (*.f32 (PI.f32) x)) 2)) (cbrt.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 (PI.f32) x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (sqrt.f32 (sin.f32 (*.f32 (PI.f32) x))) (pow.f32 (cbrt.f32 (*.f32 (PI.f32) x)) 2)) (/.f32 (sqrt.f32 (sin.f32 (*.f32 (PI.f32) x))) (cbrt.f32 (*.f32 (PI.f32) x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1 (sqrt.f32 (*.f32 (PI.f32) x))) (/.f32 (sin.f32 (*.f32 (PI.f32) x)) (sqrt.f32 (*.f32 (PI.f32) x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (pow.f32 (cbrt.f32 (sin.f32 (*.f32 (PI.f32) x))) 2) (sqrt.f32 (*.f32 (PI.f32) x))) (/.f32 (cbrt.f32 (sin.f32 (*.f32 (PI.f32) x))) (sqrt.f32 (*.f32 (PI.f32) x))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 (PI.f32) x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 (PI.f32) x)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 (PI.f32) x))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 (PI.f32) x))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (/.f32 (*.f32 (PI.f32) x) (sin.f32 (*.f32 (PI.f32) x))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 (PI.f32) (neg.f32 x))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 (PI.f32) x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 (PI.f32) x))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 (PI.f32) x)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (/.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) x)) 3) (pow.f32 (*.f32 (PI.f32) x) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 (PI.f32) x))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 (PI.f32) x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 (PI.f32) x))))))))

simplify193.0ms (1.6%)

Algorithm
egg-herbie
Rules
989×fma-def_binary32
679×sqr-pow_binary32
469×associate-/r*_binary32
463×pow-sqr_binary32
438×cube-prod_binary32
Iterations

Useful iterations: 6 (0.0ms)

IterNodesCost
033266
179262
2206260
3857260
42193254
52827251
63712242
74448242
84700242
95028242
105470242
116015242
126776242
137068242
147304242
157490242
167646242
177758242
Stop Event
node limit
Counts
92 → 78
Calls
Call 1
Inputs
(*.f32 (PI.f32) x)
(*.f32 (PI.f32) x)
(*.f32 (PI.f32) x)
(*.f32 (PI.f32) x)
(*.f32 (PI.f32) x)
(*.f32 (PI.f32) x)
(*.f32 (PI.f32) x)
(*.f32 (PI.f32) x)
(*.f32 (PI.f32) x)
(*.f32 (PI.f32) x)
(*.f32 (PI.f32) x)
(*.f32 (PI.f32) x)
1
(+.f32 1 (*.f32 -1/6 (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2))))
(+.f32 (*.f32 1/120 (*.f32 (pow.f32 x 4) (pow.f32 (PI.f32) 4))) (+.f32 1 (*.f32 -1/6 (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2)))))
(+.f32 (*.f32 1/120 (*.f32 (pow.f32 x 4) (pow.f32 (PI.f32) 4))) (+.f32 1 (+.f32 (*.f32 -1/6 (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2))) (*.f32 -1/5040 (*.f32 (pow.f32 x 6) (pow.f32 (PI.f32) 6))))))
(/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 x (PI.f32)))
(/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 x (PI.f32)))
(/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 x (PI.f32)))
(/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 x (PI.f32)))
(/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32)))
(/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32)))
(/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32)))
(/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32)))
Outputs
(*.f32 (PI.f32) x)
(*.f32 (PI.f32) x)
(*.f32 (PI.f32) x)
(*.f32 (PI.f32) x)
(*.f32 (PI.f32) x)
(*.f32 (PI.f32) x)
(*.f32 (PI.f32) x)
(*.f32 (PI.f32) x)
(*.f32 (PI.f32) x)
(*.f32 (PI.f32) x)
(*.f32 (PI.f32) x)
(*.f32 (PI.f32) x)
1
(+.f32 1 (*.f32 -1/6 (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2))))
(+.f32 1 (*.f32 -1/6 (*.f32 (*.f32 x x) (pow.f32 (PI.f32) 2))))
(fma.f32 -1/6 (*.f32 (*.f32 x x) (pow.f32 (PI.f32) 2)) 1)
(fma.f32 x (*.f32 -1/6 (*.f32 x (pow.f32 (PI.f32) 2))) 1)
(fma.f32 -1/6 (pow.f32 (*.f32 (PI.f32) x) 2) 1)
(+.f32 (*.f32 1/120 (*.f32 (pow.f32 x 4) (pow.f32 (PI.f32) 4))) (+.f32 1 (*.f32 -1/6 (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2)))))
(fma.f32 1/120 (*.f32 (pow.f32 x 4) (pow.f32 (PI.f32) 4)) (+.f32 1 (*.f32 -1/6 (*.f32 (*.f32 x x) (pow.f32 (PI.f32) 2)))))
(fma.f32 1/120 (*.f32 (pow.f32 x 4) (pow.f32 (PI.f32) 4)) (fma.f32 -1/6 (*.f32 (*.f32 x x) (pow.f32 (PI.f32) 2)) 1))
(fma.f32 -1/6 (*.f32 (*.f32 x x) (pow.f32 (PI.f32) 2)) (fma.f32 1/120 (*.f32 (pow.f32 x 4) (pow.f32 (PI.f32) 4)) 1))
(fma.f32 (pow.f32 (PI.f32) 2) (*.f32 -1/6 (*.f32 x x)) (fma.f32 1/120 (*.f32 (pow.f32 x 4) (pow.f32 (PI.f32) 4)) 1))
(fma.f32 x (*.f32 (pow.f32 (PI.f32) 2) (*.f32 x -1/6)) (fma.f32 1/120 (pow.f32 (*.f32 (PI.f32) x) 4) 1))
(fma.f32 -1/6 (pow.f32 (*.f32 (PI.f32) x) 2) (fma.f32 1/120 (pow.f32 (*.f32 (PI.f32) x) 4) 1))
(+.f32 (*.f32 1/120 (*.f32 (pow.f32 x 4) (pow.f32 (PI.f32) 4))) (+.f32 1 (+.f32 (*.f32 -1/6 (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2))) (*.f32 -1/5040 (*.f32 (pow.f32 x 6) (pow.f32 (PI.f32) 6))))))
(fma.f32 1/120 (*.f32 (pow.f32 x 4) (pow.f32 (PI.f32) 4)) (+.f32 1 (fma.f32 -1/6 (*.f32 (*.f32 x x) (pow.f32 (PI.f32) 2)) (*.f32 -1/5040 (*.f32 (pow.f32 x 6) (pow.f32 (PI.f32) 6))))))
(+.f32 (fma.f32 1/120 (*.f32 (pow.f32 x 4) (pow.f32 (PI.f32) 4)) (fma.f32 -1/6 (*.f32 (*.f32 x x) (pow.f32 (PI.f32) 2)) 1)) (*.f32 -1/5040 (*.f32 (pow.f32 x 6) (pow.f32 (PI.f32) 6))))
(fma.f32 1/120 (*.f32 (pow.f32 x 4) (pow.f32 (PI.f32) 4)) (fma.f32 -1/6 (*.f32 (*.f32 x x) (pow.f32 (PI.f32) 2)) (fma.f32 -1/5040 (*.f32 (pow.f32 x 6) (pow.f32 (PI.f32) 6)) 1)))
(fma.f32 -1/5040 (*.f32 (pow.f32 x 6) (pow.f32 (PI.f32) 6)) (fma.f32 (pow.f32 (PI.f32) 2) (*.f32 -1/6 (*.f32 x x)) (fma.f32 1/120 (*.f32 (pow.f32 x 4) (pow.f32 (PI.f32) 4)) 1)))
(fma.f32 -1/5040 (*.f32 (pow.f32 x 6) (pow.f32 (PI.f32) 6)) (fma.f32 x (*.f32 (pow.f32 (PI.f32) 2) (*.f32 x -1/6)) (fma.f32 1/120 (pow.f32 (*.f32 (PI.f32) x) 4) 1)))
(fma.f32 -1/5040 (pow.f32 (*.f32 (PI.f32) x) 6) (fma.f32 x (*.f32 (pow.f32 (PI.f32) 2) (*.f32 x -1/6)) (fma.f32 1/120 (pow.f32 (*.f32 (PI.f32) x) 4) 1)))
(fma.f32 -1/6 (pow.f32 (*.f32 (PI.f32) x) 2) (fma.f32 -1/5040 (pow.f32 (*.f32 (PI.f32) x) 6) (fma.f32 1/120 (pow.f32 (*.f32 (PI.f32) x) 4) 1)))
(fma.f32 (pow.f32 (*.f32 (PI.f32) x) 2) (fma.f32 (pow.f32 (*.f32 (PI.f32) x) 2) 1/120 -1/6) (fma.f32 -1/5040 (pow.f32 (*.f32 (PI.f32) x) 6) 1))
(/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 x (PI.f32)))
(/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 (PI.f32) x))
(/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 x (PI.f32)))
(/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 (PI.f32) x))
(/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 x (PI.f32)))
(/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 (PI.f32) x))
(/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 x (PI.f32)))
(/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 (PI.f32) x))
(/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32)))
(/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 (PI.f32) x))
(/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32)))
(/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 (PI.f32) x))
(/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32)))
(/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 (PI.f32) x))
(/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32)))
(/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 (PI.f32) x))

localize112.0ms (0.9%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.4b
(*.f32 (PI.f32) (*.f32 x tau))
0.4b
(sin.f32 (*.f32 (PI.f32) (*.f32 x tau)))
0.5b
(pow.f32 (*.f32 (PI.f32) x) 2)
11.1b
(-.f32 (+.f32 1 (*.f32 (pow.f32 (*.f32 (PI.f32) x) 2) tau)) 1)
Compiler

Compiled 102 to 45 computations (55.9% saved)

series10.0ms (0.1%)

Counts
2 → 36
Calls

9 calls:

TimeVariablePointExpression
3.0ms
tau
@inf
(-.f32 (+.f32 1 (*.f32 (pow.f32 (*.f32 (PI.f32) x) 2) tau)) 1)
2.0ms
tau
@0
(-.f32 (+.f32 1 (*.f32 (pow.f32 (*.f32 (PI.f32) x) 2) tau)) 1)
1.0ms
x
@0
(-.f32 (+.f32 1 (*.f32 (pow.f32 (*.f32 (PI.f32) x) 2) tau)) 1)
1.0ms
tau
@-inf
(-.f32 (+.f32 1 (*.f32 (pow.f32 (*.f32 (PI.f32) x) 2) tau)) 1)
1.0ms
x
@-inf
(pow.f32 (*.f32 (PI.f32) x) 2)

rewrite136.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
510×prod-diff_binary32
471×log-prod_binary32
440×fma-def_binary32
325×pow-prod-down_binary32
259×pow2_binary32
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01125
124019
2308719
Stop Event
node limit
Counts
2 → 114
Calls
Call 1
Inputs
(-.f32 (+.f32 1 (*.f32 (pow.f32 (*.f32 (PI.f32) x) 2) tau)) 1)
(pow.f32 (*.f32 (PI.f32) x) 2)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f32 1 (fma.f32 (pow.f32 (*.f32 (PI.f32) x) 2) tau -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 1 (*.f32 (fma.f32 (pow.f32 (*.f32 (PI.f32) x) 2) tau -1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 (pow.f32 (*.f32 (PI.f32) x) 2) tau) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (fma.f32 (pow.f32 (*.f32 (PI.f32) x) 2) tau 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (*.f32 (pow.f32 (*.f32 (PI.f32) x) 2) tau))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 -1 (fma.f32 (pow.f32 (*.f32 (PI.f32) x) 2) tau 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (fma.f32 (pow.f32 (*.f32 (PI.f32) x) 2) tau -1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (pow.f32 (cbrt.f32 (pow.f32 (exp.f32 tau) (pow.f32 (*.f32 (PI.f32) x) 2))) 2)) (log.f32 (cbrt.f32 (pow.f32 (exp.f32 tau) (pow.f32 (*.f32 (PI.f32) x) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (sqrt.f32 (pow.f32 (exp.f32 tau) (pow.f32 (*.f32 (PI.f32) x) 2)))) (log.f32 (sqrt.f32 (pow.f32 (exp.f32 tau) (pow.f32 (*.f32 (PI.f32) x) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (*.f32 (pow.f32 (*.f32 (PI.f32) x) 2) tau))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (PI.f32) x) (*.f32 (*.f32 (PI.f32) x) tau))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (*.f32 (PI.f32) x) 2) tau)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 tau (pow.f32 (*.f32 (PI.f32) x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (pow.f32 (*.f32 (PI.f32) x) 2) tau) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (PI.f32) 2) (*.f32 (*.f32 x x) tau))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 tau) 2) (*.f32 (cbrt.f32 tau) (pow.f32 (*.f32 (PI.f32) x) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (*.f32 (pow.f32 (*.f32 (PI.f32) x) 2) tau)) (cbrt.f32 (pow.f32 (*.f32 (*.f32 (PI.f32) x) (sqrt.f32 tau)) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (pow.f32 (*.f32 (*.f32 (PI.f32) x) (sqrt.f32 tau)) 4)) (cbrt.f32 (*.f32 (pow.f32 (*.f32 (PI.f32) x) 2) tau)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 (*.f32 (PI.f32) x)) 4) (*.f32 (pow.f32 (cbrt.f32 (*.f32 (PI.f32) x)) 2) tau))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 tau) (*.f32 (sqrt.f32 tau) (pow.f32 (*.f32 (PI.f32) x) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (*.f32 (PI.f32) x) (sqrt.f32 tau)) (*.f32 (*.f32 (PI.f32) x) (sqrt.f32 tau)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (+.f32 (pow.f32 (fma.f32 (pow.f32 (*.f32 (PI.f32) x) 2) tau 1) 3) -1) (/.f32 1 (+.f32 (pow.f32 (fma.f32 (pow.f32 (*.f32 (PI.f32) x) 2) tau 1) 2) (fma.f32 (pow.f32 (*.f32 (PI.f32) x) 2) tau 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (expm1.f32 (*.f32 2 (log1p.f32 (*.f32 (pow.f32 (*.f32 (PI.f32) x) 2) tau)))) (/.f32 1 (fma.f32 (pow.f32 (*.f32 (PI.f32) x) 2) tau 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (+.f32 (hypot.f32 1 (*.f32 (*.f32 (PI.f32) x) (sqrt.f32 tau))) 1) (-.f32 (hypot.f32 1 (*.f32 (*.f32 (PI.f32) x) (sqrt.f32 tau))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (*.f32 (*.f32 (PI.f32) x) (cbrt.f32 tau)) 2) (cbrt.f32 tau))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (pow.f32 (*.f32 (PI.f32) x) 2) (sqrt.f32 tau)) (sqrt.f32 tau))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 tau (*.f32 (PI.f32) x)) (*.f32 (PI.f32) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 tau (pow.f32 (cbrt.f32 (*.f32 (PI.f32) x)) 4)) (pow.f32 (cbrt.f32 (*.f32 (PI.f32) x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 tau (pow.f32 (PI.f32) 2)) (*.f32 x x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 1 (/.f32 (+.f32 (pow.f32 (fma.f32 (pow.f32 (*.f32 (PI.f32) x) 2) tau 1) 2) (fma.f32 (pow.f32 (*.f32 (PI.f32) x) 2) tau 2)) (+.f32 (pow.f32 (fma.f32 (pow.f32 (*.f32 (PI.f32) x) 2) tau 1) 3) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 1 (/.f32 (fma.f32 (pow.f32 (*.f32 (PI.f32) x) 2) tau 2) (expm1.f32 (*.f32 2 (log1p.f32 (*.f32 (pow.f32 (*.f32 (PI.f32) x) 2) tau))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (pow.f32 (fma.f32 (pow.f32 (*.f32 (PI.f32) x) 2) tau 1) 3) -1) (+.f32 (pow.f32 (fma.f32 (pow.f32 (*.f32 (PI.f32) x) 2) tau 1) 2) (fma.f32 (pow.f32 (*.f32 (PI.f32) x) 2) tau 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (pow.f32 (fma.f32 (pow.f32 (*.f32 (PI.f32) x) 2) tau 1) 3) -1) (+.f32 (pow.f32 (fma.f32 (pow.f32 (*.f32 (PI.f32) x) 2) tau 1) 2) (-.f32 1 (*.f32 (fma.f32 (pow.f32 (*.f32 (PI.f32) x) 2) tau 1) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (expm1.f32 (*.f32 2 (log1p.f32 (*.f32 (pow.f32 (*.f32 (PI.f32) x) 2) tau)))) (fma.f32 (pow.f32 (*.f32 (PI.f32) x) 2) tau 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (neg.f32 (+.f32 (pow.f32 (fma.f32 (pow.f32 (*.f32 (PI.f32) x) 2) tau 1) 3) -1)) (neg.f32 (+.f32 (pow.f32 (fma.f32 (pow.f32 (*.f32 (PI.f32) x) 2) tau 1) 2) (fma.f32 (pow.f32 (*.f32 (PI.f32) x) 2) tau 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (neg.f32 (expm1.f32 (*.f32 2 (log1p.f32 (*.f32 (pow.f32 (*.f32 (PI.f32) x) 2) tau))))) (neg.f32 (fma.f32 (pow.f32 (*.f32 (PI.f32) x) 2) tau 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 1 (pow.f32 (fma.f32 (pow.f32 (*.f32 (PI.f32) x) 2) tau -1) 3)) (+.f32 1 (-.f32 (pow.f32 (fma.f32 (pow.f32 (*.f32 (PI.f32) x) 2) tau -1) 2) (fma.f32 (pow.f32 (*.f32 (PI.f32) x) 2) tau -1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 1 (pow.f32 (fma.f32 (pow.f32 (*.f32 (PI.f32) x) 2) tau -1) 2)) (-.f32 1 (fma.f32 (pow.f32 (*.f32 (PI.f32) x) 2) tau -1)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 (pow.f32 (*.f32 (PI.f32) x) 2) tau) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (*.f32 (*.f32 (PI.f32) x) (sqrt.f32 tau)) 4) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (*.f32 (pow.f32 (*.f32 (PI.f32) x) 2) tau)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 (*.f32 (PI.f32) x) (sqrt.f32 tau)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (*.f32 (*.f32 (PI.f32) x) (sqrt.f32 tau)) 6) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (/.f32 (+.f32 (pow.f32 (fma.f32 (pow.f32 (*.f32 (PI.f32) x) 2) tau 1) 2) (fma.f32 (pow.f32 (*.f32 (PI.f32) x) 2) tau 2)) (+.f32 (pow.f32 (fma.f32 (pow.f32 (*.f32 (PI.f32) x) 2) tau 1) 3) -1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (/.f32 (fma.f32 (pow.f32 (*.f32 (PI.f32) x) 2) tau 2) (expm1.f32 (*.f32 2 (log1p.f32 (*.f32 (pow.f32 (*.f32 (PI.f32) x) 2) tau))))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (*.f32 (*.f32 (PI.f32) x) (sqrt.f32 tau)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (pow.f32 (exp.f32 tau) (pow.f32 (*.f32 (PI.f32) x) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (*.f32 (pow.f32 (*.f32 (PI.f32) x) 2) tau))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (*.f32 (*.f32 (PI.f32) x) (sqrt.f32 tau)) 6))))) (#(struct:change #<rule egg-rr> (2) ((x hypot.f32 (*.f32 (*.f32 (PI.f32) x) (sqrt.f32 tau)) (sqrt.f32 (*.f32 (*.f32 (pow.f32 (*.f32 (PI.f32) x) 2) tau) (fma.f32 (pow.f32 (*.f32 (PI.f32) x) 2) tau -1))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (*.f32 (pow.f32 (*.f32 (PI.f32) x) 2) tau)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (*.f32 (log1p.f32 (*.f32 (pow.f32 (*.f32 (PI.f32) x) 2) tau)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (*.f32 (pow.f32 (*.f32 (PI.f32) x) 2) tau)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (*.f32 (pow.f32 (*.f32 (PI.f32) x) 2) tau)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (*.f32 (pow.f32 (*.f32 (PI.f32) x) 2) tau)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 1 (*.f32 (pow.f32 (*.f32 (PI.f32) x) 2) tau) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 1 (fma.f32 (pow.f32 (*.f32 (PI.f32) x) 2) tau 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 1 (fma.f32 (pow.f32 (*.f32 (PI.f32) x) 2) tau -1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 (PI.f32) x) (*.f32 (*.f32 (PI.f32) x) tau) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (pow.f32 (*.f32 (PI.f32) x) 2) tau 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 tau (pow.f32 (*.f32 (PI.f32) x) 2) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 (pow.f32 (*.f32 (PI.f32) x) 2) tau) 1 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (fma.f32 (pow.f32 (*.f32 (PI.f32) x) 2) tau 1) 1 -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (pow.f32 (PI.f32) 2) (*.f32 (*.f32 x x) tau) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (pow.f32 (cbrt.f32 tau) 2) (*.f32 (cbrt.f32 tau) (pow.f32 (*.f32 (PI.f32) x) 2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (cbrt.f32 (*.f32 (pow.f32 (*.f32 (PI.f32) x) 2) tau)) (cbrt.f32 (pow.f32 (*.f32 (*.f32 (PI.f32) x) (sqrt.f32 tau)) 4)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (cbrt.f32 (pow.f32 (*.f32 (*.f32 (PI.f32) x) (sqrt.f32 tau)) 4)) (cbrt.f32 (*.f32 (pow.f32 (*.f32 (PI.f32) x) 2) tau)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (cbrt.f32 (fma.f32 (pow.f32 (*.f32 (PI.f32) x) 2) tau 1)) (pow.f32 (cbrt.f32 (fma.f32 (pow.f32 (*.f32 (PI.f32) x) 2) tau 1)) 2) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (pow.f32 (cbrt.f32 (fma.f32 (pow.f32 (*.f32 (PI.f32) x) 2) tau 1)) 2) (cbrt.f32 (fma.f32 (pow.f32 (*.f32 (PI.f32) x) 2) tau 1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (pow.f32 (cbrt.f32 (fma.f32 (pow.f32 (*.f32 (PI.f32) x) 2) tau 1)) 2) (*.f32 (cbrt.f32 (fma.f32 (pow.f32 (*.f32 (PI.f32) x) 2) tau 1)) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (pow.f32 (cbrt.f32 (*.f32 (PI.f32) x)) 4) (*.f32 (pow.f32 (cbrt.f32 (*.f32 (PI.f32) x)) 2) tau) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sqrt.f32 tau) (*.f32 (sqrt.f32 tau) (pow.f32 (*.f32 (PI.f32) x) 2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 (*.f32 (PI.f32) x) (sqrt.f32 tau)) (*.f32 (*.f32 (PI.f32) x) (sqrt.f32 tau)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (hypot.f32 1 (*.f32 (*.f32 (PI.f32) x) (sqrt.f32 tau))) (hypot.f32 1 (*.f32 (*.f32 (PI.f32) x) (sqrt.f32 tau))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (hypot.f32 1 (*.f32 (*.f32 (PI.f32) x) (sqrt.f32 tau))) (*.f32 (hypot.f32 1 (*.f32 (*.f32 (PI.f32) x) (sqrt.f32 tau))) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (+.f32 (pow.f32 (fma.f32 (pow.f32 (*.f32 (PI.f32) x) 2) tau 1) 3) -1) (/.f32 1 (+.f32 (pow.f32 (fma.f32 (pow.f32 (*.f32 (PI.f32) x) 2) tau 1) 2) (fma.f32 (pow.f32 (*.f32 (PI.f32) x) 2) tau 2))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (fma.f32 (pow.f32 tau 3) (pow.f32 (*.f32 (PI.f32) x) 6) 1) (/.f32 1 (fma.f32 (*.f32 (pow.f32 (*.f32 (PI.f32) x) 2) tau) (fma.f32 (pow.f32 (*.f32 (PI.f32) x) 2) tau -1) 1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (expm1.f32 (*.f32 2 (log1p.f32 (*.f32 (pow.f32 (*.f32 (PI.f32) x) 2) tau)))) (/.f32 1 (fma.f32 (pow.f32 (*.f32 (PI.f32) x) 2) tau 2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (-.f32 1 (pow.f32 (*.f32 (*.f32 (PI.f32) x) (sqrt.f32 tau)) 4)) (/.f32 1 (-.f32 1 (*.f32 (pow.f32 (*.f32 (PI.f32) x) 2) tau))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (pow.f32 (cbrt.f32 (fma.f32 (pow.f32 (*.f32 (PI.f32) x) 2) tau -1)) 2) (cbrt.f32 (fma.f32 (pow.f32 (*.f32 (PI.f32) x) 2) tau -1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sqrt.f32 (fma.f32 (pow.f32 (*.f32 (PI.f32) x) 2) tau -1)) (sqrt.f32 (fma.f32 (pow.f32 (*.f32 (PI.f32) x) 2) tau -1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (+.f32 (hypot.f32 1 (*.f32 (*.f32 (PI.f32) x) (sqrt.f32 tau))) 1) (-.f32 (hypot.f32 1 (*.f32 (*.f32 (PI.f32) x) (sqrt.f32 tau))) 1) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (fma.f32 (*.f32 (PI.f32) x) (sqrt.f32 tau) 1) (fma.f32 (*.f32 (PI.f32) x) (sqrt.f32 tau) -1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (pow.f32 (*.f32 (*.f32 (PI.f32) x) (cbrt.f32 tau)) 2) (cbrt.f32 tau) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 (pow.f32 (*.f32 (PI.f32) x) 2) (sqrt.f32 tau)) (sqrt.f32 tau) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 tau (*.f32 (PI.f32) x)) (*.f32 (PI.f32) x) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 tau (pow.f32 (cbrt.f32 (*.f32 (PI.f32) x)) 4)) (pow.f32 (cbrt.f32 (*.f32 (PI.f32) x)) 2) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 tau (pow.f32 (PI.f32) 2)) (*.f32 x x) 0)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (pow.f32 (*.f32 (PI.f32) x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (pow.f32 (cbrt.f32 (exp.f32 (pow.f32 (*.f32 (PI.f32) x) 2))) 2)) (log.f32 (cbrt.f32 (exp.f32 (pow.f32 (*.f32 (PI.f32) x) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (sqrt.f32 (exp.f32 (pow.f32 (*.f32 (PI.f32) x) 2)))) (log.f32 (sqrt.f32 (exp.f32 (pow.f32 (*.f32 (PI.f32) x) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (pow.f32 (*.f32 (PI.f32) x) 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (pow.f32 (*.f32 (PI.f32) x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (PI.f32) (*.f32 x (*.f32 (PI.f32) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 x (*.f32 (PI.f32) (*.f32 (PI.f32) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (PI.f32) x) (*.f32 (PI.f32) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (*.f32 (PI.f32) x) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (PI.f32) 2) (*.f32 x x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 x x) (pow.f32 (PI.f32) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 (*.f32 (PI.f32) x)) 2) (pow.f32 (cbrt.f32 (*.f32 (PI.f32) x)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 (*.f32 (PI.f32) x)) 4) (pow.f32 (cbrt.f32 (*.f32 (PI.f32) x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (*.f32 (PI.f32) x)) (pow.f32 (sqrt.f32 (*.f32 (PI.f32) x)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (sqrt.f32 (*.f32 (PI.f32) x)) 3) (sqrt.f32 (*.f32 (PI.f32) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (*.f32 (PI.f32) x) (PI.f32)) x)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (*.f32 (PI.f32) x) x) (PI.f32))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (*.f32 (PI.f32) x) (pow.f32 (cbrt.f32 (*.f32 (PI.f32) x)) 2)) (cbrt.f32 (*.f32 (PI.f32) x)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (*.f32 (PI.f32) x) 4))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (exp.f32 (pow.f32 (*.f32 (PI.f32) x) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (pow.f32 (*.f32 (PI.f32) x) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (*.f32 (PI.f32) x) 6))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (pow.f32 (*.f32 (PI.f32) x) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (pow.f32 (*.f32 (PI.f32) x) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 2 (log.f32 (*.f32 (PI.f32) x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (*.f32 2 (log.f32 (*.f32 (PI.f32) x))) 1))))))

simplify266.0ms (2.2%)

Algorithm
egg-herbie
Rules
900×unswap-sqr_binary32
743×cube-prod_binary32
705×fabs-mul_binary32
700×sqr-pow_binary32
336×pow-sqr_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
011468
125468
260468
3183468
4858468
51441468
61507468
71607468
81727468
91849468
101996468
113456468
123685468
133981468
144306468
154713468
165330468
176104468
186600468
196984468
207418468
217822468
Stop Event
node limit
Counts
150 → 119
Calls
Call 1
Inputs
(*.f32 tau (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2)))
(*.f32 tau (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2)))
(*.f32 tau (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2)))
(*.f32 tau (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2)))
(*.f32 tau (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2)))
(*.f32 tau (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2)))
(*.f32 tau (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2)))
(*.f32 tau (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2)))
(*.f32 tau (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2)))
(*.f32 tau (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2)))
(*.f32 tau (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2)))
(*.f32 tau (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2)))
(*.f32 tau (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2)))
(*.f32 tau (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2)))
(*.f32 tau (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2)))
(*.f32 tau (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2)))
(*.f32 tau (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2)))
(*.f32 tau (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2)))
(*.f32 tau (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2)))
(*.f32 tau (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2)))
(*.f32 tau (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2)))
(*.f32 tau (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2)))
(*.f32 tau (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2)))
(*.f32 tau (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2)))
(*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2))
(*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2))
(*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2))
(*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2))
(*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2))
(*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2))
(*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2))
(*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2))
(*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2))
(*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2))
(*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2))
(*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2))
Outputs
(*.f32 tau (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2)))
(*.f32 (*.f32 tau (*.f32 x x)) (pow.f32 (PI.f32) 2))
(*.f32 tau (*.f32 (*.f32 x x) (pow.f32 (PI.f32) 2)))
(*.f32 tau (*.f32 x (*.f32 x (pow.f32 (PI.f32) 2))))
(*.f32 tau (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2)))
(*.f32 (*.f32 tau (*.f32 x x)) (pow.f32 (PI.f32) 2))
(*.f32 tau (*.f32 (*.f32 x x) (pow.f32 (PI.f32) 2)))
(*.f32 tau (*.f32 x (*.f32 x (pow.f32 (PI.f32) 2))))
(*.f32 tau (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2)))
(*.f32 (*.f32 tau (*.f32 x x)) (pow.f32 (PI.f32) 2))
(*.f32 tau (*.f32 (*.f32 x x) (pow.f32 (PI.f32) 2)))
(*.f32 tau (*.f32 x (*.f32 x (pow.f32 (PI.f32) 2))))
(*.f32 tau (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2)))
(*.f32 (*.f32 tau (*.f32 x x)) (pow.f32 (PI.f32) 2))
(*.f32 tau (*.f32 (*.f32 x x) (pow.f32 (PI.f32) 2)))
(*.f32 tau (*.f32 x (*.f32 x (pow.f32 (PI.f32) 2))))
(*.f32 tau (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2)))
(*.f32 (*.f32 tau (*.f32 x x)) (pow.f32 (PI.f32) 2))
(*.f32 tau (*.f32 (*.f32 x x) (pow.f32 (PI.f32) 2)))
(*.f32 tau (*.f32 x (*.f32 x (pow.f32 (PI.f32) 2))))
(*.f32 tau (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2)))
(*.f32 (*.f32 tau (*.f32 x x)) (pow.f32 (PI.f32) 2))
(*.f32 tau (*.f32 (*.f32 x x) (pow.f32 (PI.f32) 2)))
(*.f32 tau (*.f32 x (*.f32 x (pow.f32 (PI.f32) 2))))
(*.f32 tau (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2)))
(*.f32 (*.f32 tau (*.f32 x x)) (pow.f32 (PI.f32) 2))
(*.f32 tau (*.f32 (*.f32 x x) (pow.f32 (PI.f32) 2)))
(*.f32 tau (*.f32 x (*.f32 x (pow.f32 (PI.f32) 2))))
(*.f32 tau (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2)))
(*.f32 (*.f32 tau (*.f32 x x)) (pow.f32 (PI.f32) 2))
(*.f32 tau (*.f32 (*.f32 x x) (pow.f32 (PI.f32) 2)))
(*.f32 tau (*.f32 x (*.f32 x (pow.f32 (PI.f32) 2))))
(*.f32 tau (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2)))
(*.f32 (*.f32 tau (*.f32 x x)) (pow.f32 (PI.f32) 2))
(*.f32 tau (*.f32 (*.f32 x x) (pow.f32 (PI.f32) 2)))
(*.f32 tau (*.f32 x (*.f32 x (pow.f32 (PI.f32) 2))))
(*.f32 tau (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2)))
(*.f32 (*.f32 tau (*.f32 x x)) (pow.f32 (PI.f32) 2))
(*.f32 tau (*.f32 (*.f32 x x) (pow.f32 (PI.f32) 2)))
(*.f32 tau (*.f32 x (*.f32 x (pow.f32 (PI.f32) 2))))
(*.f32 tau (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2)))
(*.f32 (*.f32 tau (*.f32 x x)) (pow.f32 (PI.f32) 2))
(*.f32 tau (*.f32 (*.f32 x x) (pow.f32 (PI.f32) 2)))
(*.f32 tau (*.f32 x (*.f32 x (pow.f32 (PI.f32) 2))))
(*.f32 tau (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2)))
(*.f32 (*.f32 tau (*.f32 x x)) (pow.f32 (PI.f32) 2))
(*.f32 tau (*.f32 (*.f32 x x) (pow.f32 (PI.f32) 2)))
(*.f32 tau (*.f32 x (*.f32 x (pow.f32 (PI.f32) 2))))
(*.f32 tau (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2)))
(*.f32 (*.f32 tau (*.f32 x x)) (pow.f32 (PI.f32) 2))
(*.f32 tau (*.f32 (*.f32 x x) (pow.f32 (PI.f32) 2)))
(*.f32 tau (*.f32 x (*.f32 x (pow.f32 (PI.f32) 2))))
(*.f32 tau (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2)))
(*.f32 (*.f32 tau (*.f32 x x)) (pow.f32 (PI.f32) 2))
(*.f32 tau (*.f32 (*.f32 x x) (pow.f32 (PI.f32) 2)))
(*.f32 tau (*.f32 x (*.f32 x (pow.f32 (PI.f32) 2))))
(*.f32 tau (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2)))
(*.f32 (*.f32 tau (*.f32 x x)) (pow.f32 (PI.f32) 2))
(*.f32 tau (*.f32 (*.f32 x x) (pow.f32 (PI.f32) 2)))
(*.f32 tau (*.f32 x (*.f32 x (pow.f32 (PI.f32) 2))))
(*.f32 tau (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2)))
(*.f32 (*.f32 tau (*.f32 x x)) (pow.f32 (PI.f32) 2))
(*.f32 tau (*.f32 (*.f32 x x) (pow.f32 (PI.f32) 2)))
(*.f32 tau (*.f32 x (*.f32 x (pow.f32 (PI.f32) 2))))
(*.f32 tau (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2)))
(*.f32 (*.f32 tau (*.f32 x x)) (pow.f32 (PI.f32) 2))
(*.f32 tau (*.f32 (*.f32 x x) (pow.f32 (PI.f32) 2)))
(*.f32 tau (*.f32 x (*.f32 x (pow.f32 (PI.f32) 2))))
(*.f32 tau (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2)))
(*.f32 (*.f32 tau (*.f32 x x)) (pow.f32 (PI.f32) 2))
(*.f32 tau (*.f32 (*.f32 x x) (pow.f32 (PI.f32) 2)))
(*.f32 tau (*.f32 x (*.f32 x (pow.f32 (PI.f32) 2))))
(*.f32 tau (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2)))
(*.f32 (*.f32 tau (*.f32 x x)) (pow.f32 (PI.f32) 2))
(*.f32 tau (*.f32 (*.f32 x x) (pow.f32 (PI.f32) 2)))
(*.f32 tau (*.f32 x (*.f32 x (pow.f32 (PI.f32) 2))))
(*.f32 tau (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2)))
(*.f32 (*.f32 tau (*.f32 x x)) (pow.f32 (PI.f32) 2))
(*.f32 tau (*.f32 (*.f32 x x) (pow.f32 (PI.f32) 2)))
(*.f32 tau (*.f32 x (*.f32 x (pow.f32 (PI.f32) 2))))
(*.f32 tau (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2)))
(*.f32 (*.f32 tau (*.f32 x x)) (pow.f32 (PI.f32) 2))
(*.f32 tau (*.f32 (*.f32 x x) (pow.f32 (PI.f32) 2)))
(*.f32 tau (*.f32 x (*.f32 x (pow.f32 (PI.f32) 2))))
(*.f32 tau (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2)))
(*.f32 (*.f32 tau (*.f32 x x)) (pow.f32 (PI.f32) 2))
(*.f32 tau (*.f32 (*.f32 x x) (pow.f32 (PI.f32) 2)))
(*.f32 tau (*.f32 x (*.f32 x (pow.f32 (PI.f32) 2))))
(*.f32 tau (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2)))
(*.f32 (*.f32 tau (*.f32 x x)) (pow.f32 (PI.f32) 2))
(*.f32 tau (*.f32 (*.f32 x x) (pow.f32 (PI.f32) 2)))
(*.f32 tau (*.f32 x (*.f32 x (pow.f32 (PI.f32) 2))))
(*.f32 tau (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2)))
(*.f32 (*.f32 tau (*.f32 x x)) (pow.f32 (PI.f32) 2))
(*.f32 tau (*.f32 (*.f32 x x) (pow.f32 (PI.f32) 2)))
(*.f32 tau (*.f32 x (*.f32 x (pow.f32 (PI.f32) 2))))
(*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2))
(*.f32 (*.f32 x x) (pow.f32 (PI.f32) 2))
(*.f32 x (*.f32 x (pow.f32 (PI.f32) 2)))
(*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2))
(*.f32 (*.f32 x x) (pow.f32 (PI.f32) 2))
(*.f32 x (*.f32 x (pow.f32 (PI.f32) 2)))
(*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2))
(*.f32 (*.f32 x x) (pow.f32 (PI.f32) 2))
(*.f32 x (*.f32 x (pow.f32 (PI.f32) 2)))
(*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2))
(*.f32 (*.f32 x x) (pow.f32 (PI.f32) 2))
(*.f32 x (*.f32 x (pow.f32 (PI.f32) 2)))
(*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2))
(*.f32 (*.f32 x x) (pow.f32 (PI.f32) 2))
(*.f32 x (*.f32 x (pow.f32 (PI.f32) 2)))
(*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2))
(*.f32 (*.f32 x x) (pow.f32 (PI.f32) 2))
(*.f32 x (*.f32 x (pow.f32 (PI.f32) 2)))
(*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2))
(*.f32 (*.f32 x x) (pow.f32 (PI.f32) 2))
(*.f32 x (*.f32 x (pow.f32 (PI.f32) 2)))
(*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2))
(*.f32 (*.f32 x x) (pow.f32 (PI.f32) 2))
(*.f32 x (*.f32 x (pow.f32 (PI.f32) 2)))
(*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2))
(*.f32 (*.f32 x x) (pow.f32 (PI.f32) 2))
(*.f32 x (*.f32 x (pow.f32 (PI.f32) 2)))
(*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2))
(*.f32 (*.f32 x x) (pow.f32 (PI.f32) 2))
(*.f32 x (*.f32 x (pow.f32 (PI.f32) 2)))
(*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2))
(*.f32 (*.f32 x x) (pow.f32 (PI.f32) 2))
(*.f32 x (*.f32 x (pow.f32 (PI.f32) 2)))
(*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2))
(*.f32 (*.f32 x x) (pow.f32 (PI.f32) 2))
(*.f32 x (*.f32 x (pow.f32 (PI.f32) 2)))

localize110.0ms (0.9%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.4b
(/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32)))
0.4b
(sin.f32 (*.f32 (PI.f32) (*.f32 tau x)))
0.5b
(/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (PI.f32) (*.f32 tau x)))
0.6b
(log.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (PI.f32) (*.f32 tau x)))))
Compiler

Compiled 96 to 13 computations (86.5% saved)

series28.0ms (0.2%)

Counts
3 → 72
Calls

18 calls:

TimeVariablePointExpression
18.0ms
tau
@-inf
(sin.f32 (*.f32 (PI.f32) (*.f32 tau x)))
1.0ms
tau
@0
(log.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (PI.f32) (*.f32 tau x)))))
1.0ms
tau
@inf
(log.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (PI.f32) (*.f32 tau x)))))
1.0ms
tau
@-inf
(log.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (PI.f32) (*.f32 tau x)))))
1.0ms
x
@inf
(log.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (PI.f32) (*.f32 tau x)))))

rewrite155.0ms (1.3%)

Algorithm
batch-egg-rewrite
Rules
542×log-prod_binary32
511×prod-diff_binary32
414×exp-prod_binary32
334×pow-prod-down_binary32
249×pow2_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01050
118750
2248450
Stop Event
node limit
Counts
3 → 172
Calls
Call 1
Inputs
(log.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (PI.f32) (*.f32 tau x)))))
(/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (PI.f32) (*.f32 tau x)))
(sin.f32 (*.f32 (PI.f32) (*.f32 tau x)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 2 (*.f32 1/3 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau))))) (*.f32 1/3 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 1/2 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau)))) (*.f32 1/2 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 1/3 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau)))) (*.f32 2 (*.f32 1/3 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (/.f32 1 (*.f32 x (*.f32 (PI.f32) tau))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau)))) (pow.f32 (cbrt.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau)))) 2) (cbrt.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (pow.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) 2)) (*.f32 (cbrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) (/.f32 1 (*.f32 x (*.f32 (PI.f32) tau)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau)))) (sqrt.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) (*.f32 (sqrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) (/.f32 1 (*.f32 x (*.f32 (PI.f32) tau)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (neg.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) (/.f32 1 (*.f32 (*.f32 (PI.f32) tau) (neg.f32 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1 (*.f32 x (*.f32 (PI.f32) tau))) (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (PI.f32)) (/.f32 1 (*.f32 tau x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 2 (*.f32 1/2 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 3 (*.f32 1/3 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1/3 (*.f32 3 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1 (PI.f32)) (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 tau x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (cbrt.f32 (pow.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) 2)) (PI.f32)) (/.f32 (cbrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) (*.f32 tau x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (sqrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) (PI.f32)) (/.f32 (sqrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) (*.f32 tau x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (sqrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) (*.f32 tau x)) (/.f32 (sqrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1 (*.f32 tau x)) (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (cbrt.f32 (pow.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) 2)) (*.f32 tau x)) (/.f32 (cbrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (cbrt.f32 (pow.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) 2)) 1) (/.f32 (cbrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) (*.f32 x (*.f32 (PI.f32) tau))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (sqrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) 1) (/.f32 (sqrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) (*.f32 x (*.f32 (PI.f32) tau))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 (*.f32 x (*.f32 (PI.f32) tau))) -2) (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (cbrt.f32 (*.f32 x (*.f32 (PI.f32) tau)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (cbrt.f32 (pow.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) 2)) (pow.f32 (cbrt.f32 (*.f32 x (*.f32 (PI.f32) tau))) 2)) (cbrt.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (sqrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) (pow.f32 (cbrt.f32 (*.f32 x (*.f32 (PI.f32) tau))) 2)) (/.f32 (sqrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) (cbrt.f32 (*.f32 x (*.f32 (PI.f32) tau)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (*.f32 x (*.f32 (PI.f32) tau)) -1/2) (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (sqrt.f32 (*.f32 x (*.f32 (PI.f32) tau)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (cbrt.f32 (pow.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) 2)) (sqrt.f32 (*.f32 x (*.f32 (PI.f32) tau)))) (/.f32 (cbrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) (sqrt.f32 (*.f32 x (*.f32 (PI.f32) tau)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1 (*.f32 (PI.f32) tau)) (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (cbrt.f32 (pow.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) 2)) (*.f32 (PI.f32) tau)) (/.f32 (cbrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (sqrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) (*.f32 (PI.f32) tau)) (/.f32 (sqrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 1 (/.f32 (*.f32 tau x) (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 1 (/.f32 (/.f32 (*.f32 tau x) (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (PI.f32))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (cbrt.f32 (pow.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) 2)) (/.f32 (*.f32 x (*.f32 (PI.f32) tau)) (cbrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (sqrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) (/.f32 (*.f32 x (*.f32 (PI.f32) tau)) (sqrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (neg.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) (*.f32 (*.f32 (PI.f32) tau) (neg.f32 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (PI.f32)) (*.f32 tau x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 -1 (neg.f32 (/.f32 (*.f32 tau x) (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (neg.f32 (neg.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))))) (neg.f32 (*.f32 (*.f32 (PI.f32) tau) (neg.f32 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (neg.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (PI.f32))) (neg.f32 (*.f32 tau x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 tau x)) (PI.f32))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (sqrt.f32 (*.f32 x (*.f32 (PI.f32) tau)))) (sqrt.f32 (*.f32 x (*.f32 (PI.f32) tau))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) 1) (*.f32 x (*.f32 (PI.f32) tau)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (pow.f32 (cbrt.f32 (*.f32 x (*.f32 (PI.f32) tau))) 2)) (cbrt.f32 (*.f32 x (*.f32 (PI.f32) tau))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 (PI.f32) tau)) x)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (/.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (PI.f32)) tau) x)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (/.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (PI.f32)) x) tau)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (/.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (PI.f32)) 1) (*.f32 tau x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (/.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (PI.f32)) (pow.f32 (cbrt.f32 (*.f32 tau x)) 2)) (cbrt.f32 (*.f32 tau x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (/.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (PI.f32)) (sqrt.f32 (*.f32 tau x))) (sqrt.f32 (*.f32 tau x)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (/.f32 (*.f32 tau x) (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (PI.f32))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (exp.f32 1) (log.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (/.f32 (pow.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) 3) (pow.f32 (*.f32 x (*.f32 (PI.f32) tau)) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (/.f32 (/.f32 (*.f32 tau x) (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (PI.f32))) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (exp.f32 (pow.f32 (cbrt.f32 (log.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau))))) 2)) (cbrt.f32 (log.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (exp.f32 (sqrt.f32 (log.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau)))))) (sqrt.f32 (log.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau))))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 (*.f32 (PI.f32) tau) (neg.f32 x))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (/.f32 (pow.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) 3) (pow.f32 (*.f32 x (*.f32 (PI.f32) tau)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (*.f32 3 (log.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau))))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (cbrt.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau))))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (sqrt.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (/.f32 (*.f32 tau x) (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (PI.f32)))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (*.f32 (log.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau)))) 1) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 2 (*.f32 1/3 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau))))) (*.f32 1/3 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 1/2 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau)))) (*.f32 1/2 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 1/3 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau)))) (*.f32 2 (*.f32 1/3 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (/.f32 1 (*.f32 x (*.f32 (PI.f32) tau))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau)))) (pow.f32 (cbrt.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau)))) 2) (cbrt.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (pow.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) 2)) (*.f32 (cbrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) (/.f32 1 (*.f32 x (*.f32 (PI.f32) tau)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau)))) (sqrt.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) (*.f32 (sqrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) (/.f32 1 (*.f32 x (*.f32 (PI.f32) tau)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (neg.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) (/.f32 1 (*.f32 (*.f32 (PI.f32) tau) (neg.f32 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1 (*.f32 x (*.f32 (PI.f32) tau))) (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (PI.f32)) (/.f32 1 (*.f32 tau x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 2 (*.f32 1/2 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 3 (*.f32 1/3 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1/3 (*.f32 3 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1 (PI.f32)) (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 tau x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (cbrt.f32 (pow.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) 2)) (PI.f32)) (/.f32 (cbrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) (*.f32 tau x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (sqrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) (PI.f32)) (/.f32 (sqrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) (*.f32 tau x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (sqrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) (*.f32 tau x)) (/.f32 (sqrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1 (*.f32 tau x)) (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (cbrt.f32 (pow.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) 2)) (*.f32 tau x)) (/.f32 (cbrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (cbrt.f32 (pow.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) 2)) 1) (/.f32 (cbrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) (*.f32 x (*.f32 (PI.f32) tau))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (sqrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) 1) (/.f32 (sqrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) (*.f32 x (*.f32 (PI.f32) tau))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 (*.f32 x (*.f32 (PI.f32) tau))) -2) (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (cbrt.f32 (*.f32 x (*.f32 (PI.f32) tau)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (cbrt.f32 (pow.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) 2)) (pow.f32 (cbrt.f32 (*.f32 x (*.f32 (PI.f32) tau))) 2)) (cbrt.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (sqrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) (pow.f32 (cbrt.f32 (*.f32 x (*.f32 (PI.f32) tau))) 2)) (/.f32 (sqrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) (cbrt.f32 (*.f32 x (*.f32 (PI.f32) tau)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (*.f32 x (*.f32 (PI.f32) tau)) -1/2) (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (sqrt.f32 (*.f32 x (*.f32 (PI.f32) tau)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (cbrt.f32 (pow.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) 2)) (sqrt.f32 (*.f32 x (*.f32 (PI.f32) tau)))) (/.f32 (cbrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) (sqrt.f32 (*.f32 x (*.f32 (PI.f32) tau)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1 (*.f32 (PI.f32) tau)) (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (cbrt.f32 (pow.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) 2)) (*.f32 (PI.f32) tau)) (/.f32 (cbrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (sqrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) (*.f32 (PI.f32) tau)) (/.f32 (sqrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) x))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (/.f32 (*.f32 tau x) (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (PI.f32))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (exp.f32 1) (log.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (/.f32 (pow.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) 3) (pow.f32 (*.f32 x (*.f32 (PI.f32) tau)) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (/.f32 (/.f32 (*.f32 tau x) (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (PI.f32))) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (exp.f32 (pow.f32 (cbrt.f32 (log.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau))))) 2)) (cbrt.f32 (log.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (exp.f32 (sqrt.f32 (log.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau)))))) (sqrt.f32 (log.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau))))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 (*.f32 (PI.f32) tau) (neg.f32 x))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (/.f32 (pow.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) 3) (pow.f32 (*.f32 x (*.f32 (PI.f32) tau)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (*.f32 3 (log.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau))))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (cbrt.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau))))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (sqrt.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (/.f32 (*.f32 tau x) (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (PI.f32)))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (*.f32 (log.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau)))) 1) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (pow.f32 (cbrt.f32 (exp.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))))) 2)) (log.f32 (cbrt.f32 (exp.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (sqrt.f32 (exp.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))))) (log.f32 (sqrt.f32 (exp.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (*.f32 (sin.f32 (exp.f32 (log1p.f32 (*.f32 x (*.f32 (PI.f32) tau))))) (cos.f32 1)) (*.f32 (cos.f32 (exp.f32 (log1p.f32 (*.f32 x (*.f32 (PI.f32) tau))))) (sin.f32 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) (cbrt.f32 (pow.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (pow.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) 2)) (cbrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) (sqrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (exp.f32 1) (log.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (exp.f32 (pow.f32 (cbrt.f32 (log.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))))) 2)) (cbrt.f32 (log.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (exp.f32 (sqrt.f32 (log.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))))) (sqrt.f32 (log.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (exp.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (*.f32 3 (log.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (cbrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (sqrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (*.f32 (log.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) 1) 1))))))

simplify266.0ms (2.2%)

Algorithm
egg-herbie
Rules
980×associate-/r*_binary32
756×fma-def_binary32
651×sqr-pow_binary32
493×*-commutative_binary32
408×cube-prod_binary32
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0811624
12491616
28011600
318131600
424961600
530521600
636421600
738851600
841951600
946111600
1052681600
1159561600
1274171600
1377151600
1479471600
Stop Event
node limit
Counts
244 → 138
Calls
Call 1
Inputs
1
(+.f32 1 (*.f32 -1/6 (*.f32 (pow.f32 tau 2) (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2)))))
(+.f32 1 (+.f32 (*.f32 -1/6 (*.f32 (pow.f32 tau 2) (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2)))) (*.f32 1/120 (*.f32 (pow.f32 tau 4) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4))))))
(+.f32 (*.f32 -1/5040 (*.f32 (pow.f32 tau 6) (*.f32 (pow.f32 (PI.f32) 6) (pow.f32 x 6)))) (+.f32 1 (+.f32 (*.f32 -1/6 (*.f32 (pow.f32 tau 2) (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2)))) (*.f32 1/120 (*.f32 (pow.f32 tau 4) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4)))))))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 x (PI.f32))))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 x (PI.f32))))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 x (PI.f32))))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 x (PI.f32))))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 (PI.f32) x)))
1
(+.f32 1 (*.f32 -1/6 (*.f32 (pow.f32 tau 2) (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2)))))
(+.f32 1 (+.f32 (*.f32 -1/6 (*.f32 (pow.f32 tau 2) (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2)))) (*.f32 1/120 (*.f32 (pow.f32 tau 4) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4))))))
(+.f32 (*.f32 -1/5040 (*.f32 (pow.f32 tau 6) (*.f32 (pow.f32 (PI.f32) 6) (pow.f32 x 6)))) (+.f32 1 (+.f32 (*.f32 -1/6 (*.f32 (pow.f32 tau 2) (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2)))) (*.f32 1/120 (*.f32 (pow.f32 tau 4) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4)))))))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 (PI.f32) x)))
1
(+.f32 1 (*.f32 -1/6 (*.f32 (pow.f32 tau 2) (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2)))))
(+.f32 1 (+.f32 (*.f32 -1/6 (*.f32 (pow.f32 tau 2) (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2)))) (*.f32 1/120 (*.f32 (pow.f32 tau 4) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4))))))
(+.f32 (*.f32 -1/5040 (*.f32 (pow.f32 tau 6) (*.f32 (pow.f32 (PI.f32) 6) (pow.f32 x 6)))) (+.f32 1 (+.f32 (*.f32 -1/6 (*.f32 (pow.f32 tau 2) (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2)))) (*.f32 1/120 (*.f32 (pow.f32 tau 4) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4)))))))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 x (PI.f32))))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 x (PI.f32))))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 x (PI.f32))))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 x (PI.f32))))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 (PI.f32) x)))
1
(+.f32 1 (*.f32 -1/6 (*.f32 (pow.f32 tau 2) (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2)))))
(+.f32 1 (+.f32 (*.f32 -1/6 (*.f32 (pow.f32 tau 2) (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2)))) (*.f32 1/120 (*.f32 (pow.f32 tau 4) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4))))))
(+.f32 (*.f32 -1/5040 (*.f32 (pow.f32 tau 6) (*.f32 (pow.f32 (PI.f32) 6) (pow.f32 x 6)))) (+.f32 1 (+.f32 (*.f32 -1/6 (*.f32 (pow.f32 tau 2) (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2)))) (*.f32 1/120 (*.f32 (pow.f32 tau 4) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4)))))))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 (PI.f32) x)))
(*.f32 tau (*.f32 (PI.f32) x))
(+.f32 (*.f32 tau (*.f32 (PI.f32) x)) (*.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 x 3) (pow.f32 (PI.f32) 3)))))
(+.f32 (*.f32 tau (*.f32 (PI.f32) x)) (+.f32 (*.f32 1/120 (*.f32 (pow.f32 tau 5) (*.f32 (pow.f32 x 5) (pow.f32 (PI.f32) 5)))) (*.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 x 3) (pow.f32 (PI.f32) 3))))))
(+.f32 (*.f32 tau (*.f32 (PI.f32) x)) (+.f32 (*.f32 -1/5040 (*.f32 (pow.f32 tau 7) (*.f32 (pow.f32 x 7) (pow.f32 (PI.f32) 7)))) (+.f32 (*.f32 1/120 (*.f32 (pow.f32 tau 5) (*.f32 (pow.f32 x 5) (pow.f32 (PI.f32) 5)))) (*.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 x 3) (pow.f32 (PI.f32) 3)))))))
(sin.f32 (*.f32 tau (*.f32 x (PI.f32))))
(sin.f32 (*.f32 tau (*.f32 x (PI.f32))))
(sin.f32 (*.f32 tau (*.f32 x (PI.f32))))
(sin.f32 (*.f32 tau (*.f32 x (PI.f32))))
(sin.f32 (*.f32 tau (*.f32 (PI.f32) x)))
(sin.f32 (*.f32 tau (*.f32 (PI.f32) x)))
(sin.f32 (*.f32 tau (*.f32 (PI.f32) x)))
(sin.f32 (*.f32 tau (*.f32 (PI.f32) x)))
(*.f32 tau (*.f32 x (PI.f32)))
(+.f32 (*.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3)))) (*.f32 tau (*.f32 x (PI.f32))))
(+.f32 (*.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3)))) (+.f32 (*.f32 1/120 (*.f32 (pow.f32 tau 5) (*.f32 (pow.f32 (PI.f32) 5) (pow.f32 x 5)))) (*.f32 tau (*.f32 x (PI.f32)))))
(+.f32 (*.f32 -1/5040 (*.f32 (pow.f32 tau 7) (*.f32 (pow.f32 (PI.f32) 7) (pow.f32 x 7)))) (+.f32 (*.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3)))) (+.f32 (*.f32 1/120 (*.f32 (pow.f32 tau 5) (*.f32 (pow.f32 (PI.f32) 5) (pow.f32 x 5)))) (*.f32 tau (*.f32 x (PI.f32))))))
(sin.f32 (*.f32 tau (*.f32 x (PI.f32))))
(sin.f32 (*.f32 tau (*.f32 x (PI.f32))))
(sin.f32 (*.f32 tau (*.f32 x (PI.f32))))
(sin.f32 (*.f32 tau (*.f32 x (PI.f32))))
(sin.f32 (*.f32 tau (*.f32 (PI.f32) x)))
(sin.f32 (*.f32 tau (*.f32 (PI.f32) x)))
(sin.f32 (*.f32 tau (*.f32 (PI.f32) x)))
(sin.f32 (*.f32 tau (*.f32 (PI.f32) x)))
Outputs
1
(+.f32 1 (*.f32 -1/6 (*.f32 (pow.f32 tau 2) (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2)))))
(+.f32 1 (*.f32 -1/6 (*.f32 (*.f32 (*.f32 tau tau) (pow.f32 (PI.f32) 2)) (*.f32 x x))))
(fma.f32 -1/6 (*.f32 (*.f32 tau tau) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 x x))) 1)
(fma.f32 -1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (*.f32 tau tau) (*.f32 x x))) 1)
(fma.f32 (pow.f32 (PI.f32) 2) (*.f32 (*.f32 x x) (*.f32 -1/6 (*.f32 tau tau))) 1)
(+.f32 1 (+.f32 (*.f32 -1/6 (*.f32 (pow.f32 tau 2) (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2)))) (*.f32 1/120 (*.f32 (pow.f32 tau 4) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4))))))
(+.f32 1 (fma.f32 -1/6 (*.f32 (*.f32 (*.f32 tau tau) (pow.f32 (PI.f32) 2)) (*.f32 x x)) (*.f32 (*.f32 1/120 (pow.f32 tau 4)) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4)))))
(+.f32 1 (fma.f32 -1/6 (*.f32 (*.f32 tau tau) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 x x))) (*.f32 1/120 (*.f32 (pow.f32 tau 4) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4))))))
(fma.f32 -1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (*.f32 tau tau) (*.f32 x x))) (fma.f32 1/120 (*.f32 (pow.f32 x 4) (*.f32 (pow.f32 tau 4) (pow.f32 (PI.f32) 4))) 1))
(fma.f32 (pow.f32 tau 4) (*.f32 1/120 (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4))) (fma.f32 (pow.f32 (PI.f32) 2) (*.f32 (*.f32 x x) (*.f32 -1/6 (*.f32 tau tau))) 1))
(fma.f32 -1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (*.f32 tau tau) (*.f32 x x))) (fma.f32 (pow.f32 tau 4) (*.f32 1/120 (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4))) 1))
(+.f32 (*.f32 -1/5040 (*.f32 (pow.f32 tau 6) (*.f32 (pow.f32 (PI.f32) 6) (pow.f32 x 6)))) (+.f32 1 (+.f32 (*.f32 -1/6 (*.f32 (pow.f32 tau 2) (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2)))) (*.f32 1/120 (*.f32 (pow.f32 tau 4) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4)))))))
(fma.f32 -1/5040 (*.f32 (pow.f32 tau 6) (*.f32 (pow.f32 (PI.f32) 6) (pow.f32 x 6))) (+.f32 1 (fma.f32 -1/6 (*.f32 (*.f32 (*.f32 tau tau) (pow.f32 (PI.f32) 2)) (*.f32 x x)) (*.f32 (*.f32 1/120 (pow.f32 tau 4)) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4))))))
(+.f32 (fma.f32 -1/6 (*.f32 (*.f32 tau tau) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 x x))) (*.f32 1/120 (*.f32 (pow.f32 tau 4) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4))))) (fma.f32 -1/5040 (*.f32 (pow.f32 tau 6) (*.f32 (pow.f32 (PI.f32) 6) (pow.f32 x 6))) 1))
(fma.f32 -1/5040 (*.f32 (pow.f32 tau 6) (*.f32 (pow.f32 (PI.f32) 6) (pow.f32 x 6))) (fma.f32 -1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (*.f32 tau tau) (*.f32 x x))) (fma.f32 1/120 (*.f32 (pow.f32 x 4) (*.f32 (pow.f32 tau 4) (pow.f32 (PI.f32) 4))) 1)))
(fma.f32 -1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (*.f32 tau tau) (*.f32 x x))) (fma.f32 1/120 (*.f32 (pow.f32 x 4) (*.f32 (pow.f32 tau 4) (pow.f32 (PI.f32) 4))) (fma.f32 (pow.f32 tau 6) (*.f32 -1/5040 (*.f32 (pow.f32 (PI.f32) 6) (pow.f32 x 6))) 1)))
(fma.f32 -1/6 (*.f32 (*.f32 tau tau) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 x x))) (fma.f32 -1/5040 (*.f32 (pow.f32 tau 6) (*.f32 (pow.f32 (PI.f32) 6) (pow.f32 x 6))) (fma.f32 1/120 (*.f32 (pow.f32 tau 4) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4))) 1)))
(fma.f32 -1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (*.f32 tau tau) (*.f32 x x))) (fma.f32 -1/5040 (*.f32 (pow.f32 tau 6) (*.f32 (pow.f32 (PI.f32) 6) (pow.f32 x 6))) (fma.f32 (pow.f32 tau 4) (*.f32 1/120 (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4))) 1)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 x (PI.f32))))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 x (*.f32 tau (PI.f32)))) (*.f32 x (*.f32 tau (PI.f32))))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 x (PI.f32))))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 x (*.f32 tau (PI.f32)))) (*.f32 x (*.f32 tau (PI.f32))))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 x (PI.f32))))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 x (*.f32 tau (PI.f32)))) (*.f32 x (*.f32 tau (PI.f32))))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 x (PI.f32))))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 x (*.f32 tau (PI.f32)))) (*.f32 x (*.f32 tau (PI.f32))))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 x (*.f32 tau (PI.f32)))) (*.f32 x (*.f32 tau (PI.f32))))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 x (*.f32 tau (PI.f32)))) (*.f32 x (*.f32 tau (PI.f32))))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 x (*.f32 tau (PI.f32)))) (*.f32 x (*.f32 tau (PI.f32))))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 x (*.f32 tau (PI.f32)))) (*.f32 x (*.f32 tau (PI.f32))))
1
(+.f32 1 (*.f32 -1/6 (*.f32 (pow.f32 tau 2) (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2)))))
(+.f32 1 (*.f32 -1/6 (*.f32 (*.f32 (*.f32 tau tau) (pow.f32 (PI.f32) 2)) (*.f32 x x))))
(fma.f32 -1/6 (*.f32 (*.f32 tau tau) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 x x))) 1)
(fma.f32 -1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (*.f32 tau tau) (*.f32 x x))) 1)
(fma.f32 (pow.f32 (PI.f32) 2) (*.f32 (*.f32 x x) (*.f32 -1/6 (*.f32 tau tau))) 1)
(+.f32 1 (+.f32 (*.f32 -1/6 (*.f32 (pow.f32 tau 2) (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2)))) (*.f32 1/120 (*.f32 (pow.f32 tau 4) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4))))))
(+.f32 1 (fma.f32 -1/6 (*.f32 (*.f32 (*.f32 tau tau) (pow.f32 (PI.f32) 2)) (*.f32 x x)) (*.f32 (*.f32 1/120 (pow.f32 tau 4)) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4)))))
(+.f32 1 (fma.f32 -1/6 (*.f32 (*.f32 tau tau) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 x x))) (*.f32 1/120 (*.f32 (pow.f32 tau 4) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4))))))
(fma.f32 -1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (*.f32 tau tau) (*.f32 x x))) (fma.f32 1/120 (*.f32 (pow.f32 x 4) (*.f32 (pow.f32 tau 4) (pow.f32 (PI.f32) 4))) 1))
(fma.f32 (pow.f32 tau 4) (*.f32 1/120 (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4))) (fma.f32 (pow.f32 (PI.f32) 2) (*.f32 (*.f32 x x) (*.f32 -1/6 (*.f32 tau tau))) 1))
(fma.f32 -1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (*.f32 tau tau) (*.f32 x x))) (fma.f32 (pow.f32 tau 4) (*.f32 1/120 (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4))) 1))
(+.f32 (*.f32 -1/5040 (*.f32 (pow.f32 tau 6) (*.f32 (pow.f32 (PI.f32) 6) (pow.f32 x 6)))) (+.f32 1 (+.f32 (*.f32 -1/6 (*.f32 (pow.f32 tau 2) (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2)))) (*.f32 1/120 (*.f32 (pow.f32 tau 4) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4)))))))
(fma.f32 -1/5040 (*.f32 (pow.f32 tau 6) (*.f32 (pow.f32 (PI.f32) 6) (pow.f32 x 6))) (+.f32 1 (fma.f32 -1/6 (*.f32 (*.f32 (*.f32 tau tau) (pow.f32 (PI.f32) 2)) (*.f32 x x)) (*.f32 (*.f32 1/120 (pow.f32 tau 4)) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4))))))
(+.f32 (fma.f32 -1/6 (*.f32 (*.f32 tau tau) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 x x))) (*.f32 1/120 (*.f32 (pow.f32 tau 4) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4))))) (fma.f32 -1/5040 (*.f32 (pow.f32 tau 6) (*.f32 (pow.f32 (PI.f32) 6) (pow.f32 x 6))) 1))
(fma.f32 -1/5040 (*.f32 (pow.f32 tau 6) (*.f32 (pow.f32 (PI.f32) 6) (pow.f32 x 6))) (fma.f32 -1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (*.f32 tau tau) (*.f32 x x))) (fma.f32 1/120 (*.f32 (pow.f32 x 4) (*.f32 (pow.f32 tau 4) (pow.f32 (PI.f32) 4))) 1)))
(fma.f32 -1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (*.f32 tau tau) (*.f32 x x))) (fma.f32 1/120 (*.f32 (pow.f32 x 4) (*.f32 (pow.f32 tau 4) (pow.f32 (PI.f32) 4))) (fma.f32 (pow.f32 tau 6) (*.f32 -1/5040 (*.f32 (pow.f32 (PI.f32) 6) (pow.f32 x 6))) 1)))
(fma.f32 -1/6 (*.f32 (*.f32 tau tau) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 x x))) (fma.f32 -1/5040 (*.f32 (pow.f32 tau 6) (*.f32 (pow.f32 (PI.f32) 6) (pow.f32 x 6))) (fma.f32 1/120 (*.f32 (pow.f32 tau 4) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4))) 1)))
(fma.f32 -1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (*.f32 tau tau) (*.f32 x x))) (fma.f32 -1/5040 (*.f32 (pow.f32 tau 6) (*.f32 (pow.f32 (PI.f32) 6) (pow.f32 x 6))) (fma.f32 (pow.f32 tau 4) (*.f32 1/120 (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4))) 1)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 x (*.f32 tau (PI.f32)))) (*.f32 x (*.f32 tau (PI.f32))))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 x (*.f32 tau (PI.f32)))) (*.f32 x (*.f32 tau (PI.f32))))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 x (*.f32 tau (PI.f32)))) (*.f32 x (*.f32 tau (PI.f32))))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 x (*.f32 tau (PI.f32)))) (*.f32 x (*.f32 tau (PI.f32))))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 x (*.f32 tau (PI.f32)))) (*.f32 x (*.f32 tau (PI.f32))))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 x (*.f32 tau (PI.f32)))) (*.f32 x (*.f32 tau (PI.f32))))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 x (*.f32 tau (PI.f32)))) (*.f32 x (*.f32 tau (PI.f32))))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 x (*.f32 tau (PI.f32)))) (*.f32 x (*.f32 tau (PI.f32))))
1
(+.f32 1 (*.f32 -1/6 (*.f32 (pow.f32 tau 2) (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2)))))
(+.f32 1 (*.f32 -1/6 (*.f32 (*.f32 (*.f32 tau tau) (pow.f32 (PI.f32) 2)) (*.f32 x x))))
(fma.f32 -1/6 (*.f32 (*.f32 tau tau) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 x x))) 1)
(fma.f32 -1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (*.f32 tau tau) (*.f32 x x))) 1)
(fma.f32 (pow.f32 (PI.f32) 2) (*.f32 (*.f32 x x) (*.f32 -1/6 (*.f32 tau tau))) 1)
(+.f32 1 (+.f32 (*.f32 -1/6 (*.f32 (pow.f32 tau 2) (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2)))) (*.f32 1/120 (*.f32 (pow.f32 tau 4) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4))))))
(+.f32 1 (fma.f32 -1/6 (*.f32 (*.f32 (*.f32 tau tau) (pow.f32 (PI.f32) 2)) (*.f32 x x)) (*.f32 (*.f32 1/120 (pow.f32 tau 4)) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4)))))
(+.f32 1 (fma.f32 -1/6 (*.f32 (*.f32 tau tau) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 x x))) (*.f32 1/120 (*.f32 (pow.f32 tau 4) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4))))))
(fma.f32 -1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (*.f32 tau tau) (*.f32 x x))) (fma.f32 1/120 (*.f32 (pow.f32 x 4) (*.f32 (pow.f32 tau 4) (pow.f32 (PI.f32) 4))) 1))
(fma.f32 (pow.f32 tau 4) (*.f32 1/120 (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4))) (fma.f32 (pow.f32 (PI.f32) 2) (*.f32 (*.f32 x x) (*.f32 -1/6 (*.f32 tau tau))) 1))
(fma.f32 -1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (*.f32 tau tau) (*.f32 x x))) (fma.f32 (pow.f32 tau 4) (*.f32 1/120 (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4))) 1))
(+.f32 (*.f32 -1/5040 (*.f32 (pow.f32 tau 6) (*.f32 (pow.f32 (PI.f32) 6) (pow.f32 x 6)))) (+.f32 1 (+.f32 (*.f32 -1/6 (*.f32 (pow.f32 tau 2) (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2)))) (*.f32 1/120 (*.f32 (pow.f32 tau 4) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4)))))))
(fma.f32 -1/5040 (*.f32 (pow.f32 tau 6) (*.f32 (pow.f32 (PI.f32) 6) (pow.f32 x 6))) (+.f32 1 (fma.f32 -1/6 (*.f32 (*.f32 (*.f32 tau tau) (pow.f32 (PI.f32) 2)) (*.f32 x x)) (*.f32 (*.f32 1/120 (pow.f32 tau 4)) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4))))))
(+.f32 (fma.f32 -1/6 (*.f32 (*.f32 tau tau) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 x x))) (*.f32 1/120 (*.f32 (pow.f32 tau 4) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4))))) (fma.f32 -1/5040 (*.f32 (pow.f32 tau 6) (*.f32 (pow.f32 (PI.f32) 6) (pow.f32 x 6))) 1))
(fma.f32 -1/5040 (*.f32 (pow.f32 tau 6) (*.f32 (pow.f32 (PI.f32) 6) (pow.f32 x 6))) (fma.f32 -1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (*.f32 tau tau) (*.f32 x x))) (fma.f32 1/120 (*.f32 (pow.f32 x 4) (*.f32 (pow.f32 tau 4) (pow.f32 (PI.f32) 4))) 1)))
(fma.f32 -1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (*.f32 tau tau) (*.f32 x x))) (fma.f32 1/120 (*.f32 (pow.f32 x 4) (*.f32 (pow.f32 tau 4) (pow.f32 (PI.f32) 4))) (fma.f32 (pow.f32 tau 6) (*.f32 -1/5040 (*.f32 (pow.f32 (PI.f32) 6) (pow.f32 x 6))) 1)))
(fma.f32 -1/6 (*.f32 (*.f32 tau tau) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 x x))) (fma.f32 -1/5040 (*.f32 (pow.f32 tau 6) (*.f32 (pow.f32 (PI.f32) 6) (pow.f32 x 6))) (fma.f32 1/120 (*.f32 (pow.f32 tau 4) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4))) 1)))
(fma.f32 -1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (*.f32 tau tau) (*.f32 x x))) (fma.f32 -1/5040 (*.f32 (pow.f32 tau 6) (*.f32 (pow.f32 (PI.f32) 6) (pow.f32 x 6))) (fma.f32 (pow.f32 tau 4) (*.f32 1/120 (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4))) 1)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 x (PI.f32))))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 x (*.f32 tau (PI.f32)))) (*.f32 x (*.f32 tau (PI.f32))))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 x (PI.f32))))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 x (*.f32 tau (PI.f32)))) (*.f32 x (*.f32 tau (PI.f32))))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 x (PI.f32))))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 x (*.f32 tau (PI.f32)))) (*.f32 x (*.f32 tau (PI.f32))))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 x (PI.f32))))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 x (*.f32 tau (PI.f32)))) (*.f32 x (*.f32 tau (PI.f32))))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 x (*.f32 tau (PI.f32)))) (*.f32 x (*.f32 tau (PI.f32))))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 x (*.f32 tau (PI.f32)))) (*.f32 x (*.f32 tau (PI.f32))))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 x (*.f32 tau (PI.f32)))) (*.f32 x (*.f32 tau (PI.f32))))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 x (*.f32 tau (PI.f32)))) (*.f32 x (*.f32 tau (PI.f32))))
1
(+.f32 1 (*.f32 -1/6 (*.f32 (pow.f32 tau 2) (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2)))))
(+.f32 1 (*.f32 -1/6 (*.f32 (*.f32 (*.f32 tau tau) (pow.f32 (PI.f32) 2)) (*.f32 x x))))
(fma.f32 -1/6 (*.f32 (*.f32 tau tau) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 x x))) 1)
(fma.f32 -1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (*.f32 tau tau) (*.f32 x x))) 1)
(fma.f32 (pow.f32 (PI.f32) 2) (*.f32 (*.f32 x x) (*.f32 -1/6 (*.f32 tau tau))) 1)
(+.f32 1 (+.f32 (*.f32 -1/6 (*.f32 (pow.f32 tau 2) (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2)))) (*.f32 1/120 (*.f32 (pow.f32 tau 4) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4))))))
(+.f32 1 (fma.f32 -1/6 (*.f32 (*.f32 (*.f32 tau tau) (pow.f32 (PI.f32) 2)) (*.f32 x x)) (*.f32 (*.f32 1/120 (pow.f32 tau 4)) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4)))))
(+.f32 1 (fma.f32 -1/6 (*.f32 (*.f32 tau tau) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 x x))) (*.f32 1/120 (*.f32 (pow.f32 tau 4) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4))))))
(fma.f32 -1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (*.f32 tau tau) (*.f32 x x))) (fma.f32 1/120 (*.f32 (pow.f32 x 4) (*.f32 (pow.f32 tau 4) (pow.f32 (PI.f32) 4))) 1))
(fma.f32 (pow.f32 tau 4) (*.f32 1/120 (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4))) (fma.f32 (pow.f32 (PI.f32) 2) (*.f32 (*.f32 x x) (*.f32 -1/6 (*.f32 tau tau))) 1))
(fma.f32 -1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (*.f32 tau tau) (*.f32 x x))) (fma.f32 (pow.f32 tau 4) (*.f32 1/120 (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4))) 1))
(+.f32 (*.f32 -1/5040 (*.f32 (pow.f32 tau 6) (*.f32 (pow.f32 (PI.f32) 6) (pow.f32 x 6)))) (+.f32 1 (+.f32 (*.f32 -1/6 (*.f32 (pow.f32 tau 2) (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2)))) (*.f32 1/120 (*.f32 (pow.f32 tau 4) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4)))))))
(fma.f32 -1/5040 (*.f32 (pow.f32 tau 6) (*.f32 (pow.f32 (PI.f32) 6) (pow.f32 x 6))) (+.f32 1 (fma.f32 -1/6 (*.f32 (*.f32 (*.f32 tau tau) (pow.f32 (PI.f32) 2)) (*.f32 x x)) (*.f32 (*.f32 1/120 (pow.f32 tau 4)) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4))))))
(+.f32 (fma.f32 -1/6 (*.f32 (*.f32 tau tau) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 x x))) (*.f32 1/120 (*.f32 (pow.f32 tau 4) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4))))) (fma.f32 -1/5040 (*.f32 (pow.f32 tau 6) (*.f32 (pow.f32 (PI.f32) 6) (pow.f32 x 6))) 1))
(fma.f32 -1/5040 (*.f32 (pow.f32 tau 6) (*.f32 (pow.f32 (PI.f32) 6) (pow.f32 x 6))) (fma.f32 -1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (*.f32 tau tau) (*.f32 x x))) (fma.f32 1/120 (*.f32 (pow.f32 x 4) (*.f32 (pow.f32 tau 4) (pow.f32 (PI.f32) 4))) 1)))
(fma.f32 -1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (*.f32 tau tau) (*.f32 x x))) (fma.f32 1/120 (*.f32 (pow.f32 x 4) (*.f32 (pow.f32 tau 4) (pow.f32 (PI.f32) 4))) (fma.f32 (pow.f32 tau 6) (*.f32 -1/5040 (*.f32 (pow.f32 (PI.f32) 6) (pow.f32 x 6))) 1)))
(fma.f32 -1/6 (*.f32 (*.f32 tau tau) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 x x))) (fma.f32 -1/5040 (*.f32 (pow.f32 tau 6) (*.f32 (pow.f32 (PI.f32) 6) (pow.f32 x 6))) (fma.f32 1/120 (*.f32 (pow.f32 tau 4) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4))) 1)))
(fma.f32 -1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (*.f32 tau tau) (*.f32 x x))) (fma.f32 -1/5040 (*.f32 (pow.f32 tau 6) (*.f32 (pow.f32 (PI.f32) 6) (pow.f32 x 6))) (fma.f32 (pow.f32 tau 4) (*.f32 1/120 (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4))) 1)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 x (*.f32 tau (PI.f32)))) (*.f32 x (*.f32 tau (PI.f32))))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 x (*.f32 tau (PI.f32)))) (*.f32 x (*.f32 tau (PI.f32))))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 x (*.f32 tau (PI.f32)))) (*.f32 x (*.f32 tau (PI.f32))))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 x (*.f32 tau (PI.f32)))) (*.f32 x (*.f32 tau (PI.f32))))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 x (*.f32 tau (PI.f32)))) (*.f32 x (*.f32 tau (PI.f32))))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 x (*.f32 tau (PI.f32)))) (*.f32 x (*.f32 tau (PI.f32))))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 x (*.f32 tau (PI.f32)))) (*.f32 x (*.f32 tau (PI.f32))))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 x (*.f32 tau (PI.f32)))) (*.f32 x (*.f32 tau (PI.f32))))
(*.f32 tau (*.f32 (PI.f32) x))
(*.f32 x (*.f32 tau (PI.f32)))
(+.f32 (*.f32 tau (*.f32 (PI.f32) x)) (*.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 x 3) (pow.f32 (PI.f32) 3)))))
(fma.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 x 3) (pow.f32 (PI.f32) 3))) (*.f32 tau (*.f32 (PI.f32) x)))
(fma.f32 (pow.f32 x 3) (*.f32 (pow.f32 (PI.f32) 3) (*.f32 -1/6 (pow.f32 tau 3))) (*.f32 x (*.f32 tau (PI.f32))))
(+.f32 (*.f32 tau (*.f32 (PI.f32) x)) (+.f32 (*.f32 1/120 (*.f32 (pow.f32 tau 5) (*.f32 (pow.f32 x 5) (pow.f32 (PI.f32) 5)))) (*.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 x 3) (pow.f32 (PI.f32) 3))))))
(fma.f32 tau (*.f32 (PI.f32) x) (fma.f32 1/120 (*.f32 (pow.f32 tau 5) (*.f32 (pow.f32 x 5) (pow.f32 (PI.f32) 5))) (*.f32 (*.f32 -1/6 (pow.f32 tau 3)) (*.f32 (pow.f32 x 3) (pow.f32 (PI.f32) 3)))))
(fma.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 x 3) (pow.f32 (PI.f32) 3))) (fma.f32 tau (*.f32 (PI.f32) x) (*.f32 1/120 (*.f32 (pow.f32 tau 5) (*.f32 (pow.f32 x 5) (pow.f32 (PI.f32) 5))))))
(fma.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 x 3) (pow.f32 (PI.f32) 3))) (fma.f32 tau (*.f32 (PI.f32) x) (*.f32 (pow.f32 tau 5) (*.f32 1/120 (*.f32 (pow.f32 x 5) (pow.f32 (PI.f32) 5))))))
(fma.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 x 3) (pow.f32 (PI.f32) 3))) (fma.f32 1/120 (*.f32 (pow.f32 tau 5) (*.f32 (pow.f32 x 5) (pow.f32 (PI.f32) 5))) (*.f32 x (*.f32 tau (PI.f32)))))
(+.f32 (*.f32 tau (*.f32 (PI.f32) x)) (+.f32 (*.f32 -1/5040 (*.f32 (pow.f32 tau 7) (*.f32 (pow.f32 x 7) (pow.f32 (PI.f32) 7)))) (+.f32 (*.f32 1/120 (*.f32 (pow.f32 tau 5) (*.f32 (pow.f32 x 5) (pow.f32 (PI.f32) 5)))) (*.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 x 3) (pow.f32 (PI.f32) 3)))))))
(fma.f32 tau (*.f32 (PI.f32) x) (fma.f32 -1/5040 (*.f32 (*.f32 (pow.f32 tau 7) (pow.f32 x 7)) (pow.f32 (PI.f32) 7)) (fma.f32 1/120 (*.f32 (pow.f32 tau 5) (*.f32 (pow.f32 x 5) (pow.f32 (PI.f32) 5))) (*.f32 (*.f32 -1/6 (pow.f32 tau 3)) (*.f32 (pow.f32 x 3) (pow.f32 (PI.f32) 3))))))
(fma.f32 tau (*.f32 (PI.f32) x) (fma.f32 -1/5040 (*.f32 (pow.f32 tau 7) (*.f32 (pow.f32 x 7) (pow.f32 (PI.f32) 7))) (fma.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 x 3) (pow.f32 (PI.f32) 3))) (*.f32 1/120 (*.f32 (pow.f32 tau 5) (*.f32 (pow.f32 x 5) (pow.f32 (PI.f32) 5)))))))
(fma.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 x 3) (pow.f32 (PI.f32) 3))) (fma.f32 tau (*.f32 (PI.f32) x) (fma.f32 (pow.f32 tau 5) (*.f32 1/120 (*.f32 (pow.f32 x 5) (pow.f32 (PI.f32) 5))) (*.f32 (*.f32 (pow.f32 tau 7) (pow.f32 x 7)) (*.f32 -1/5040 (pow.f32 (PI.f32) 7))))))
(fma.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 x 3) (pow.f32 (PI.f32) 3))) (fma.f32 1/120 (*.f32 (pow.f32 tau 5) (*.f32 (pow.f32 x 5) (pow.f32 (PI.f32) 5))) (fma.f32 -1/5040 (*.f32 (pow.f32 tau 7) (*.f32 (pow.f32 x 7) (pow.f32 (PI.f32) 7))) (*.f32 tau (*.f32 (PI.f32) x)))))
(fma.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 x 3) (pow.f32 (PI.f32) 3))) (fma.f32 tau (*.f32 (PI.f32) x) (fma.f32 (pow.f32 tau 5) (*.f32 1/120 (*.f32 (pow.f32 x 5) (pow.f32 (PI.f32) 5))) (*.f32 (pow.f32 (PI.f32) 7) (*.f32 (pow.f32 x 7) (*.f32 -1/5040 (pow.f32 tau 7)))))))
(sin.f32 (*.f32 tau (*.f32 x (PI.f32))))
(sin.f32 (*.f32 tau (*.f32 (PI.f32) x)))
(sin.f32 (*.f32 x (*.f32 tau (PI.f32))))
(sin.f32 (*.f32 tau (*.f32 x (PI.f32))))
(sin.f32 (*.f32 tau (*.f32 (PI.f32) x)))
(sin.f32 (*.f32 x (*.f32 tau (PI.f32))))
(sin.f32 (*.f32 tau (*.f32 x (PI.f32))))
(sin.f32 (*.f32 tau (*.f32 (PI.f32) x)))
(sin.f32 (*.f32 x (*.f32 tau (PI.f32))))
(sin.f32 (*.f32 tau (*.f32 x (PI.f32))))
(sin.f32 (*.f32 tau (*.f32 (PI.f32) x)))
(sin.f32 (*.f32 x (*.f32 tau (PI.f32))))
(sin.f32 (*.f32 tau (*.f32 (PI.f32) x)))
(sin.f32 (*.f32 x (*.f32 tau (PI.f32))))
(sin.f32 (*.f32 tau (*.f32 (PI.f32) x)))
(sin.f32 (*.f32 x (*.f32 tau (PI.f32))))
(sin.f32 (*.f32 tau (*.f32 (PI.f32) x)))
(sin.f32 (*.f32 x (*.f32 tau (PI.f32))))
(sin.f32 (*.f32 tau (*.f32 (PI.f32) x)))
(sin.f32 (*.f32 x (*.f32 tau (PI.f32))))
(*.f32 tau (*.f32 x (PI.f32)))
(*.f32 tau (*.f32 (PI.f32) x))
(*.f32 x (*.f32 tau (PI.f32)))
(+.f32 (*.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3)))) (*.f32 tau (*.f32 x (PI.f32))))
(fma.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 x 3) (pow.f32 (PI.f32) 3))) (*.f32 tau (*.f32 (PI.f32) x)))
(fma.f32 (pow.f32 x 3) (*.f32 (pow.f32 (PI.f32) 3) (*.f32 -1/6 (pow.f32 tau 3))) (*.f32 x (*.f32 tau (PI.f32))))
(+.f32 (*.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3)))) (+.f32 (*.f32 1/120 (*.f32 (pow.f32 tau 5) (*.f32 (pow.f32 (PI.f32) 5) (pow.f32 x 5)))) (*.f32 tau (*.f32 x (PI.f32)))))
(fma.f32 tau (*.f32 (PI.f32) x) (fma.f32 1/120 (*.f32 (pow.f32 tau 5) (*.f32 (pow.f32 x 5) (pow.f32 (PI.f32) 5))) (*.f32 (*.f32 -1/6 (pow.f32 tau 3)) (*.f32 (pow.f32 x 3) (pow.f32 (PI.f32) 3)))))
(fma.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 x 3) (pow.f32 (PI.f32) 3))) (fma.f32 tau (*.f32 (PI.f32) x) (*.f32 1/120 (*.f32 (pow.f32 tau 5) (*.f32 (pow.f32 x 5) (pow.f32 (PI.f32) 5))))))
(fma.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 x 3) (pow.f32 (PI.f32) 3))) (fma.f32 tau (*.f32 (PI.f32) x) (*.f32 (pow.f32 tau 5) (*.f32 1/120 (*.f32 (pow.f32 x 5) (pow.f32 (PI.f32) 5))))))
(fma.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 x 3) (pow.f32 (PI.f32) 3))) (fma.f32 1/120 (*.f32 (pow.f32 tau 5) (*.f32 (pow.f32 x 5) (pow.f32 (PI.f32) 5))) (*.f32 x (*.f32 tau (PI.f32)))))
(+.f32 (*.f32 -1/5040 (*.f32 (pow.f32 tau 7) (*.f32 (pow.f32 (PI.f32) 7) (pow.f32 x 7)))) (+.f32 (*.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3)))) (+.f32 (*.f32 1/120 (*.f32 (pow.f32 tau 5) (*.f32 (pow.f32 (PI.f32) 5) (pow.f32 x 5)))) (*.f32 tau (*.f32 x (PI.f32))))))
(fma.f32 tau (*.f32 (PI.f32) x) (fma.f32 -1/5040 (*.f32 (*.f32 (pow.f32 tau 7) (pow.f32 x 7)) (pow.f32 (PI.f32) 7)) (fma.f32 1/120 (*.f32 (pow.f32 tau 5) (*.f32 (pow.f32 x 5) (pow.f32 (PI.f32) 5))) (*.f32 (*.f32 -1/6 (pow.f32 tau 3)) (*.f32 (pow.f32 x 3) (pow.f32 (PI.f32) 3))))))
(fma.f32 tau (*.f32 (PI.f32) x) (fma.f32 -1/5040 (*.f32 (pow.f32 tau 7) (*.f32 (pow.f32 x 7) (pow.f32 (PI.f32) 7))) (fma.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 x 3) (pow.f32 (PI.f32) 3))) (*.f32 1/120 (*.f32 (pow.f32 tau 5) (*.f32 (pow.f32 x 5) (pow.f32 (PI.f32) 5)))))))
(fma.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 x 3) (pow.f32 (PI.f32) 3))) (fma.f32 tau (*.f32 (PI.f32) x) (fma.f32 (pow.f32 tau 5) (*.f32 1/120 (*.f32 (pow.f32 x 5) (pow.f32 (PI.f32) 5))) (*.f32 (*.f32 (pow.f32 tau 7) (pow.f32 x 7)) (*.f32 -1/5040 (pow.f32 (PI.f32) 7))))))
(fma.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 x 3) (pow.f32 (PI.f32) 3))) (fma.f32 1/120 (*.f32 (pow.f32 tau 5) (*.f32 (pow.f32 x 5) (pow.f32 (PI.f32) 5))) (fma.f32 -1/5040 (*.f32 (pow.f32 tau 7) (*.f32 (pow.f32 x 7) (pow.f32 (PI.f32) 7))) (*.f32 tau (*.f32 (PI.f32) x)))))
(fma.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 x 3) (pow.f32 (PI.f32) 3))) (fma.f32 tau (*.f32 (PI.f32) x) (fma.f32 (pow.f32 tau 5) (*.f32 1/120 (*.f32 (pow.f32 x 5) (pow.f32 (PI.f32) 5))) (*.f32 (pow.f32 (PI.f32) 7) (*.f32 (pow.f32 x 7) (*.f32 -1/5040 (pow.f32 tau 7)))))))
(sin.f32 (*.f32 tau (*.f32 x (PI.f32))))
(sin.f32 (*.f32 tau (*.f32 (PI.f32) x)))
(sin.f32 (*.f32 x (*.f32 tau (PI.f32))))
(sin.f32 (*.f32 tau (*.f32 x (PI.f32))))
(sin.f32 (*.f32 tau (*.f32 (PI.f32) x)))
(sin.f32 (*.f32 x (*.f32 tau (PI.f32))))
(sin.f32 (*.f32 tau (*.f32 x (PI.f32))))
(sin.f32 (*.f32 tau (*.f32 (PI.f32) x)))
(sin.f32 (*.f32 x (*.f32 tau (PI.f32))))
(sin.f32 (*.f32 tau (*.f32 x (PI.f32))))
(sin.f32 (*.f32 tau (*.f32 (PI.f32) x)))
(sin.f32 (*.f32 x (*.f32 tau (PI.f32))))
(sin.f32 (*.f32 tau (*.f32 (PI.f32) x)))
(sin.f32 (*.f32 x (*.f32 tau (PI.f32))))
(sin.f32 (*.f32 tau (*.f32 (PI.f32) x)))
(sin.f32 (*.f32 x (*.f32 tau (PI.f32))))
(sin.f32 (*.f32 tau (*.f32 (PI.f32) x)))
(sin.f32 (*.f32 x (*.f32 tau (PI.f32))))
(sin.f32 (*.f32 tau (*.f32 (PI.f32) x)))
(sin.f32 (*.f32 x (*.f32 tau (PI.f32))))

eval248.0ms (2.1%)

Compiler

Compiled 16982 to 5219 computations (69.3% saved)

prune271.0ms (2.2%)

Pruning

72 alts after pruning (68 fresh and 4 done)

PrunedKeptTotal
New63730667
Fresh123850
Picked011
Done7310
Total65672728
Error
0.1b
Counts
728 → 72
Alt Table
Click to see full alt table
StatusErrorProgram
0.8b
(*.f32 (/.f32 1 (/.f32 (PI.f32) (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 x tau)))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
1.0b
(*.f32 (*.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (PI.f32))) (/.f32 1 tau)) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
0.8b
(*.f32 (+.f32 0 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau)))) (*.f32 (neg.f32 (sin.f32 (*.f32 x (PI.f32)))) (/.f32 1 (*.f32 x (neg.f32 (PI.f32))))))
11.8b
(*.f32 1 (+.f32 1 (*.f32 -1/6 (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2)))))
0.8b
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
0.9b
(*.f32 (+.f32 0 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau)))) (*.f32 (/.f32 (/.f32 1 x) (PI.f32)) (sin.f32 (*.f32 x (PI.f32)))))
11.9b
(*.f32 1 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
11.8b
(*.f32 1 (fma.f32 (pow.f32 (PI.f32) 2) (*.f32 x (*.f32 -1/6 x)) 1))
4.9b
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (fma.f32 -1/6 (pow.f32 (*.f32 (PI.f32) x) 2) 1))
1.0b
(*.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 (pow.f32 (*.f32 (PI.f32) x) 2) tau)))
14.4b
(*.f32 1 (/.f32 (sin.f32 (-.f32 (+.f32 1 (*.f32 (PI.f32) x)) 1)) (*.f32 x (PI.f32))))
6.8b
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (+.f32 (log.f32 (pow.f32 (cbrt.f32 (pow.f32 (exp.f32 (PI.f32)) x)) 2)) (log.f32 (cbrt.f32 (pow.f32 (exp.f32 (PI.f32)) x))))))
9.6b
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) 1)
1.1b
(*.f32 (/.f32 (sin.f32 (*.f32 (pow.f32 (sqrt.f32 (*.f32 (PI.f32) x)) 2) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
0.9b
(*.f32 (/.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 x (PI.f32))) tau) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
1.2b
(*.f32 (*.f32 (/.f32 (pow.f32 (cbrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) 2) x) (/.f32 (cbrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) (*.f32 (PI.f32) tau))) (log.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))))
0.7b
(*.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (*.f32 (PI.f32) (*.f32 x tau))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
12.3b
(*.f32 1 (/.f32 (exp.f32 (log.f32 (*.f32 (PI.f32) x))) (*.f32 x (PI.f32))))
14.4b
(*.f32 1 (/.f32 (sin.f32 (-.f32 (+.f32 1 (*.f32 (PI.f32) x)) 1)) (exp.f32 (log.f32 (*.f32 (PI.f32) x)))))
6.7b
(*.f32 (fma.f32 (pow.f32 (*.f32 tau (PI.f32)) 2) (*.f32 -1/6 (*.f32 x x)) 1) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
11.9b
(*.f32 1 (log.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 (PI.f32) x)))))
4.9b
(*.f32 (-.f32 (+.f32 1 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau)))) 1) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 (*.f32 x (PI.f32)) (*.f32 (PI.f32) (*.f32 x tau)))))
0.9b
(*.f32 (log.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (PI.f32) (*.f32 tau x))))) (*.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) x) (/.f32 1 (PI.f32))))
0.8b
(*.f32 (+.f32 0 (-.f32 (+.f32 1 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau)))) 1)) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
11.8b
(*.f32 1 (*.f32 (/.f32 1 (*.f32 (PI.f32) x)) (sin.f32 (*.f32 (PI.f32) x))))
5.6b
(*.f32 (+.f32 (log.f32 (sqrt.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau)))))) (log.f32 (sqrt.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau))))))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (-.f32 (+.f32 1 (*.f32 (PI.f32) x)) 1)))
1.2b
(*.f32 (*.f32 (/.f32 (pow.f32 (cbrt.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau)))) 2) (*.f32 x tau)) (/.f32 (cbrt.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau)))) (PI.f32))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
1.0b
(*.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (*.f32 x x) tau))))
0.9b
(*.f32 (/.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) x) (*.f32 (PI.f32) tau)) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
11.9b
(*.f32 (/.f32 (*.f32 (PI.f32) (*.f32 tau x)) (*.f32 (*.f32 x (PI.f32)) tau)) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
0.8b
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (/.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (PI.f32)) x))
11.9b
(*.f32 1 (*.f32 (/.f32 (/.f32 1 x) (PI.f32)) (sin.f32 (*.f32 x (PI.f32)))))
14.7b
(*.f32 1 (/.f32 (*.f32 (PI.f32) x) (-.f32 (+.f32 1 (*.f32 (PI.f32) x)) 1)))
1.0b
(*.f32 (*.f32 (/.f32 (/.f32 1 x) (PI.f32)) (/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) tau)) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
14.7b
(*.f32 1 (/.f32 (*.f32 (PI.f32) x) (log.f32 (pow.f32 (exp.f32 (PI.f32)) x))))
0.9b
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (pow.f32 (cbrt.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 (PI.f32) x))) 3))
1.4b
(*.f32 (+.f32 (log.f32 (pow.f32 (cbrt.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (PI.f32) (*.f32 tau x))))) 2)) (log.f32 (cbrt.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (PI.f32) (*.f32 tau x))))))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
0.8b
(*.f32 (-.f32 (+.f32 1 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (*.f32 (PI.f32) (*.f32 x tau)))) 1) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
11.9b
(*.f32 1 (*.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) x) (/.f32 1 (PI.f32))))
12.1b
(*.f32 1 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (pow.f32 (exp.f32 1) (log.f32 (*.f32 (PI.f32) x)))))
1.0b
(*.f32 (log.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (PI.f32) (*.f32 tau x))))) (pow.f32 (/.f32 (*.f32 x (PI.f32)) (sin.f32 (*.f32 x (PI.f32)))) -1))
0.9b
(*.f32 (/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 (PI.f32) (*.f32 x tau))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
0.7b
(*.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
11.9b
(*.f32 1 (/.f32 (sin.f32 (pow.f32 (cbrt.f32 (*.f32 (PI.f32) x)) 3)) (*.f32 x (PI.f32))))
5.6b
(*.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 (-.f32 (+.f32 1 (*.f32 (PI.f32) x)) 1) (*.f32 (PI.f32) (*.f32 x tau)))))
0.8b
(*.f32 (*.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (PI.f32)) (/.f32 1 (*.f32 x tau))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
0.8b
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (/.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) x) (PI.f32)))
0.8b
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) x) (/.f32 1 (PI.f32))))
14.6b
(*.f32 1 (/.f32 (-.f32 (+.f32 1 (*.f32 (PI.f32) x)) 1) (*.f32 x (PI.f32))))
11.9b
(*.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (-.f32 (+.f32 1 (*.f32 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 x x)) tau)) 1)))
1.0b
(*.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 tau (*.f32 x (*.f32 x (pow.f32 (PI.f32) 2))))))
1.2b
(*.f32 (*.f32 (/.f32 (/.f32 1 x) (PI.f32)) (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) tau)) (*.f32 (/.f32 (/.f32 1 x) (PI.f32)) (sin.f32 (*.f32 x (PI.f32)))))
14.4b
(*.f32 1 (/.f32 (log.f32 (exp.f32 (sin.f32 (*.f32 x (PI.f32))))) (*.f32 x (PI.f32))))
0.9b
(*.f32 (/.f32 (/.f32 1 x) (/.f32 (*.f32 (PI.f32) tau) (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
5.5b
(*.f32 (/.f32 (+.f32 (log.f32 (sqrt.f32 (exp.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))))) (log.f32 (sqrt.f32 (exp.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))))))) (*.f32 (*.f32 x (PI.f32)) tau)) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
1.0b
(*.f32 (+.f32 (log.f32 (sqrt.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau)))))) (log.f32 (sqrt.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau))))))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
12.4b
(*.f32 1 (/.f32 (*.f32 (PI.f32) x) (exp.f32 (log.f32 (*.f32 (PI.f32) x)))))
12.1b
(*.f32 1 1)
14.4b
(*.f32 1 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (exp.f32 (log.f32 (-.f32 (+.f32 1 (*.f32 (PI.f32) x)) 1)))))
14.2b
(*.f32 1 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (+.f32 1 (-.f32 (*.f32 (PI.f32) x) 1))))
11.9b
(*.f32 1 (*.f32 (/.f32 1 x) (/.f32 (sin.f32 (*.f32 (PI.f32) x)) (PI.f32))))
14.4b
(*.f32 1 (/.f32 (sin.f32 (log.f32 (pow.f32 (exp.f32 (PI.f32)) x))) (*.f32 x (PI.f32))))
11.9b
(*.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (-.f32 (+.f32 1 (*.f32 (pow.f32 (*.f32 (PI.f32) x) 2) tau)) 1)))
11.9b
(*.f32 (-.f32 (+.f32 1 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau)))) 1) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (-.f32 (+.f32 1 (*.f32 (pow.f32 (*.f32 (PI.f32) x) 2) tau)) 1)))
0.9b
(*.f32 (log.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (PI.f32) (*.f32 tau x))))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
5.7b
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (/.f32 1 (/.f32 (+.f32 (pow.f32 (fma.f32 (PI.f32) x 1) 2) (fma.f32 (PI.f32) x 2)) (+.f32 (pow.f32 (fma.f32 (PI.f32) x 1) 3) -1)))))
14.5b
(*.f32 1 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (log.f32 (pow.f32 (exp.f32 (PI.f32)) x))))
12.0b
(*.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (fma.f32 (-.f32 1 (pow.f32 (*.f32 (*.f32 (PI.f32) x) (sqrt.f32 tau)) 4)) (/.f32 1 (-.f32 1 (*.f32 (pow.f32 (*.f32 (PI.f32) x) 2) tau))) -1)))
11.8b
(*.f32 1 (fma.f32 -1/6 (pow.f32 (*.f32 (PI.f32) x) 2) 1))
1.0b
(*.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 (*.f32 x (PI.f32)) (*.f32 (PI.f32) (*.f32 x tau)))))
14.4b
(*.f32 1 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (-.f32 (+.f32 1 (*.f32 (PI.f32) x)) 1)))
1.0b
(*.f32 (sin.f32 (pow.f32 (sqrt.f32 (*.f32 (PI.f32) (*.f32 x tau))) 2)) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 (*.f32 x (PI.f32)) (*.f32 (PI.f32) (*.f32 x tau)))))
Compiler

Compiled 3207 to 1952 computations (39.1% saved)

localize187.0ms (1.6%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.4b
(*.f32 x (PI.f32))
0.4b
(/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32)))
0.4b
(sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))
0.5b
(/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau)))
Compiler

Compiled 67 to 11 computations (83.6% saved)

localize7.0ms (0.1%)

Compiler

Compiled 6 to 6 computations (0% saved)

localize43.0ms (0.4%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(pow.f32 (exp.f32 (PI.f32)) x)
0.4b
(*.f32 (PI.f32) x)
1.6b
(exp.f32 (PI.f32))
5.0b
(log.f32 (pow.f32 (exp.f32 (PI.f32)) x))
Compiler

Compiled 39 to 11 computations (71.8% saved)

series68.0ms (0.6%)

Counts
3 → 24
Calls

6 calls:

TimeVariablePointExpression
53.0ms
x
@inf
(log.f32 (pow.f32 (exp.f32 (PI.f32)) x))
12.0ms
x
@-inf
(log.f32 (pow.f32 (exp.f32 (PI.f32)) x))
2.0ms
x
@0
(log.f32 (pow.f32 (exp.f32 (PI.f32)) x))
0.0ms
x
@0
(pow.f32 (exp.f32 (PI.f32)) x)
0.0ms
x
@inf
(pow.f32 (exp.f32 (PI.f32)) x)

rewrite157.0ms (1.3%)

Algorithm
batch-egg-rewrite
Rules
542×pow1_binary32
516×add-sqr-sqrt_binary32
498×add-log-exp_binary32
498×log1p-expm1-u_binary32
498×expm1-log1p-u_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0616
111716
2138616
Stop Event
node limit
Counts
3 → 64
Calls
Call 1
Inputs
(log.f32 (pow.f32 (exp.f32 (PI.f32)) x))
(exp.f32 (PI.f32))
(pow.f32 (exp.f32 (PI.f32)) x)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 (PI.f32) (*.f32 x 1/2)) (*.f32 (PI.f32) (*.f32 x 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (*.f32 (PI.f32) x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (pow.f32 (cbrt.f32 (pow.f32 (exp.f32 (PI.f32)) x)) 2)) (log.f32 (cbrt.f32 (pow.f32 (exp.f32 (PI.f32)) x))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 1 (*.f32 (PI.f32) x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (PI.f32) x)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 x (PI.f32))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (PI.f32) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (*.f32 (PI.f32) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (*.f32 (PI.f32) x)) (pow.f32 (cbrt.f32 (*.f32 (PI.f32) x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 (*.f32 (PI.f32) x)) 2) (cbrt.f32 (*.f32 (PI.f32) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 (PI.f32)) 2) (*.f32 (cbrt.f32 (PI.f32)) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 x) 2) (*.f32 (cbrt.f32 x) (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (*.f32 (PI.f32) x)) (sqrt.f32 (*.f32 (PI.f32) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (PI.f32)) (*.f32 (sqrt.f32 (PI.f32)) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 x) (*.f32 (sqrt.f32 x) (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (sqrt.f32 (PI.f32)) (sqrt.f32 x)) (*.f32 (sqrt.f32 (PI.f32)) (sqrt.f32 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 x (pow.f32 (cbrt.f32 (PI.f32)) 2)) (cbrt.f32 (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 x (sqrt.f32 (PI.f32))) (sqrt.f32 (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (PI.f32) (pow.f32 (cbrt.f32 x) 2)) (cbrt.f32 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 (PI.f32) (sqrt.f32 x)) (sqrt.f32 x))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 (PI.f32) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (*.f32 (PI.f32) x) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (*.f32 (PI.f32) x)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (*.f32 (PI.f32) x)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (*.f32 (PI.f32) x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (*.f32 (PI.f32) x) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (*.f32 (PI.f32) x)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (*.f32 (PI.f32) x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (*.f32 (PI.f32) x)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f32 1 (expm1.f32 (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 1 (exp.f32 (PI.f32))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (exp.f32 (PI.f32)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (exp.f32 (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (exp.f32 (PI.f32))) (pow.f32 (cbrt.f32 (exp.f32 (PI.f32))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 (exp.f32 (PI.f32))) 2) (cbrt.f32 (exp.f32 (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (exp.f32 (PI.f32))) (sqrt.f32 (exp.f32 (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (exp.f32 (PI.f32)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (exp.f32 (PI.f32)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (exp.f32 (PI.f32))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (exp.f32 (PI.f32))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (exp.f32 (pow.f32 (cbrt.f32 (PI.f32)) 2)) (cbrt.f32 (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (exp.f32 (sqrt.f32 (PI.f32))) (sqrt.f32 (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (exp.f32 1) (PI.f32))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (exp.f32 (PI.f32)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (exp.f32 (exp.f32 (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (exp.f32 (PI.f32)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (exp.f32 (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (exp.f32 (PI.f32))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f32 1 (expm1.f32 (*.f32 (PI.f32) x)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 1 (pow.f32 (exp.f32 (PI.f32)) x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (exp.f32 (PI.f32)) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (pow.f32 (exp.f32 (PI.f32)) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (pow.f32 (exp.f32 (PI.f32)) x)) (pow.f32 (cbrt.f32 (pow.f32 (exp.f32 (PI.f32)) x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 (pow.f32 (exp.f32 (PI.f32)) x)) 2) (cbrt.f32 (pow.f32 (exp.f32 (PI.f32)) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (pow.f32 (exp.f32 (PI.f32)) x)) (sqrt.f32 (pow.f32 (exp.f32 (PI.f32)) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 1 x) (pow.f32 (exp.f32 (PI.f32)) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (pow.f32 (cbrt.f32 (exp.f32 (PI.f32))) 2) x) (pow.f32 (cbrt.f32 (exp.f32 (PI.f32))) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (sqrt.f32 (exp.f32 (PI.f32))) x) (pow.f32 (sqrt.f32 (exp.f32 (PI.f32))) x))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (exp.f32 (PI.f32)) (*.f32 2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (exp.f32 (pow.f32 (exp.f32 (PI.f32)) x)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (pow.f32 (exp.f32 (PI.f32)) x) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (pow.f32 (exp.f32 (PI.f32)) x)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (pow.f32 (exp.f32 (PI.f32)) x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (PI.f32) x))))))

simplify55.0ms (0.5%)

Algorithm
egg-herbie
Rules
854×distribute-rgt-in_binary32
842×distribute-lft-in_binary32
525×associate-+l+_binary32
454×distribute-rgt-out_binary32
430×distribute-lft-out_binary32
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
058183
1167181
2612177
33340177
Stop Event
node limit
Counts
88 → 76
Calls
Call 1
Inputs
(*.f32 (PI.f32) x)
(+.f32 (*.f32 1/2 (*.f32 (+.f32 (*.f32 -1 (pow.f32 (PI.f32) 2)) (pow.f32 (PI.f32) 2)) (pow.f32 x 2))) (*.f32 (PI.f32) x))
(+.f32 (*.f32 1/6 (*.f32 (+.f32 (*.f32 2 (pow.f32 (PI.f32) 3)) (+.f32 (pow.f32 (PI.f32) 3) (*.f32 -3 (pow.f32 (PI.f32) 3)))) (pow.f32 x 3))) (+.f32 (*.f32 1/2 (*.f32 (+.f32 (*.f32 -1 (pow.f32 (PI.f32) 2)) (pow.f32 (PI.f32) 2)) (pow.f32 x 2))) (*.f32 (PI.f32) x)))
(+.f32 (*.f32 1/6 (*.f32 (+.f32 (*.f32 2 (pow.f32 (PI.f32) 3)) (+.f32 (pow.f32 (PI.f32) 3) (*.f32 -3 (pow.f32 (PI.f32) 3)))) (pow.f32 x 3))) (+.f32 (*.f32 1/2 (*.f32 (+.f32 (*.f32 -1 (pow.f32 (PI.f32) 2)) (pow.f32 (PI.f32) 2)) (pow.f32 x 2))) (+.f32 (*.f32 1/24 (*.f32 (+.f32 (*.f32 12 (pow.f32 (PI.f32) 4)) (+.f32 (*.f32 -3 (pow.f32 (PI.f32) 4)) (+.f32 (*.f32 -4 (pow.f32 (PI.f32) 4)) (+.f32 (pow.f32 (PI.f32) 4) (*.f32 -6 (pow.f32 (PI.f32) 4)))))) (pow.f32 x 4))) (*.f32 (PI.f32) x))))
(*.f32 x (PI.f32))
(*.f32 x (PI.f32))
(*.f32 x (PI.f32))
(*.f32 x (PI.f32))
(*.f32 (PI.f32) x)
(*.f32 (PI.f32) x)
(*.f32 (PI.f32) x)
(*.f32 (PI.f32) x)
1
(+.f32 1 (*.f32 (PI.f32) x))
(+.f32 1 (+.f32 (*.f32 1/2 (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2))) (*.f32 (PI.f32) x)))
(+.f32 (*.f32 1/6 (*.f32 (pow.f32 x 3) (pow.f32 (PI.f32) 3))) (+.f32 1 (+.f32 (*.f32 1/2 (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2))) (*.f32 (PI.f32) x))))
(exp.f32 (*.f32 (PI.f32) x))
(exp.f32 (*.f32 (PI.f32) x))
(exp.f32 (*.f32 (PI.f32) x))
(exp.f32 (*.f32 (PI.f32) x))
(exp.f32 (*.f32 x (PI.f32)))
(exp.f32 (*.f32 x (PI.f32)))
(exp.f32 (*.f32 x (PI.f32)))
(exp.f32 (*.f32 x (PI.f32)))
Outputs
(*.f32 (PI.f32) x)
(+.f32 (*.f32 1/2 (*.f32 (+.f32 (*.f32 -1 (pow.f32 (PI.f32) 2)) (pow.f32 (PI.f32) 2)) (pow.f32 x 2))) (*.f32 (PI.f32) x))
(*.f32 (PI.f32) x)
(+.f32 (*.f32 1/6 (*.f32 (+.f32 (*.f32 2 (pow.f32 (PI.f32) 3)) (+.f32 (pow.f32 (PI.f32) 3) (*.f32 -3 (pow.f32 (PI.f32) 3)))) (pow.f32 x 3))) (+.f32 (*.f32 1/2 (*.f32 (+.f32 (*.f32 -1 (pow.f32 (PI.f32) 2)) (pow.f32 (PI.f32) 2)) (pow.f32 x 2))) (*.f32 (PI.f32) x)))
(*.f32 (PI.f32) x)
(+.f32 (*.f32 1/6 (*.f32 (+.f32 (*.f32 2 (pow.f32 (PI.f32) 3)) (+.f32 (pow.f32 (PI.f32) 3) (*.f32 -3 (pow.f32 (PI.f32) 3)))) (pow.f32 x 3))) (+.f32 (*.f32 1/2 (*.f32 (+.f32 (*.f32 -1 (pow.f32 (PI.f32) 2)) (pow.f32 (PI.f32) 2)) (pow.f32 x 2))) (+.f32 (*.f32 1/24 (*.f32 (+.f32 (*.f32 12 (pow.f32 (PI.f32) 4)) (+.f32 (*.f32 -3 (pow.f32 (PI.f32) 4)) (+.f32 (*.f32 -4 (pow.f32 (PI.f32) 4)) (+.f32 (pow.f32 (PI.f32) 4) (*.f32 -6 (pow.f32 (PI.f32) 4)))))) (pow.f32 x 4))) (*.f32 (PI.f32) x))))
(*.f32 (PI.f32) x)
(*.f32 x (PI.f32))
(*.f32 (PI.f32) x)
(*.f32 x (PI.f32))
(*.f32 (PI.f32) x)
(*.f32 x (PI.f32))
(*.f32 (PI.f32) x)
(*.f32 x (PI.f32))
(*.f32 (PI.f32) x)
(*.f32 (PI.f32) x)
(*.f32 (PI.f32) x)
(*.f32 (PI.f32) x)
(*.f32 (PI.f32) x)
1
(+.f32 1 (*.f32 (PI.f32) x))
(+.f32 (*.f32 (PI.f32) x) 1)
(fma.f32 (PI.f32) x 1)
(+.f32 1 (+.f32 (*.f32 1/2 (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2))) (*.f32 (PI.f32) x)))
(+.f32 1 (fma.f32 1/2 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 x x)) (*.f32 (PI.f32) x)))
(+.f32 1 (fma.f32 (PI.f32) x (*.f32 1/2 (*.f32 x (*.f32 x (pow.f32 (PI.f32) 2))))))
(fma.f32 (PI.f32) x (fma.f32 (*.f32 x x) (*.f32 1/2 (pow.f32 (PI.f32) 2)) 1))
(fma.f32 (PI.f32) x (fma.f32 (pow.f32 (PI.f32) 2) (*.f32 1/2 (*.f32 x x)) 1))
(+.f32 (*.f32 1/6 (*.f32 (pow.f32 x 3) (pow.f32 (PI.f32) 3))) (+.f32 1 (+.f32 (*.f32 1/2 (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2))) (*.f32 (PI.f32) x))))
(fma.f32 1/6 (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3)) (+.f32 1 (fma.f32 1/2 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 x x)) (*.f32 (PI.f32) x))))
(+.f32 (fma.f32 (PI.f32) x (*.f32 1/2 (*.f32 x (*.f32 x (pow.f32 (PI.f32) 2))))) (fma.f32 1/6 (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3)) 1))
(fma.f32 1/6 (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3)) (fma.f32 (PI.f32) x (fma.f32 (*.f32 x x) (*.f32 1/2 (pow.f32 (PI.f32) 2)) 1)))
(fma.f32 1/6 (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3)) (fma.f32 (PI.f32) x (fma.f32 (pow.f32 (PI.f32) 2) (*.f32 1/2 (*.f32 x x)) 1)))
(exp.f32 (*.f32 (PI.f32) x))
(pow.f32 (exp.f32 (PI.f32)) x)
(exp.f32 (*.f32 (PI.f32) x))
(pow.f32 (exp.f32 (PI.f32)) x)
(exp.f32 (*.f32 (PI.f32) x))
(pow.f32 (exp.f32 (PI.f32)) x)
(exp.f32 (*.f32 (PI.f32) x))
(pow.f32 (exp.f32 (PI.f32)) x)
(exp.f32 (*.f32 x (PI.f32)))
(pow.f32 (exp.f32 (PI.f32)) x)
(exp.f32 (*.f32 x (PI.f32)))
(pow.f32 (exp.f32 (PI.f32)) x)
(exp.f32 (*.f32 x (PI.f32)))
(pow.f32 (exp.f32 (PI.f32)) x)
(exp.f32 (*.f32 x (PI.f32)))
(pow.f32 (exp.f32 (PI.f32)) x)

localize52.0ms (0.4%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.4b
(*.f32 x (PI.f32))
0.4b
(/.f32 (sin.f32 (*.f32 x (PI.f32))) (PI.f32))
0.4b
(sin.f32 (*.f32 (*.f32 x (PI.f32)) tau))
0.5b
(/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau))
Compiler

Compiled 70 to 11 computations (84.3% saved)

series1.0ms (0%)

Counts
1 → 8
Calls

3 calls:

TimeVariablePointExpression
1.0ms
x
@0
(/.f32 (sin.f32 (*.f32 x (PI.f32))) (PI.f32))
0.0ms
x
@inf
(/.f32 (sin.f32 (*.f32 x (PI.f32))) (PI.f32))
0.0ms
x
@-inf
(/.f32 (sin.f32 (*.f32 x (PI.f32))) (PI.f32))

rewrite88.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
658×pow1_binary32
606×add-log-exp_binary32
606×log1p-expm1-u_binary32
606×expm1-log1p-u_binary32
592×add-exp-log_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0611
112311
2161011
Stop Event
node limit
Counts
1 → 31
Calls
Call 1
Inputs
(/.f32 (sin.f32 (*.f32 x (PI.f32))) (PI.f32))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 1 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (PI.f32))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sin.f32 (*.f32 x (PI.f32))) (pow.f32 (PI.f32) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (PI.f32)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (PI.f32))) (pow.f32 (cbrt.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (PI.f32))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (PI.f32))) 2) (cbrt.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 (sin.f32 (*.f32 x (PI.f32)))) 2) (*.f32 (cbrt.f32 (sin.f32 (*.f32 x (PI.f32)))) (pow.f32 (PI.f32) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (PI.f32))) (sqrt.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (sin.f32 (*.f32 x (PI.f32)))) (*.f32 (sqrt.f32 (sin.f32 (*.f32 x (PI.f32)))) (pow.f32 (PI.f32) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (neg.f32 (sin.f32 (*.f32 x (PI.f32)))) (/.f32 1 (neg.f32 (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (PI.f32) -1) (sin.f32 (*.f32 x (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (pow.f32 (cbrt.f32 (sin.f32 (*.f32 x (PI.f32)))) 2) 1) (/.f32 (cbrt.f32 (sin.f32 (*.f32 x (PI.f32)))) (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (sqrt.f32 (sin.f32 (*.f32 x (PI.f32)))) 1) (/.f32 (sqrt.f32 (sin.f32 (*.f32 x (PI.f32)))) (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1 (pow.f32 (cbrt.f32 (PI.f32)) 2)) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (cbrt.f32 (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (pow.f32 (cbrt.f32 (sin.f32 (*.f32 x (PI.f32)))) 2) (pow.f32 (cbrt.f32 (PI.f32)) 2)) (cbrt.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (sqrt.f32 (sin.f32 (*.f32 x (PI.f32)))) (pow.f32 (cbrt.f32 (PI.f32)) 2)) (/.f32 (sqrt.f32 (sin.f32 (*.f32 x (PI.f32)))) (cbrt.f32 (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 1 (sqrt.f32 (PI.f32))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (sqrt.f32 (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (pow.f32 (cbrt.f32 (sin.f32 (*.f32 x (PI.f32)))) 2) (sqrt.f32 (PI.f32))) (/.f32 (cbrt.f32 (sin.f32 (*.f32 x (PI.f32)))) (sqrt.f32 (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (PI.f32)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (PI.f32)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (PI.f32))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (PI.f32))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (/.f32 (PI.f32) (sin.f32 (*.f32 x (PI.f32)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (neg.f32 (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (PI.f32)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (PI.f32)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (/.f32 (pow.f32 (sin.f32 (*.f32 x (PI.f32))) 3) (pow.f32 (PI.f32) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (PI.f32))))))))

simplify127.0ms (1.1%)

Algorithm
egg-herbie
Rules
1053×fma-def_binary32
748×unswap-sqr_binary32
713×sqr-pow_binary32
464×associate-/r*_binary32
460×*-commutative_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
032132
185132
2236132
3867132
42033132
53571132
63853132
74310132
84749132
95545132
105937132
116440132
127032132
137743132
Stop Event
node limit
Counts
39 → 40
Calls
Call 1
Inputs
x
(+.f32 (*.f32 -1/6 (*.f32 (pow.f32 x 3) (pow.f32 (PI.f32) 2))) x)
(+.f32 (*.f32 1/120 (*.f32 (pow.f32 x 5) (pow.f32 (PI.f32) 4))) (+.f32 (*.f32 -1/6 (*.f32 (pow.f32 x 3) (pow.f32 (PI.f32) 2))) x))
(+.f32 (*.f32 1/120 (*.f32 (pow.f32 x 5) (pow.f32 (PI.f32) 4))) (+.f32 (*.f32 -1/6 (*.f32 (pow.f32 x 3) (pow.f32 (PI.f32) 2))) (+.f32 (*.f32 -1/5040 (*.f32 (pow.f32 x 7) (pow.f32 (PI.f32) 6))) x)))
(/.f32 (sin.f32 (*.f32 (PI.f32) x)) (PI.f32))
(/.f32 (sin.f32 (*.f32 (PI.f32) x)) (PI.f32))
(/.f32 (sin.f32 (*.f32 (PI.f32) x)) (PI.f32))
(/.f32 (sin.f32 (*.f32 (PI.f32) x)) (PI.f32))
Outputs
x
(+.f32 (*.f32 -1/6 (*.f32 (pow.f32 x 3) (pow.f32 (PI.f32) 2))) x)
(fma.f32 -1/6 (*.f32 (pow.f32 x 3) (pow.f32 (PI.f32) 2)) x)
(+.f32 (*.f32 1/120 (*.f32 (pow.f32 x 5) (pow.f32 (PI.f32) 4))) (+.f32 (*.f32 -1/6 (*.f32 (pow.f32 x 3) (pow.f32 (PI.f32) 2))) x))
(fma.f32 1/120 (*.f32 (pow.f32 x 5) (pow.f32 (PI.f32) 4)) (fma.f32 -1/6 (*.f32 (pow.f32 x 3) (pow.f32 (PI.f32) 2)) x))
(fma.f32 -1/6 (*.f32 (pow.f32 x 3) (pow.f32 (PI.f32) 2)) (fma.f32 1/120 (*.f32 (pow.f32 x 5) (pow.f32 (PI.f32) 4)) x))
(+.f32 (*.f32 1/120 (*.f32 (pow.f32 x 5) (pow.f32 (PI.f32) 4))) (+.f32 (*.f32 -1/6 (*.f32 (pow.f32 x 3) (pow.f32 (PI.f32) 2))) (+.f32 (*.f32 -1/5040 (*.f32 (pow.f32 x 7) (pow.f32 (PI.f32) 6))) x)))
(fma.f32 1/120 (*.f32 (pow.f32 x 5) (pow.f32 (PI.f32) 4)) (fma.f32 -1/6 (*.f32 (pow.f32 x 3) (pow.f32 (PI.f32) 2)) (fma.f32 -1/5040 (*.f32 (pow.f32 x 7) (pow.f32 (PI.f32) 6)) x)))
(fma.f32 1/120 (*.f32 (pow.f32 x 5) (pow.f32 (PI.f32) 4)) (fma.f32 -1/6 (*.f32 (pow.f32 x 3) (pow.f32 (PI.f32) 2)) (fma.f32 (pow.f32 x 7) (*.f32 -1/5040 (pow.f32 (PI.f32) 6)) x)))
(fma.f32 (pow.f32 (PI.f32) 2) (fma.f32 -1/6 (pow.f32 x 3) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 1/120 (pow.f32 x 5)))) (fma.f32 (pow.f32 x 7) (*.f32 -1/5040 (pow.f32 (PI.f32) 6)) x))
(fma.f32 -1/6 (*.f32 (pow.f32 x 3) (pow.f32 (PI.f32) 2)) (fma.f32 -1/5040 (*.f32 (pow.f32 x 7) (pow.f32 (PI.f32) 6)) (fma.f32 1/120 (*.f32 (pow.f32 x 5) (pow.f32 (PI.f32) 4)) x)))
(/.f32 (sin.f32 (*.f32 (PI.f32) x)) (PI.f32))
(/.f32 (sin.f32 (*.f32 x (PI.f32))) (PI.f32))
(/.f32 (sin.f32 (*.f32 (PI.f32) x)) (PI.f32))
(/.f32 (sin.f32 (*.f32 x (PI.f32))) (PI.f32))
(/.f32 (sin.f32 (*.f32 (PI.f32) x)) (PI.f32))
(/.f32 (sin.f32 (*.f32 x (PI.f32))) (PI.f32))
(/.f32 (sin.f32 (*.f32 (PI.f32) x)) (PI.f32))
(/.f32 (sin.f32 (*.f32 x (PI.f32))) (PI.f32))

localize89.0ms (0.7%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.4b
(*.f32 x (PI.f32))
0.4b
(*.f32 (PI.f32) (*.f32 x tau))
0.4b
(sin.f32 (*.f32 (PI.f32) (*.f32 x tau)))
4.4b
(-.f32 (+.f32 1 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau)))) 1)
Compiler

Compiled 93 to 22 computations (76.3% saved)

series2.0ms (0%)

Counts
1 → 24
Calls

6 calls:

TimeVariablePointExpression
0.0ms
x
@0
(-.f32 (+.f32 1 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau)))) 1)
0.0ms
tau
@0
(-.f32 (+.f32 1 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau)))) 1)
0.0ms
x
@inf
(-.f32 (+.f32 1 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau)))) 1)
0.0ms
tau
@inf
(-.f32 (+.f32 1 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau)))) 1)
0.0ms
x
@-inf
(-.f32 (+.f32 1 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau)))) 1)

rewrite66.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
692×prod-diff_binary32
473×log-prod_binary32
326×pow-prod-down_binary32
294×fma-def_binary32
255×pow2_binary32
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01016
121410
2289410
Stop Event
node limit
Counts
1 → 65
Calls
Call 1
Inputs
(-.f32 (+.f32 1 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau)))) 1)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f32 1 (+.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 1 (*.f32 (+.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) -1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (+.f32 1 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 -1 (+.f32 1 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (+.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) -1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (pow.f32 (cbrt.f32 (exp.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))))) 2)) (log.f32 (cbrt.f32 (exp.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (log.f32 (sqrt.f32 (exp.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau)))))) (log.f32 (sqrt.f32 (exp.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau)))) (cbrt.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) 2)) (cbrt.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau)))) (sqrt.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (expm1.f32 (*.f32 (log1p.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau)))) 3)) (/.f32 1 (+.f32 (pow.f32 (+.f32 1 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau)))) 2) (+.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (expm1.f32 (*.f32 2 (log1p.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau)))))) (/.f32 1 (+.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (+.f32 (sqrt.f32 (+.f32 1 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))))) 1) (expm1.f32 (*.f32 1/2 (log1p.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 1 (/.f32 (+.f32 (pow.f32 (+.f32 1 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau)))) 2) (+.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) 2)) (expm1.f32 (*.f32 (log1p.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau)))) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 1 (/.f32 (+.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) 2) (expm1.f32 (*.f32 2 (log1p.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (expm1.f32 (*.f32 (log1p.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau)))) 3)) (+.f32 (pow.f32 (+.f32 1 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau)))) 2) (+.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (expm1.f32 (*.f32 (log1p.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau)))) 3)) (+.f32 (pow.f32 (+.f32 1 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau)))) 2) (-.f32 1 (*.f32 (+.f32 1 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau)))) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (expm1.f32 (*.f32 2 (log1p.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau)))))) (+.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (neg.f32 (expm1.f32 (*.f32 (log1p.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau)))) 3))) (neg.f32 (+.f32 (pow.f32 (+.f32 1 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau)))) 2) (+.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (neg.f32 (expm1.f32 (*.f32 2 (log1p.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))))))) (neg.f32 (+.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 1 (pow.f32 (+.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) -1) 3)) (+.f32 1 (-.f32 (pow.f32 (+.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) -1) 2) (+.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 1 (pow.f32 (+.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) -1) 2)) (-.f32 1 (+.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (/.f32 (+.f32 (pow.f32 (+.f32 1 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau)))) 2) (+.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) 2)) (expm1.f32 (*.f32 (log1p.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau)))) 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (/.f32 (+.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) 2) (expm1.f32 (*.f32 2 (log1p.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))))))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (exp.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x sin.f32 (*.f32 (PI.f32) (*.f32 x tau)))))) (#(struct:change #<rule egg-rr> (2) ((x hypot.f32 (sqrt.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau)))) (sqrt.f32 (-.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) 2) (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau)))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (*.f32 (log1p.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 (log.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 1 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 1 (+.f32 1 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 1 (+.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) -1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) 1 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (+.f32 1 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau)))) 1 -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (cbrt.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau)))) (cbrt.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) 2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (cbrt.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) 2)) (cbrt.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (cbrt.f32 (+.f32 1 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))))) (pow.f32 (cbrt.f32 (+.f32 1 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))))) 2) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (pow.f32 (cbrt.f32 (+.f32 1 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))))) 2) (cbrt.f32 (+.f32 1 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (pow.f32 (cbrt.f32 (+.f32 1 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))))) 2) (*.f32 (cbrt.f32 (+.f32 1 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))))) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sqrt.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau)))) (sqrt.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sqrt.f32 (+.f32 1 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))))) (sqrt.f32 (+.f32 1 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sqrt.f32 (+.f32 1 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))))) (*.f32 (sqrt.f32 (+.f32 1 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))))) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (expm1.f32 (*.f32 (log1p.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau)))) 3)) (/.f32 1 (+.f32 (pow.f32 (+.f32 1 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau)))) 2) (+.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) 2))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (+.f32 1 (pow.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) 3)) (/.f32 1 (fma.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (+.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) -1) 1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (expm1.f32 (*.f32 2 (log1p.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau)))))) (/.f32 1 (+.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) 2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (pow.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 x tau))) 2) (/.f32 1 (-.f32 1 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (pow.f32 (cbrt.f32 (+.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) -1)) 2) (cbrt.f32 (+.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) -1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sqrt.f32 (+.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) -1)) (sqrt.f32 (+.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) -1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (+.f32 (sqrt.f32 (+.f32 1 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))))) 1) (expm1.f32 (*.f32 1/2 (log1p.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau)))))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (+.f32 (sqrt.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau)))) 1) (-.f32 (sqrt.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau)))) 1) 1)))))

simplify287.0ms (2.4%)

Algorithm
egg-herbie
Rules
1232×*-commutative_binary32
756×sqr-pow_binary32
658×unswap-sqr_binary32
543×associate-*l*_binary32
435×associate-*r*_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
052464
1168464
2497464
32580464
43764464
53872464
64246464
74724464
84899464
95093464
105342464
115661464
126045464
136526464
147053464
157233464
167395464
177503464
187611464
Stop Event
node limit
Counts
89 → 80
Calls
Call 1
Inputs
(*.f32 tau (*.f32 x (PI.f32)))
(+.f32 (*.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3)))) (*.f32 tau (*.f32 x (PI.f32))))
(+.f32 (*.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3)))) (+.f32 (*.f32 1/120 (*.f32 (pow.f32 tau 5) (*.f32 (pow.f32 (PI.f32) 5) (pow.f32 x 5)))) (*.f32 tau (*.f32 x (PI.f32)))))
(+.f32 (*.f32 -1/5040 (*.f32 (pow.f32 tau 7) (*.f32 (pow.f32 (PI.f32) 7) (pow.f32 x 7)))) (+.f32 (*.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3)))) (+.f32 (*.f32 1/120 (*.f32 (pow.f32 tau 5) (*.f32 (pow.f32 (PI.f32) 5) (pow.f32 x 5)))) (*.f32 tau (*.f32 x (PI.f32))))))
(sin.f32 (*.f32 tau (*.f32 x (PI.f32))))
(sin.f32 (*.f32 tau (*.f32 x (PI.f32))))
(sin.f32 (*.f32 tau (*.f32 x (PI.f32))))
(sin.f32 (*.f32 tau (*.f32 x (PI.f32))))
(sin.f32 (*.f32 tau (*.f32 (PI.f32) x)))
(sin.f32 (*.f32 tau (*.f32 (PI.f32) x)))
(sin.f32 (*.f32 tau (*.f32 (PI.f32) x)))
(sin.f32 (*.f32 tau (*.f32 (PI.f32) x)))
(*.f32 tau (*.f32 (PI.f32) x))
(+.f32 (*.f32 tau (*.f32 (PI.f32) x)) (*.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 x 3) (pow.f32 (PI.f32) 3)))))
(+.f32 (*.f32 tau (*.f32 (PI.f32) x)) (+.f32 (*.f32 1/120 (*.f32 (pow.f32 tau 5) (*.f32 (pow.f32 x 5) (pow.f32 (PI.f32) 5)))) (*.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 x 3) (pow.f32 (PI.f32) 3))))))
(+.f32 (*.f32 tau (*.f32 (PI.f32) x)) (+.f32 (*.f32 -1/5040 (*.f32 (pow.f32 tau 7) (*.f32 (pow.f32 x 7) (pow.f32 (PI.f32) 7)))) (+.f32 (*.f32 1/120 (*.f32 (pow.f32 tau 5) (*.f32 (pow.f32 x 5) (pow.f32 (PI.f32) 5)))) (*.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 x 3) (pow.f32 (PI.f32) 3)))))))
(sin.f32 (*.f32 tau (*.f32 x (PI.f32))))
(sin.f32 (*.f32 tau (*.f32 x (PI.f32))))
(sin.f32 (*.f32 tau (*.f32 x (PI.f32))))
(sin.f32 (*.f32 tau (*.f32 x (PI.f32))))
(sin.f32 (*.f32 tau (*.f32 (PI.f32) x)))
(sin.f32 (*.f32 tau (*.f32 (PI.f32) x)))
(sin.f32 (*.f32 tau (*.f32 (PI.f32) x)))
(sin.f32 (*.f32 tau (*.f32 (PI.f32) x)))
Outputs
(*.f32 tau (*.f32 x (PI.f32)))
(*.f32 x (*.f32 tau (PI.f32)))
(+.f32 (*.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3)))) (*.f32 tau (*.f32 x (PI.f32))))
(fma.f32 tau (*.f32 x (PI.f32)) (*.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3)))))
(fma.f32 (*.f32 -1/6 (pow.f32 tau 3)) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3)) (*.f32 x (*.f32 tau (PI.f32))))
(fma.f32 (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3)) (*.f32 -1/6 (pow.f32 tau 3)) (*.f32 x (*.f32 tau (PI.f32))))
(fma.f32 tau (*.f32 x (PI.f32)) (*.f32 (pow.f32 (PI.f32) 3) (*.f32 (pow.f32 x 3) (*.f32 -1/6 (pow.f32 tau 3)))))
(fma.f32 (*.f32 (pow.f32 tau 3) (pow.f32 (PI.f32) 3)) (*.f32 -1/6 (pow.f32 x 3)) (*.f32 tau (*.f32 x (PI.f32))))
(+.f32 (*.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3)))) (+.f32 (*.f32 1/120 (*.f32 (pow.f32 tau 5) (*.f32 (pow.f32 (PI.f32) 5) (pow.f32 x 5)))) (*.f32 tau (*.f32 x (PI.f32)))))
(fma.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3))) (fma.f32 1/120 (*.f32 (pow.f32 tau 5) (*.f32 (pow.f32 (PI.f32) 5) (pow.f32 x 5))) (*.f32 tau (*.f32 x (PI.f32)))))
(fma.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3))) (fma.f32 1/120 (*.f32 (pow.f32 tau 5) (*.f32 (pow.f32 (PI.f32) 5) (pow.f32 x 5))) (*.f32 x (*.f32 tau (PI.f32)))))
(fma.f32 (pow.f32 tau 5) (*.f32 1/120 (*.f32 (pow.f32 (PI.f32) 5) (pow.f32 x 5))) (fma.f32 (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3)) (*.f32 -1/6 (pow.f32 tau 3)) (*.f32 x (*.f32 tau (PI.f32)))))
(fma.f32 tau (*.f32 x (PI.f32)) (fma.f32 (*.f32 (pow.f32 (PI.f32) 5) (pow.f32 x 5)) (*.f32 1/120 (pow.f32 tau 5)) (*.f32 (pow.f32 (PI.f32) 3) (*.f32 (pow.f32 x 3) (*.f32 -1/6 (pow.f32 tau 3))))))
(fma.f32 tau (*.f32 x (PI.f32)) (fma.f32 (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3)) (*.f32 -1/6 (pow.f32 tau 3)) (*.f32 (*.f32 (pow.f32 tau 5) (pow.f32 (PI.f32) 5)) (*.f32 1/120 (pow.f32 x 5)))))
(+.f32 (*.f32 -1/5040 (*.f32 (pow.f32 tau 7) (*.f32 (pow.f32 (PI.f32) 7) (pow.f32 x 7)))) (+.f32 (*.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3)))) (+.f32 (*.f32 1/120 (*.f32 (pow.f32 tau 5) (*.f32 (pow.f32 (PI.f32) 5) (pow.f32 x 5)))) (*.f32 tau (*.f32 x (PI.f32))))))
(fma.f32 -1/5040 (*.f32 (pow.f32 tau 7) (*.f32 (pow.f32 (PI.f32) 7) (pow.f32 x 7))) (fma.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3))) (fma.f32 1/120 (*.f32 (pow.f32 tau 5) (*.f32 (pow.f32 (PI.f32) 5) (pow.f32 x 5))) (*.f32 tau (*.f32 x (PI.f32))))))
(fma.f32 -1/5040 (*.f32 (pow.f32 tau 7) (*.f32 (pow.f32 (PI.f32) 7) (pow.f32 x 7))) (fma.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3))) (fma.f32 1/120 (*.f32 (pow.f32 tau 5) (*.f32 (pow.f32 (PI.f32) 5) (pow.f32 x 5))) (*.f32 x (*.f32 tau (PI.f32))))))
(fma.f32 (pow.f32 tau 7) (*.f32 (pow.f32 x 7) (*.f32 -1/5040 (pow.f32 (PI.f32) 7))) (fma.f32 (pow.f32 tau 5) (*.f32 1/120 (*.f32 (pow.f32 (PI.f32) 5) (pow.f32 x 5))) (fma.f32 (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3)) (*.f32 -1/6 (pow.f32 tau 3)) (*.f32 x (*.f32 tau (PI.f32))))))
(fma.f32 tau (*.f32 x (PI.f32)) (fma.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3))) (fma.f32 (pow.f32 tau 5) (*.f32 1/120 (*.f32 (pow.f32 (PI.f32) 5) (pow.f32 x 5))) (*.f32 (pow.f32 tau 7) (*.f32 (pow.f32 x 7) (*.f32 -1/5040 (pow.f32 (PI.f32) 7)))))))
(fma.f32 (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3)) (*.f32 -1/6 (pow.f32 tau 3)) (fma.f32 tau (*.f32 x (PI.f32)) (fma.f32 (pow.f32 tau 7) (*.f32 (pow.f32 (PI.f32) 7) (*.f32 -1/5040 (pow.f32 x 7))) (*.f32 (*.f32 (pow.f32 tau 5) (pow.f32 (PI.f32) 5)) (*.f32 1/120 (pow.f32 x 5))))))
(sin.f32 (*.f32 tau (*.f32 x (PI.f32))))
(sin.f32 (*.f32 x (*.f32 tau (PI.f32))))
(sin.f32 (*.f32 tau (*.f32 x (PI.f32))))
(sin.f32 (*.f32 x (*.f32 tau (PI.f32))))
(sin.f32 (*.f32 tau (*.f32 x (PI.f32))))
(sin.f32 (*.f32 x (*.f32 tau (PI.f32))))
(sin.f32 (*.f32 tau (*.f32 x (PI.f32))))
(sin.f32 (*.f32 x (*.f32 tau (PI.f32))))
(sin.f32 (*.f32 tau (*.f32 (PI.f32) x)))
(sin.f32 (*.f32 tau (*.f32 x (PI.f32))))
(sin.f32 (*.f32 x (*.f32 tau (PI.f32))))
(sin.f32 (*.f32 tau (*.f32 (PI.f32) x)))
(sin.f32 (*.f32 tau (*.f32 x (PI.f32))))
(sin.f32 (*.f32 x (*.f32 tau (PI.f32))))
(sin.f32 (*.f32 tau (*.f32 (PI.f32) x)))
(sin.f32 (*.f32 tau (*.f32 x (PI.f32))))
(sin.f32 (*.f32 x (*.f32 tau (PI.f32))))
(sin.f32 (*.f32 tau (*.f32 (PI.f32) x)))
(sin.f32 (*.f32 tau (*.f32 x (PI.f32))))
(sin.f32 (*.f32 x (*.f32 tau (PI.f32))))
(*.f32 tau (*.f32 (PI.f32) x))
(*.f32 tau (*.f32 x (PI.f32)))
(*.f32 x (*.f32 tau (PI.f32)))
(+.f32 (*.f32 tau (*.f32 (PI.f32) x)) (*.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 x 3) (pow.f32 (PI.f32) 3)))))
(fma.f32 tau (*.f32 x (PI.f32)) (*.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3)))))
(fma.f32 (*.f32 -1/6 (pow.f32 tau 3)) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3)) (*.f32 x (*.f32 tau (PI.f32))))
(fma.f32 (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3)) (*.f32 -1/6 (pow.f32 tau 3)) (*.f32 x (*.f32 tau (PI.f32))))
(fma.f32 tau (*.f32 x (PI.f32)) (*.f32 (pow.f32 (PI.f32) 3) (*.f32 (pow.f32 x 3) (*.f32 -1/6 (pow.f32 tau 3)))))
(fma.f32 (*.f32 (pow.f32 tau 3) (pow.f32 (PI.f32) 3)) (*.f32 -1/6 (pow.f32 x 3)) (*.f32 tau (*.f32 x (PI.f32))))
(+.f32 (*.f32 tau (*.f32 (PI.f32) x)) (+.f32 (*.f32 1/120 (*.f32 (pow.f32 tau 5) (*.f32 (pow.f32 x 5) (pow.f32 (PI.f32) 5)))) (*.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 x 3) (pow.f32 (PI.f32) 3))))))
(fma.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3))) (fma.f32 1/120 (*.f32 (pow.f32 tau 5) (*.f32 (pow.f32 (PI.f32) 5) (pow.f32 x 5))) (*.f32 tau (*.f32 x (PI.f32)))))
(fma.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3))) (fma.f32 1/120 (*.f32 (pow.f32 tau 5) (*.f32 (pow.f32 (PI.f32) 5) (pow.f32 x 5))) (*.f32 x (*.f32 tau (PI.f32)))))
(fma.f32 (pow.f32 tau 5) (*.f32 1/120 (*.f32 (pow.f32 (PI.f32) 5) (pow.f32 x 5))) (fma.f32 (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3)) (*.f32 -1/6 (pow.f32 tau 3)) (*.f32 x (*.f32 tau (PI.f32)))))
(fma.f32 tau (*.f32 x (PI.f32)) (fma.f32 (*.f32 (pow.f32 (PI.f32) 5) (pow.f32 x 5)) (*.f32 1/120 (pow.f32 tau 5)) (*.f32 (pow.f32 (PI.f32) 3) (*.f32 (pow.f32 x 3) (*.f32 -1/6 (pow.f32 tau 3))))))
(fma.f32 tau (*.f32 x (PI.f32)) (fma.f32 (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3)) (*.f32 -1/6 (pow.f32 tau 3)) (*.f32 (*.f32 (pow.f32 tau 5) (pow.f32 (PI.f32) 5)) (*.f32 1/120 (pow.f32 x 5)))))
(+.f32 (*.f32 tau (*.f32 (PI.f32) x)) (+.f32 (*.f32 -1/5040 (*.f32 (pow.f32 tau 7) (*.f32 (pow.f32 x 7) (pow.f32 (PI.f32) 7)))) (+.f32 (*.f32 1/120 (*.f32 (pow.f32 tau 5) (*.f32 (pow.f32 x 5) (pow.f32 (PI.f32) 5)))) (*.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 x 3) (pow.f32 (PI.f32) 3)))))))
(fma.f32 -1/5040 (*.f32 (pow.f32 tau 7) (*.f32 (pow.f32 (PI.f32) 7) (pow.f32 x 7))) (fma.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3))) (fma.f32 1/120 (*.f32 (pow.f32 tau 5) (*.f32 (pow.f32 (PI.f32) 5) (pow.f32 x 5))) (*.f32 tau (*.f32 x (PI.f32))))))
(fma.f32 -1/5040 (*.f32 (pow.f32 tau 7) (*.f32 (pow.f32 (PI.f32) 7) (pow.f32 x 7))) (fma.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3))) (fma.f32 1/120 (*.f32 (pow.f32 tau 5) (*.f32 (pow.f32 (PI.f32) 5) (pow.f32 x 5))) (*.f32 x (*.f32 tau (PI.f32))))))
(fma.f32 (pow.f32 tau 7) (*.f32 (pow.f32 x 7) (*.f32 -1/5040 (pow.f32 (PI.f32) 7))) (fma.f32 (pow.f32 tau 5) (*.f32 1/120 (*.f32 (pow.f32 (PI.f32) 5) (pow.f32 x 5))) (fma.f32 (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3)) (*.f32 -1/6 (pow.f32 tau 3)) (*.f32 x (*.f32 tau (PI.f32))))))
(fma.f32 tau (*.f32 x (PI.f32)) (fma.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3))) (fma.f32 (pow.f32 tau 5) (*.f32 1/120 (*.f32 (pow.f32 (PI.f32) 5) (pow.f32 x 5))) (*.f32 (pow.f32 tau 7) (*.f32 (pow.f32 x 7) (*.f32 -1/5040 (pow.f32 (PI.f32) 7)))))))
(fma.f32 (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3)) (*.f32 -1/6 (pow.f32 tau 3)) (fma.f32 tau (*.f32 x (PI.f32)) (fma.f32 (pow.f32 tau 7) (*.f32 (pow.f32 (PI.f32) 7) (*.f32 -1/5040 (pow.f32 x 7))) (*.f32 (*.f32 (pow.f32 tau 5) (pow.f32 (PI.f32) 5)) (*.f32 1/120 (pow.f32 x 5))))))
(sin.f32 (*.f32 tau (*.f32 x (PI.f32))))
(sin.f32 (*.f32 x (*.f32 tau (PI.f32))))
(sin.f32 (*.f32 tau (*.f32 x (PI.f32))))
(sin.f32 (*.f32 x (*.f32 tau (PI.f32))))
(sin.f32 (*.f32 tau (*.f32 x (PI.f32))))
(sin.f32 (*.f32 x (*.f32 tau (PI.f32))))
(sin.f32 (*.f32 tau (*.f32 x (PI.f32))))
(sin.f32 (*.f32 x (*.f32 tau (PI.f32))))
(sin.f32 (*.f32 tau (*.f32 (PI.f32) x)))
(sin.f32 (*.f32 tau (*.f32 x (PI.f32))))
(sin.f32 (*.f32 x (*.f32 tau (PI.f32))))
(sin.f32 (*.f32 tau (*.f32 (PI.f32) x)))
(sin.f32 (*.f32 tau (*.f32 x (PI.f32))))
(sin.f32 (*.f32 x (*.f32 tau (PI.f32))))
(sin.f32 (*.f32 tau (*.f32 (PI.f32) x)))
(sin.f32 (*.f32 tau (*.f32 x (PI.f32))))
(sin.f32 (*.f32 x (*.f32 tau (PI.f32))))
(sin.f32 (*.f32 tau (*.f32 (PI.f32) x)))
(sin.f32 (*.f32 tau (*.f32 x (PI.f32))))
(sin.f32 (*.f32 x (*.f32 tau (PI.f32))))

eval190.0ms (1.6%)

Compiler

Compiled 16412 to 4625 computations (71.8% saved)

prune164.0ms (1.4%)

Pruning

75 alts after pruning (68 fresh and 7 done)

PrunedKeptTotal
New59320613
Fresh154863
Picked011
Done268
Total61075685
Error
0.1b
Counts
685 → 75
Alt Table
Click to see full alt table
StatusErrorProgram
0.8b
(*.f32 (/.f32 1 (/.f32 (PI.f32) (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 x tau)))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
1.0b
(*.f32 (*.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (PI.f32))) (/.f32 1 tau)) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
11.8b
(*.f32 1 (+.f32 1 (*.f32 -1/6 (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2)))))
0.9b
(*.f32 (log.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau))))) (/.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (PI.f32)) x))
0.8b
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
12.2b
(*.f32 1 (/.f32 (*.f32 (PI.f32) x) (*.f32 (*.f32 (PI.f32) (pow.f32 (cbrt.f32 x) 2)) (cbrt.f32 x))))
11.9b
(*.f32 1 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
11.8b
(*.f32 1 (fma.f32 (pow.f32 (PI.f32) 2) (*.f32 x (*.f32 -1/6 x)) 1))
4.9b
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (fma.f32 -1/6 (pow.f32 (*.f32 (PI.f32) x) 2) 1))
1.0b
(*.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 (pow.f32 (*.f32 (PI.f32) x) 2) tau)))
14.4b
(*.f32 1 (/.f32 (sin.f32 (-.f32 (+.f32 1 (*.f32 (PI.f32) x)) 1)) (*.f32 x (PI.f32))))
6.8b
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (+.f32 (log.f32 (pow.f32 (cbrt.f32 (pow.f32 (exp.f32 (PI.f32)) x)) 2)) (log.f32 (cbrt.f32 (pow.f32 (exp.f32 (PI.f32)) x))))))
15.1b
(*.f32 1 (/.f32 (*.f32 (PI.f32) x) (log.f32 (-.f32 (+.f32 1 (pow.f32 (exp.f32 (PI.f32)) x)) 1))))
0.9b
(*.f32 (/.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 x (PI.f32))) tau) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
0.7b
(*.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (*.f32 (PI.f32) (*.f32 x tau))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
0.8b
(*.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 (neg.f32 (sin.f32 (*.f32 x (PI.f32)))) (/.f32 1 (*.f32 x (neg.f32 (PI.f32))))))
12.3b
(*.f32 1 (/.f32 (exp.f32 (log.f32 (*.f32 (PI.f32) x))) (*.f32 x (PI.f32))))
9.6b
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) 1)
14.4b
(*.f32 1 (/.f32 (sin.f32 (-.f32 (+.f32 1 (*.f32 (PI.f32) x)) 1)) (exp.f32 (log.f32 (*.f32 (PI.f32) x)))))
6.7b
(*.f32 (fma.f32 (pow.f32 (*.f32 tau (PI.f32)) 2) (*.f32 -1/6 (*.f32 x x)) 1) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
0.9b
(*.f32 (log.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (PI.f32) (*.f32 tau x))))) (*.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) x) (/.f32 1 (PI.f32))))
14.7b
(*.f32 1 (/.f32 (*.f32 (PI.f32) x) (log.f32 (exp.f32 (*.f32 (PI.f32) x)))))
11.9b
(*.f32 1 (log.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 (PI.f32) x)))))
4.9b
(*.f32 (-.f32 (+.f32 1 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau)))) 1) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 (*.f32 x (PI.f32)) (*.f32 (PI.f32) (*.f32 x tau)))))
11.8b
(*.f32 1 (*.f32 (/.f32 1 (*.f32 (PI.f32) x)) (sin.f32 (*.f32 (PI.f32) x))))
5.6b
(*.f32 (+.f32 (log.f32 (sqrt.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau)))))) (log.f32 (sqrt.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau))))))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (-.f32 (+.f32 1 (*.f32 (PI.f32) x)) 1)))
0.8b
(*.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) x) (/.f32 1 (PI.f32))))
0.8b
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (/.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (PI.f32)) x))
1.0b
(*.f32 (*.f32 (/.f32 (/.f32 (/.f32 1 x) (PI.f32)) tau) (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) (/.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (PI.f32)) x))
1.2b
(*.f32 (*.f32 (/.f32 (pow.f32 (cbrt.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau)))) 2) (*.f32 x tau)) (/.f32 (cbrt.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau)))) (PI.f32))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
1.0b
(*.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (*.f32 x x) tau))))
0.9b
(*.f32 (/.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) x) (*.f32 (PI.f32) tau)) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
11.9b
(*.f32 1 (*.f32 (/.f32 (/.f32 1 x) (PI.f32)) (sin.f32 (*.f32 x (PI.f32)))))
14.2b
(*.f32 (-.f32 (+.f32 1 (*.f32 tau (*.f32 (PI.f32) x))) 1) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 (*.f32 x (PI.f32)) (*.f32 (PI.f32) (*.f32 x tau)))))
1.0b
(*.f32 (*.f32 (/.f32 (/.f32 1 x) (PI.f32)) (/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) tau)) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
0.9b
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (pow.f32 (cbrt.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 (PI.f32) x))) 3))
1.4b
(*.f32 (+.f32 (log.f32 (pow.f32 (cbrt.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (PI.f32) (*.f32 tau x))))) 2)) (log.f32 (cbrt.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (PI.f32) (*.f32 tau x))))))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
0.8b
(*.f32 (-.f32 (+.f32 1 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (*.f32 (PI.f32) (*.f32 x tau)))) 1) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
11.9b
(*.f32 1 (*.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) x) (/.f32 1 (PI.f32))))
12.1b
(*.f32 1 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (pow.f32 (exp.f32 1) (log.f32 (*.f32 (PI.f32) x)))))
6.8b
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (/.f32 (-.f32 (+.f32 1 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (PI.f32))) 1) x))
12.4b
(*.f32 1 (/.f32 (*.f32 (PI.f32) x) (exp.f32 (log.f32 (*.f32 (PI.f32) x)))))
1.0b
(*.f32 (log.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (PI.f32) (*.f32 tau x))))) (pow.f32 (/.f32 (*.f32 x (PI.f32)) (sin.f32 (*.f32 x (PI.f32)))) -1))
11.9b
(*.f32 (/.f32 (*.f32 (PI.f32) (*.f32 tau x)) (*.f32 (*.f32 x (PI.f32)) tau)) (/.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (PI.f32)) x))
5.5b
(*.f32 (/.f32 (+.f32 (log.f32 (sqrt.f32 (exp.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))))) (log.f32 (sqrt.f32 (exp.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))))))) (*.f32 (*.f32 x (PI.f32)) tau)) (/.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (PI.f32)) x))
0.9b
(*.f32 (/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 (PI.f32) (*.f32 x tau))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
0.7b
(*.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
11.9b
(*.f32 1 (/.f32 (sin.f32 (pow.f32 (cbrt.f32 (*.f32 (PI.f32) x)) 3)) (*.f32 x (PI.f32))))
0.8b
(*.f32 (*.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (PI.f32)) (/.f32 1 (*.f32 x tau))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
0.8b
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (/.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) x) (PI.f32)))
1.1b
(*.f32 (+.f32 (log.f32 (sqrt.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau)))))) (log.f32 (sqrt.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau))))))) (/.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (PI.f32)) x))
14.6b
(*.f32 1 (/.f32 (-.f32 (+.f32 1 (*.f32 (PI.f32) x)) 1) (*.f32 x (PI.f32))))
11.9b
(*.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (-.f32 (+.f32 1 (*.f32 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 x x)) tau)) 1)))
1.0b
(*.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 tau (*.f32 x (*.f32 x (pow.f32 (PI.f32) 2))))))
14.4b
(*.f32 1 (/.f32 (log.f32 (exp.f32 (sin.f32 (*.f32 x (PI.f32))))) (*.f32 x (PI.f32))))
0.9b
(*.f32 (/.f32 (/.f32 1 x) (/.f32 (*.f32 (PI.f32) tau) (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
11.9b
(*.f32 1 (/.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (PI.f32)) x))
5.2b
(*.f32 (fma.f32 (pow.f32 (cbrt.f32 (+.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) -1)) 2) (cbrt.f32 (+.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) -1)) 1) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 (*.f32 x (PI.f32)) (*.f32 (PI.f32) (*.f32 x tau)))))
1.0b
(*.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau))) (/.f32 (sin.f32 (pow.f32 (sqrt.f32 (*.f32 (PI.f32) x)) 2)) (*.f32 x (PI.f32))))
12.1b
(*.f32 1 1)
14.4b
(*.f32 1 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (exp.f32 (log.f32 (-.f32 (+.f32 1 (*.f32 (PI.f32) x)) 1)))))
14.2b
(*.f32 1 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (+.f32 1 (-.f32 (*.f32 (PI.f32) x) 1))))
11.9b
(*.f32 1 (*.f32 (/.f32 1 x) (/.f32 (sin.f32 (*.f32 (PI.f32) x)) (PI.f32))))
14.4b
(*.f32 1 (/.f32 (sin.f32 (log.f32 (pow.f32 (exp.f32 (PI.f32)) x))) (*.f32 x (PI.f32))))
14.7b
(*.f32 1 (/.f32 (*.f32 (PI.f32) x) (-.f32 (+.f32 1 (*.f32 (PI.f32) x)) 1)))
11.9b
(*.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (-.f32 (+.f32 1 (*.f32 (pow.f32 (*.f32 (PI.f32) x) 2) tau)) 1)))
0.8b
(*.f32 (-.f32 (+.f32 1 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau)))) 1) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
11.9b
(*.f32 (-.f32 (+.f32 1 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau)))) 1) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (-.f32 (+.f32 1 (*.f32 (pow.f32 (*.f32 (PI.f32) x) 2) tau)) 1)))
5.7b
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (/.f32 1 (/.f32 (+.f32 (pow.f32 (fma.f32 (PI.f32) x 1) 2) (fma.f32 (PI.f32) x 2)) (+.f32 (pow.f32 (fma.f32 (PI.f32) x 1) 3) -1)))))
14.5b
(*.f32 1 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (log.f32 (pow.f32 (exp.f32 (PI.f32)) x))))
1.0b
(*.f32 (sin.f32 (*.f32 x (*.f32 tau (PI.f32)))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 (*.f32 x (PI.f32)) (*.f32 (PI.f32) (*.f32 x tau)))))
12.0b
(*.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (fma.f32 (-.f32 1 (pow.f32 (*.f32 (*.f32 (PI.f32) x) (sqrt.f32 tau)) 4)) (/.f32 1 (-.f32 1 (*.f32 (pow.f32 (*.f32 (PI.f32) x) 2) tau))) -1)))
11.8b
(*.f32 1 (fma.f32 -1/6 (pow.f32 (*.f32 (PI.f32) x) 2) 1))
14.4b
(*.f32 1 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (-.f32 (+.f32 1 (*.f32 (PI.f32) x)) 1)))
1.1b
(*.f32 (/.f32 (sin.f32 (*.f32 (pow.f32 (sqrt.f32 (*.f32 (PI.f32) x)) 2) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (/.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (PI.f32)) x))
Compiler

Compiled 1687 to 1034 computations (38.7% saved)

regimes1.0s (8.3%)

Counts
130 → 1
Calls
Call 1
Inputs
(*.f32 1 1)
(*.f32 1 (/.f32 (*.f32 (PI.f32) x) (*.f32 x (PI.f32))))
(*.f32 1 (/.f32 (*.f32 (PI.f32) x) (-.f32 (+.f32 1 (*.f32 (PI.f32) x)) 1)))
(*.f32 1 (/.f32 (*.f32 (PI.f32) x) (-.f32 (+.f32 1 (*.f32 (PI.f32) x)) 1)))
(*.f32 1 (/.f32 (-.f32 (+.f32 1 (*.f32 (PI.f32) x)) 1) (*.f32 x (PI.f32))))
(*.f32 1 (/.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (PI.f32)) x))
(*.f32 1 (fma.f32 -1/6 (pow.f32 (*.f32 (PI.f32) x) 2) 1))
(*.f32 1 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
(*.f32 1 (*.f32 (/.f32 1 (*.f32 (PI.f32) x)) (sin.f32 (*.f32 (PI.f32) x))))
(*.f32 1 (*.f32 (/.f32 1 x) (/.f32 (sin.f32 (*.f32 (PI.f32) x)) (PI.f32))))
(*.f32 1 (fma.f32 (pow.f32 (PI.f32) 2) (*.f32 x (*.f32 -1/6 x)) 1))
(*.f32 1 (*.f32 (/.f32 (/.f32 1 x) (PI.f32)) (sin.f32 (*.f32 x (PI.f32)))))
(*.f32 1 (*.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) x) (/.f32 1 (PI.f32))))
(*.f32 1 (*.f32 (/.f32 1 x) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (PI.f32))))
(*.f32 1 (+.f32 1 (*.f32 -1/6 (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2)))))
(*.f32 1 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (+.f32 1 (-.f32 (*.f32 (PI.f32) x) 1))))
(*.f32 1 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (-.f32 (+.f32 1 (*.f32 (PI.f32) x)) 1)))
(*.f32 1 (/.f32 (sin.f32 (-.f32 (+.f32 1 (*.f32 (PI.f32) x)) 1)) (*.f32 x (PI.f32))))
(*.f32 1 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (-.f32 (+.f32 1 (*.f32 (PI.f32) x)) 1)))
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) 1)
(*.f32 1 (/.f32 (-.f32 (+.f32 1 (sin.f32 (*.f32 x (PI.f32)))) 1) (*.f32 x (PI.f32))))
(*.f32 1 (/.f32 (*.f32 (PI.f32) x) (log.f32 (exp.f32 (*.f32 (PI.f32) x)))))
(*.f32 1 (/.f32 (*.f32 (PI.f32) x) (exp.f32 (log.f32 (*.f32 (PI.f32) x)))))
(*.f32 1 (/.f32 (exp.f32 (log.f32 (*.f32 (PI.f32) x))) (*.f32 x (PI.f32))))
(*.f32 1 (/.f32 (*.f32 (PI.f32) x) (exp.f32 (log.f32 (*.f32 (PI.f32) x)))))
(*.f32 1 (/.f32 (*.f32 (PI.f32) x) (log.f32 (pow.f32 (exp.f32 (PI.f32)) x))))
(*.f32 1 (log.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 (PI.f32) x)))))
(*.f32 1 (/.f32 (exp.f32 (log.f32 (sin.f32 (*.f32 x (PI.f32))))) (*.f32 x (PI.f32))))
(*.f32 1 (/.f32 (log.f32 (exp.f32 (sin.f32 (*.f32 x (PI.f32))))) (*.f32 x (PI.f32))))
(*.f32 1 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (exp.f32 (log.f32 (*.f32 (PI.f32) x)))))
(*.f32 1 (log.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))))
(*.f32 1 (/.f32 (sin.f32 (pow.f32 (cbrt.f32 (*.f32 (PI.f32) x)) 3)) (*.f32 x (PI.f32))))
(*.f32 1 (/.f32 (*.f32 (PI.f32) x) (*.f32 (*.f32 (PI.f32) (pow.f32 (cbrt.f32 x) 2)) (cbrt.f32 x))))
(*.f32 1 (/.f32 (*.f32 (PI.f32) x) (log.f32 (-.f32 (+.f32 1 (pow.f32 (exp.f32 (PI.f32)) x)) 1))))
(*.f32 1 (/.f32 (sin.f32 (-.f32 (+.f32 1 (*.f32 (PI.f32) x)) 1)) (exp.f32 (log.f32 (*.f32 (PI.f32) x)))))
(*.f32 1 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (exp.f32 (log.f32 (-.f32 (+.f32 1 (*.f32 (PI.f32) x)) 1)))))
(*.f32 (/.f32 (*.f32 (PI.f32) (*.f32 tau x)) (*.f32 (*.f32 x (PI.f32)) tau)) (/.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (PI.f32)) x))
(*.f32 (/.f32 (*.f32 (PI.f32) (*.f32 tau x)) (*.f32 (*.f32 x (PI.f32)) tau)) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
(*.f32 (*.f32 tau (*.f32 (PI.f32) x)) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 (*.f32 x (PI.f32)) (*.f32 (PI.f32) (*.f32 x tau)))))
(*.f32 (-.f32 (+.f32 1 (*.f32 tau (*.f32 (PI.f32) x))) 1) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 (*.f32 x (PI.f32)) (*.f32 (PI.f32) (*.f32 x tau)))))
(*.f32 1 (/.f32 (sin.f32 (log.f32 (pow.f32 (exp.f32 (PI.f32)) x))) (*.f32 x (PI.f32))))
(*.f32 1 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (log.f32 (pow.f32 (exp.f32 (PI.f32)) x))))
(*.f32 1 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (pow.f32 (exp.f32 1) (log.f32 (*.f32 (PI.f32) x)))))
(*.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 (pow.f32 (*.f32 (PI.f32) x) 2) tau)))
(*.f32 (sin.f32 (*.f32 x (*.f32 tau (PI.f32)))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 (*.f32 x (PI.f32)) (*.f32 (PI.f32) (*.f32 x tau)))))
(*.f32 (fma.f32 (pow.f32 (*.f32 tau (PI.f32)) 2) (*.f32 -1/6 (*.f32 x x)) 1) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
(*.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (*.f32 x x) tau))))
(*.f32 (/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 (PI.f32) (*.f32 x tau))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
(*.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
(*.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 tau (*.f32 x (*.f32 x (pow.f32 (PI.f32) 2))))))
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (fma.f32 -1/6 (pow.f32 (*.f32 (PI.f32) x) 2) 1))
(*.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (*.f32 (PI.f32) (*.f32 x tau))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
(*.f32 (/.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 x (PI.f32))) tau) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
(*.f32 (/.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 x tau)) (PI.f32)) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
(*.f32 (/.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) x) (*.f32 (PI.f32) tau)) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (/.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (PI.f32)) x))
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (/.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) x) (PI.f32)))
(*.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 (*.f32 x x) (*.f32 tau (pow.f32 (PI.f32) 2)))))
(*.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (PI.f32) (*.f32 tau x))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
(*.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (*.f32 x (PI.f32)) tau)) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
(*.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 (*.f32 x (PI.f32)) (*.f32 (PI.f32) (*.f32 x tau)))))
(*.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 (*.f32 x (PI.f32)) (*.f32 (PI.f32) (*.f32 x tau)))))
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
(*.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) x) (/.f32 1 (PI.f32))))
(*.f32 (*.f32 (/.f32 (/.f32 (/.f32 1 x) (PI.f32)) tau) (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) (/.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (PI.f32)) x))
(*.f32 (*.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (PI.f32)) (/.f32 1 (*.f32 x tau))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
(*.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (-.f32 (+.f32 1 (*.f32 (pow.f32 (*.f32 (PI.f32) x) 2) tau)) 1)))
(*.f32 (/.f32 1 (/.f32 (PI.f32) (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 x tau)))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
(*.f32 (*.f32 (/.f32 (/.f32 1 x) (PI.f32)) (/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) tau)) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
(*.f32 (/.f32 (/.f32 1 x) (/.f32 (*.f32 (PI.f32) tau) (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
(*.f32 (*.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (PI.f32))) (/.f32 1 tau)) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (/.f32 1 x) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (PI.f32))))
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (fma.f32 (pow.f32 (PI.f32) 2) (*.f32 x (*.f32 -1/6 x)) 1))
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) x) (/.f32 1 (PI.f32))))
(*.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (-.f32 (+.f32 1 (*.f32 (pow.f32 (*.f32 (PI.f32) x) 2) tau)) 1)))
(*.f32 (+.f32 0 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau)))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
(*.f32 (fma.f32 -1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (*.f32 tau x) (*.f32 tau x))) 1) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
(*.f32 (*.f32 (/.f32 (/.f32 1 x) (PI.f32)) (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) tau)) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
(*.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 (neg.f32 (sin.f32 (*.f32 x (PI.f32)))) (/.f32 1 (*.f32 x (neg.f32 (PI.f32))))))
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (/.f32 (-.f32 (+.f32 1 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (PI.f32))) 1) x))
(*.f32 (-.f32 (+.f32 1 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau)))) 1) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
(*.f32 (-.f32 (+.f32 1 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (*.f32 (PI.f32) (*.f32 x tau)))) 1) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
(*.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (-.f32 (+.f32 1 (*.f32 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 x x)) tau)) 1)))
(*.f32 (+.f32 0 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau)))) (*.f32 (/.f32 (/.f32 1 x) (PI.f32)) (sin.f32 (*.f32 x (PI.f32)))))
(*.f32 (*.f32 (/.f32 (/.f32 1 x) (PI.f32)) (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) tau)) (*.f32 (/.f32 (/.f32 1 x) (PI.f32)) (sin.f32 (*.f32 x (PI.f32)))))
(*.f32 (*.f32 (neg.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) (/.f32 1 (*.f32 (*.f32 x (PI.f32)) (neg.f32 tau)))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (-.f32 (+.f32 1 (*.f32 (PI.f32) x)) 1)))
(*.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 (-.f32 (+.f32 1 (*.f32 (PI.f32) x)) 1) (*.f32 (PI.f32) (*.f32 x tau)))))
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (neg.f32 (sin.f32 (*.f32 x (PI.f32)))) (/.f32 1 (*.f32 x (neg.f32 (PI.f32))))))
(*.f32 (-.f32 (+.f32 1 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau)))) 1) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 (*.f32 x (PI.f32)) (*.f32 (PI.f32) (*.f32 x tau)))))
(*.f32 (-.f32 (+.f32 1 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau)))) 1) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (-.f32 (+.f32 1 (*.f32 (pow.f32 (*.f32 (PI.f32) x) 2) tau)) 1)))
(*.f32 (+.f32 0 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau)))) (*.f32 (neg.f32 (sin.f32 (*.f32 x (PI.f32)))) (/.f32 1 (*.f32 x (neg.f32 (PI.f32))))))
(*.f32 (+.f32 0 (-.f32 (+.f32 1 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau)))) 1)) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
(*.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 tau (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2)))))
(*.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (pow.f32 (*.f32 (pow.f32 (*.f32 (PI.f32) x) 2) tau) 1)))
(*.f32 (pow.f32 (/.f32 x (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 (PI.f32) tau))) -1) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
(*.f32 (log.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau))))) (/.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (PI.f32)) x))
(*.f32 (log.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (PI.f32) (*.f32 tau x))))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (log.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))))
(*.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (/.f32 (sin.f32 (expm1.f32 (log1p.f32 (*.f32 (PI.f32) x)))) (*.f32 (*.f32 x (PI.f32)) (*.f32 (PI.f32) (*.f32 x tau)))))
(*.f32 (log.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau))))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
(*.f32 (sin.f32 (exp.f32 (log.f32 (*.f32 (PI.f32) (*.f32 x tau))))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 (*.f32 x (PI.f32)) (*.f32 (PI.f32) (*.f32 x tau)))))
(*.f32 (sin.f32 (expm1.f32 (log1p.f32 (*.f32 (PI.f32) (*.f32 x tau))))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 (*.f32 x (PI.f32)) (*.f32 (PI.f32) (*.f32 x tau)))))
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (expm1.f32 (log1p.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))))
(*.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau))) (/.f32 (sin.f32 (pow.f32 (sqrt.f32 (*.f32 (PI.f32) x)) 2)) (*.f32 x (PI.f32))))
(*.f32 (/.f32 (sin.f32 (*.f32 (pow.f32 (sqrt.f32 (*.f32 (PI.f32) x)) 2) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (/.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (PI.f32)) x))
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (pow.f32 (cbrt.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 (PI.f32) x))) 3))
(*.f32 (/.f32 (sin.f32 (*.f32 (pow.f32 (sqrt.f32 (*.f32 (PI.f32) x)) 2) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (pow.f32 (cbrt.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32)))) 3))
(*.f32 (sin.f32 (pow.f32 (sqrt.f32 (*.f32 (PI.f32) (*.f32 x tau))) 2)) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 (*.f32 x (PI.f32)) (*.f32 (PI.f32) (*.f32 x tau)))))
(*.f32 (log.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (PI.f32) (*.f32 tau x))))) (*.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) x) (/.f32 1 (PI.f32))))
(*.f32 (-.f32 (exp.f32 (log1p.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (PI.f32) (*.f32 tau x))))) 1) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
(*.f32 (-.f32 (exp.f32 (log1p.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau))))) 1) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
(*.f32 (log.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau))))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (-.f32 (+.f32 1 (*.f32 (PI.f32) x)) 1)))
(*.f32 (log.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (PI.f32) (*.f32 tau x))))) (pow.f32 (/.f32 (*.f32 x (PI.f32)) (sin.f32 (*.f32 x (PI.f32)))) -1))
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (/.f32 (sqrt.f32 (sin.f32 (*.f32 x (PI.f32)))) 1) (/.f32 (sqrt.f32 (sin.f32 (*.f32 x (PI.f32)))) (*.f32 x (PI.f32)))))
(*.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (fma.f32 (-.f32 1 (pow.f32 (*.f32 (*.f32 (PI.f32) x) (sqrt.f32 tau)) 4)) (/.f32 1 (-.f32 1 (*.f32 (pow.f32 (*.f32 (PI.f32) x) 2) tau))) -1)))
(*.f32 (*.f32 (/.f32 (pow.f32 (cbrt.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau)))) 2) (*.f32 x tau)) (/.f32 (cbrt.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau)))) (PI.f32))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
(*.f32 (*.f32 (/.f32 (pow.f32 (cbrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) 2) x) (/.f32 (cbrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) (*.f32 (PI.f32) tau))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
(*.f32 (fma.f32 (pow.f32 (cbrt.f32 (+.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) -1)) 2) (cbrt.f32 (+.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) -1)) 1) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 (*.f32 x (PI.f32)) (*.f32 (PI.f32) (*.f32 x tau)))))
(*.f32 (*.f32 (/.f32 (pow.f32 (cbrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) 2) x) (/.f32 (cbrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) (*.f32 (PI.f32) tau))) (log.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))))
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (/.f32 1 (/.f32 (+.f32 (pow.f32 (fma.f32 (PI.f32) x 1) 2) (fma.f32 (PI.f32) x 2)) (+.f32 (pow.f32 (fma.f32 (PI.f32) x 1) 3) -1)))))
(*.f32 (/.f32 (+.f32 (log.f32 (sqrt.f32 (exp.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))))) (log.f32 (sqrt.f32 (exp.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))))))) (*.f32 (*.f32 x (PI.f32)) tau)) (/.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (PI.f32)) x))
(*.f32 (/.f32 (+.f32 (log.f32 (sqrt.f32 (exp.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))))) (log.f32 (sqrt.f32 (exp.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))))))) (*.f32 (*.f32 x (PI.f32)) tau)) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
(*.f32 (+.f32 (log.f32 (sqrt.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau)))))) (log.f32 (sqrt.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau))))))) (/.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (PI.f32)) x))
(*.f32 (+.f32 (log.f32 (sqrt.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau)))))) (log.f32 (sqrt.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau))))))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
(*.f32 (+.f32 (log.f32 (sqrt.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau)))))) (log.f32 (sqrt.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau))))))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (-.f32 (+.f32 1 (*.f32 (PI.f32) x)) 1)))
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (+.f32 (log.f32 (pow.f32 (cbrt.f32 (pow.f32 (exp.f32 (PI.f32)) x)) 2)) (log.f32 (cbrt.f32 (pow.f32 (exp.f32 (PI.f32)) x))))))
(*.f32 (+.f32 (log.f32 (pow.f32 (cbrt.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (PI.f32) (*.f32 tau x))))) 2)) (log.f32 (cbrt.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (PI.f32) (*.f32 tau x))))))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
(*.f32 (+.f32 (log.f32 (pow.f32 (cbrt.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau))))) 2)) (log.f32 (cbrt.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau))))))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
Outputs
(*.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
Calls

6 calls:

270.0ms
(*.f32 x (PI.f32))
221.0ms
x
165.0ms
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
108.0ms
tau
101.0ms
(*.f32 x (PI.f32))
Results
ErrorSegmentsBranch
0.7b1x
0.7b1tau
0.7b1(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
0.7b1(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
0.7b1(*.f32 x (PI.f32))
0.7b1(*.f32 x (PI.f32))
Compiler

Compiled 2839 to 754 computations (73.4% saved)

regimes391.0ms (3.2%)

Counts
48 → 1
Calls
Call 1
Inputs
(*.f32 1 1)
(*.f32 1 (/.f32 (*.f32 (PI.f32) x) (*.f32 x (PI.f32))))
(*.f32 1 (/.f32 (*.f32 (PI.f32) x) (-.f32 (+.f32 1 (*.f32 (PI.f32) x)) 1)))
(*.f32 1 (/.f32 (*.f32 (PI.f32) x) (-.f32 (+.f32 1 (*.f32 (PI.f32) x)) 1)))
(*.f32 1 (/.f32 (-.f32 (+.f32 1 (*.f32 (PI.f32) x)) 1) (*.f32 x (PI.f32))))
(*.f32 1 (/.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (PI.f32)) x))
(*.f32 1 (fma.f32 -1/6 (pow.f32 (*.f32 (PI.f32) x) 2) 1))
(*.f32 1 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
(*.f32 1 (*.f32 (/.f32 1 (*.f32 (PI.f32) x)) (sin.f32 (*.f32 (PI.f32) x))))
(*.f32 1 (*.f32 (/.f32 1 x) (/.f32 (sin.f32 (*.f32 (PI.f32) x)) (PI.f32))))
(*.f32 1 (fma.f32 (pow.f32 (PI.f32) 2) (*.f32 x (*.f32 -1/6 x)) 1))
(*.f32 1 (*.f32 (/.f32 (/.f32 1 x) (PI.f32)) (sin.f32 (*.f32 x (PI.f32)))))
(*.f32 1 (*.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) x) (/.f32 1 (PI.f32))))
(*.f32 1 (*.f32 (/.f32 1 x) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (PI.f32))))
(*.f32 1 (+.f32 1 (*.f32 -1/6 (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2)))))
(*.f32 1 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (+.f32 1 (-.f32 (*.f32 (PI.f32) x) 1))))
(*.f32 1 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (-.f32 (+.f32 1 (*.f32 (PI.f32) x)) 1)))
(*.f32 1 (/.f32 (sin.f32 (-.f32 (+.f32 1 (*.f32 (PI.f32) x)) 1)) (*.f32 x (PI.f32))))
(*.f32 1 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (-.f32 (+.f32 1 (*.f32 (PI.f32) x)) 1)))
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) 1)
(*.f32 1 (/.f32 (-.f32 (+.f32 1 (sin.f32 (*.f32 x (PI.f32)))) 1) (*.f32 x (PI.f32))))
(*.f32 1 (/.f32 (*.f32 (PI.f32) x) (log.f32 (exp.f32 (*.f32 (PI.f32) x)))))
(*.f32 1 (/.f32 (*.f32 (PI.f32) x) (exp.f32 (log.f32 (*.f32 (PI.f32) x)))))
(*.f32 1 (/.f32 (exp.f32 (log.f32 (*.f32 (PI.f32) x))) (*.f32 x (PI.f32))))
(*.f32 1 (/.f32 (*.f32 (PI.f32) x) (exp.f32 (log.f32 (*.f32 (PI.f32) x)))))
(*.f32 1 (/.f32 (*.f32 (PI.f32) x) (log.f32 (pow.f32 (exp.f32 (PI.f32)) x))))
(*.f32 1 (log.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 (PI.f32) x)))))
(*.f32 1 (/.f32 (exp.f32 (log.f32 (sin.f32 (*.f32 x (PI.f32))))) (*.f32 x (PI.f32))))
(*.f32 1 (/.f32 (log.f32 (exp.f32 (sin.f32 (*.f32 x (PI.f32))))) (*.f32 x (PI.f32))))
(*.f32 1 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (exp.f32 (log.f32 (*.f32 (PI.f32) x)))))
(*.f32 1 (log.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))))
(*.f32 1 (/.f32 (sin.f32 (pow.f32 (cbrt.f32 (*.f32 (PI.f32) x)) 3)) (*.f32 x (PI.f32))))
(*.f32 1 (/.f32 (*.f32 (PI.f32) x) (*.f32 (*.f32 (PI.f32) (pow.f32 (cbrt.f32 x) 2)) (cbrt.f32 x))))
(*.f32 1 (/.f32 (*.f32 (PI.f32) x) (log.f32 (-.f32 (+.f32 1 (pow.f32 (exp.f32 (PI.f32)) x)) 1))))
(*.f32 1 (/.f32 (sin.f32 (-.f32 (+.f32 1 (*.f32 (PI.f32) x)) 1)) (exp.f32 (log.f32 (*.f32 (PI.f32) x)))))
(*.f32 1 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (exp.f32 (log.f32 (-.f32 (+.f32 1 (*.f32 (PI.f32) x)) 1)))))
(*.f32 (/.f32 (*.f32 (PI.f32) (*.f32 tau x)) (*.f32 (*.f32 x (PI.f32)) tau)) (/.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (PI.f32)) x))
(*.f32 (/.f32 (*.f32 (PI.f32) (*.f32 tau x)) (*.f32 (*.f32 x (PI.f32)) tau)) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
(*.f32 (*.f32 tau (*.f32 (PI.f32) x)) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 (*.f32 x (PI.f32)) (*.f32 (PI.f32) (*.f32 x tau)))))
(*.f32 (-.f32 (+.f32 1 (*.f32 tau (*.f32 (PI.f32) x))) 1) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 (*.f32 x (PI.f32)) (*.f32 (PI.f32) (*.f32 x tau)))))
(*.f32 1 (/.f32 (sin.f32 (log.f32 (pow.f32 (exp.f32 (PI.f32)) x))) (*.f32 x (PI.f32))))
(*.f32 1 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (log.f32 (pow.f32 (exp.f32 (PI.f32)) x))))
(*.f32 1 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (pow.f32 (exp.f32 1) (log.f32 (*.f32 (PI.f32) x)))))
(*.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 (pow.f32 (*.f32 (PI.f32) x) 2) tau)))
(*.f32 (sin.f32 (*.f32 x (*.f32 tau (PI.f32)))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 (*.f32 x (PI.f32)) (*.f32 (PI.f32) (*.f32 x tau)))))
(*.f32 (fma.f32 (pow.f32 (*.f32 tau (PI.f32)) 2) (*.f32 -1/6 (*.f32 x x)) 1) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
(*.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (*.f32 x x) tau))))
(*.f32 (/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 (PI.f32) (*.f32 x tau))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
Outputs
(*.f32 (/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 (PI.f32) (*.f32 x tau))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
Calls

4 calls:

155.0ms
tau
94.0ms
x
91.0ms
(*.f32 x (PI.f32))
33.0ms
(*.f32 x (PI.f32))
Results
ErrorSegmentsBranch
0.9b1x
0.9b1tau
0.9b1(*.f32 x (PI.f32))
0.9b1(*.f32 x (PI.f32))
Compiler

Compiled 683 to 288 computations (57.8% saved)

regimes219.0ms (1.8%)

Counts
47 → 1
Calls
Call 1
Inputs
(*.f32 1 1)
(*.f32 1 (/.f32 (*.f32 (PI.f32) x) (*.f32 x (PI.f32))))
(*.f32 1 (/.f32 (*.f32 (PI.f32) x) (-.f32 (+.f32 1 (*.f32 (PI.f32) x)) 1)))
(*.f32 1 (/.f32 (*.f32 (PI.f32) x) (-.f32 (+.f32 1 (*.f32 (PI.f32) x)) 1)))
(*.f32 1 (/.f32 (-.f32 (+.f32 1 (*.f32 (PI.f32) x)) 1) (*.f32 x (PI.f32))))
(*.f32 1 (/.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (PI.f32)) x))
(*.f32 1 (fma.f32 -1/6 (pow.f32 (*.f32 (PI.f32) x) 2) 1))
(*.f32 1 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
(*.f32 1 (*.f32 (/.f32 1 (*.f32 (PI.f32) x)) (sin.f32 (*.f32 (PI.f32) x))))
(*.f32 1 (*.f32 (/.f32 1 x) (/.f32 (sin.f32 (*.f32 (PI.f32) x)) (PI.f32))))
(*.f32 1 (fma.f32 (pow.f32 (PI.f32) 2) (*.f32 x (*.f32 -1/6 x)) 1))
(*.f32 1 (*.f32 (/.f32 (/.f32 1 x) (PI.f32)) (sin.f32 (*.f32 x (PI.f32)))))
(*.f32 1 (*.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) x) (/.f32 1 (PI.f32))))
(*.f32 1 (*.f32 (/.f32 1 x) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (PI.f32))))
(*.f32 1 (+.f32 1 (*.f32 -1/6 (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2)))))
(*.f32 1 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (+.f32 1 (-.f32 (*.f32 (PI.f32) x) 1))))
(*.f32 1 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (-.f32 (+.f32 1 (*.f32 (PI.f32) x)) 1)))
(*.f32 1 (/.f32 (sin.f32 (-.f32 (+.f32 1 (*.f32 (PI.f32) x)) 1)) (*.f32 x (PI.f32))))
(*.f32 1 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (-.f32 (+.f32 1 (*.f32 (PI.f32) x)) 1)))
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) 1)
(*.f32 1 (/.f32 (-.f32 (+.f32 1 (sin.f32 (*.f32 x (PI.f32)))) 1) (*.f32 x (PI.f32))))
(*.f32 1 (/.f32 (*.f32 (PI.f32) x) (log.f32 (exp.f32 (*.f32 (PI.f32) x)))))
(*.f32 1 (/.f32 (*.f32 (PI.f32) x) (exp.f32 (log.f32 (*.f32 (PI.f32) x)))))
(*.f32 1 (/.f32 (exp.f32 (log.f32 (*.f32 (PI.f32) x))) (*.f32 x (PI.f32))))
(*.f32 1 (/.f32 (*.f32 (PI.f32) x) (exp.f32 (log.f32 (*.f32 (PI.f32) x)))))
(*.f32 1 (/.f32 (*.f32 (PI.f32) x) (log.f32 (pow.f32 (exp.f32 (PI.f32)) x))))
(*.f32 1 (log.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 (PI.f32) x)))))
(*.f32 1 (/.f32 (exp.f32 (log.f32 (sin.f32 (*.f32 x (PI.f32))))) (*.f32 x (PI.f32))))
(*.f32 1 (/.f32 (log.f32 (exp.f32 (sin.f32 (*.f32 x (PI.f32))))) (*.f32 x (PI.f32))))
(*.f32 1 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (exp.f32 (log.f32 (*.f32 (PI.f32) x)))))
(*.f32 1 (log.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))))
(*.f32 1 (/.f32 (sin.f32 (pow.f32 (cbrt.f32 (*.f32 (PI.f32) x)) 3)) (*.f32 x (PI.f32))))
(*.f32 1 (/.f32 (*.f32 (PI.f32) x) (*.f32 (*.f32 (PI.f32) (pow.f32 (cbrt.f32 x) 2)) (cbrt.f32 x))))
(*.f32 1 (/.f32 (*.f32 (PI.f32) x) (log.f32 (-.f32 (+.f32 1 (pow.f32 (exp.f32 (PI.f32)) x)) 1))))
(*.f32 1 (/.f32 (sin.f32 (-.f32 (+.f32 1 (*.f32 (PI.f32) x)) 1)) (exp.f32 (log.f32 (*.f32 (PI.f32) x)))))
(*.f32 1 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (exp.f32 (log.f32 (-.f32 (+.f32 1 (*.f32 (PI.f32) x)) 1)))))
(*.f32 (/.f32 (*.f32 (PI.f32) (*.f32 tau x)) (*.f32 (*.f32 x (PI.f32)) tau)) (/.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (PI.f32)) x))
(*.f32 (/.f32 (*.f32 (PI.f32) (*.f32 tau x)) (*.f32 (*.f32 x (PI.f32)) tau)) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
(*.f32 (*.f32 tau (*.f32 (PI.f32) x)) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 (*.f32 x (PI.f32)) (*.f32 (PI.f32) (*.f32 x tau)))))
(*.f32 (-.f32 (+.f32 1 (*.f32 tau (*.f32 (PI.f32) x))) 1) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 (*.f32 x (PI.f32)) (*.f32 (PI.f32) (*.f32 x tau)))))
(*.f32 1 (/.f32 (sin.f32 (log.f32 (pow.f32 (exp.f32 (PI.f32)) x))) (*.f32 x (PI.f32))))
(*.f32 1 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (log.f32 (pow.f32 (exp.f32 (PI.f32)) x))))
(*.f32 1 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (pow.f32 (exp.f32 1) (log.f32 (*.f32 (PI.f32) x)))))
(*.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 (pow.f32 (*.f32 (PI.f32) x) 2) tau)))
(*.f32 (sin.f32 (*.f32 x (*.f32 tau (PI.f32)))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 (*.f32 x (PI.f32)) (*.f32 (PI.f32) (*.f32 x tau)))))
(*.f32 (fma.f32 (pow.f32 (*.f32 tau (PI.f32)) 2) (*.f32 -1/6 (*.f32 x x)) 1) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
(*.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (*.f32 x x) tau))))
Outputs
(*.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 (pow.f32 (*.f32 (PI.f32) x) 2) tau)))
Calls

4 calls:

72.0ms
(*.f32 x (PI.f32))
63.0ms
(*.f32 x (PI.f32))
31.0ms
tau
30.0ms
x
Results
ErrorSegmentsBranch
1.0b1x
1.0b1tau
1.0b1(*.f32 x (PI.f32))
1.0b1(*.f32 x (PI.f32))
Compiler

Compiled 662 to 285 computations (56.9% saved)

regimes222.0ms (1.8%)

Counts
43 → 1
Calls
Call 1
Inputs
(*.f32 1 1)
(*.f32 1 (/.f32 (*.f32 (PI.f32) x) (*.f32 x (PI.f32))))
(*.f32 1 (/.f32 (*.f32 (PI.f32) x) (-.f32 (+.f32 1 (*.f32 (PI.f32) x)) 1)))
(*.f32 1 (/.f32 (*.f32 (PI.f32) x) (-.f32 (+.f32 1 (*.f32 (PI.f32) x)) 1)))
(*.f32 1 (/.f32 (-.f32 (+.f32 1 (*.f32 (PI.f32) x)) 1) (*.f32 x (PI.f32))))
(*.f32 1 (/.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (PI.f32)) x))
(*.f32 1 (fma.f32 -1/6 (pow.f32 (*.f32 (PI.f32) x) 2) 1))
(*.f32 1 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
(*.f32 1 (*.f32 (/.f32 1 (*.f32 (PI.f32) x)) (sin.f32 (*.f32 (PI.f32) x))))
(*.f32 1 (*.f32 (/.f32 1 x) (/.f32 (sin.f32 (*.f32 (PI.f32) x)) (PI.f32))))
(*.f32 1 (fma.f32 (pow.f32 (PI.f32) 2) (*.f32 x (*.f32 -1/6 x)) 1))
(*.f32 1 (*.f32 (/.f32 (/.f32 1 x) (PI.f32)) (sin.f32 (*.f32 x (PI.f32)))))
(*.f32 1 (*.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) x) (/.f32 1 (PI.f32))))
(*.f32 1 (*.f32 (/.f32 1 x) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (PI.f32))))
(*.f32 1 (+.f32 1 (*.f32 -1/6 (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2)))))
(*.f32 1 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (+.f32 1 (-.f32 (*.f32 (PI.f32) x) 1))))
(*.f32 1 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (-.f32 (+.f32 1 (*.f32 (PI.f32) x)) 1)))
(*.f32 1 (/.f32 (sin.f32 (-.f32 (+.f32 1 (*.f32 (PI.f32) x)) 1)) (*.f32 x (PI.f32))))
(*.f32 1 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (-.f32 (+.f32 1 (*.f32 (PI.f32) x)) 1)))
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) 1)
(*.f32 1 (/.f32 (-.f32 (+.f32 1 (sin.f32 (*.f32 x (PI.f32)))) 1) (*.f32 x (PI.f32))))
(*.f32 1 (/.f32 (*.f32 (PI.f32) x) (log.f32 (exp.f32 (*.f32 (PI.f32) x)))))
(*.f32 1 (/.f32 (*.f32 (PI.f32) x) (exp.f32 (log.f32 (*.f32 (PI.f32) x)))))
(*.f32 1 (/.f32 (exp.f32 (log.f32 (*.f32 (PI.f32) x))) (*.f32 x (PI.f32))))
(*.f32 1 (/.f32 (*.f32 (PI.f32) x) (exp.f32 (log.f32 (*.f32 (PI.f32) x)))))
(*.f32 1 (/.f32 (*.f32 (PI.f32) x) (log.f32 (pow.f32 (exp.f32 (PI.f32)) x))))
(*.f32 1 (log.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 (PI.f32) x)))))
(*.f32 1 (/.f32 (exp.f32 (log.f32 (sin.f32 (*.f32 x (PI.f32))))) (*.f32 x (PI.f32))))
(*.f32 1 (/.f32 (log.f32 (exp.f32 (sin.f32 (*.f32 x (PI.f32))))) (*.f32 x (PI.f32))))
(*.f32 1 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (exp.f32 (log.f32 (*.f32 (PI.f32) x)))))
(*.f32 1 (log.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))))
(*.f32 1 (/.f32 (sin.f32 (pow.f32 (cbrt.f32 (*.f32 (PI.f32) x)) 3)) (*.f32 x (PI.f32))))
(*.f32 1 (/.f32 (*.f32 (PI.f32) x) (*.f32 (*.f32 (PI.f32) (pow.f32 (cbrt.f32 x) 2)) (cbrt.f32 x))))
(*.f32 1 (/.f32 (*.f32 (PI.f32) x) (log.f32 (-.f32 (+.f32 1 (pow.f32 (exp.f32 (PI.f32)) x)) 1))))
(*.f32 1 (/.f32 (sin.f32 (-.f32 (+.f32 1 (*.f32 (PI.f32) x)) 1)) (exp.f32 (log.f32 (*.f32 (PI.f32) x)))))
(*.f32 1 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (exp.f32 (log.f32 (-.f32 (+.f32 1 (*.f32 (PI.f32) x)) 1)))))
(*.f32 (/.f32 (*.f32 (PI.f32) (*.f32 tau x)) (*.f32 (*.f32 x (PI.f32)) tau)) (/.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (PI.f32)) x))
(*.f32 (/.f32 (*.f32 (PI.f32) (*.f32 tau x)) (*.f32 (*.f32 x (PI.f32)) tau)) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
(*.f32 (*.f32 tau (*.f32 (PI.f32) x)) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 (*.f32 x (PI.f32)) (*.f32 (PI.f32) (*.f32 x tau)))))
(*.f32 (-.f32 (+.f32 1 (*.f32 tau (*.f32 (PI.f32) x))) 1) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 (*.f32 x (PI.f32)) (*.f32 (PI.f32) (*.f32 x tau)))))
(*.f32 1 (/.f32 (sin.f32 (log.f32 (pow.f32 (exp.f32 (PI.f32)) x))) (*.f32 x (PI.f32))))
(*.f32 1 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (log.f32 (pow.f32 (exp.f32 (PI.f32)) x))))
(*.f32 1 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (pow.f32 (exp.f32 1) (log.f32 (*.f32 (PI.f32) x)))))
Outputs
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) 1)
Calls

3 calls:

81.0ms
tau
70.0ms
x
32.0ms
(*.f32 x (PI.f32))
Results
ErrorSegmentsBranch
9.6b1x
9.6b1tau
9.6b1(*.f32 x (PI.f32))
Compiler

Compiled 575 to 257 computations (55.3% saved)

regimes49.0ms (0.4%)

Counts
19 → 1
Calls
Call 1
Inputs
(*.f32 1 1)
(*.f32 1 (/.f32 (*.f32 (PI.f32) x) (*.f32 x (PI.f32))))
(*.f32 1 (/.f32 (*.f32 (PI.f32) x) (-.f32 (+.f32 1 (*.f32 (PI.f32) x)) 1)))
(*.f32 1 (/.f32 (*.f32 (PI.f32) x) (-.f32 (+.f32 1 (*.f32 (PI.f32) x)) 1)))
(*.f32 1 (/.f32 (-.f32 (+.f32 1 (*.f32 (PI.f32) x)) 1) (*.f32 x (PI.f32))))
(*.f32 1 (/.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (PI.f32)) x))
(*.f32 1 (fma.f32 -1/6 (pow.f32 (*.f32 (PI.f32) x) 2) 1))
(*.f32 1 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
(*.f32 1 (*.f32 (/.f32 1 (*.f32 (PI.f32) x)) (sin.f32 (*.f32 (PI.f32) x))))
(*.f32 1 (*.f32 (/.f32 1 x) (/.f32 (sin.f32 (*.f32 (PI.f32) x)) (PI.f32))))
(*.f32 1 (fma.f32 (pow.f32 (PI.f32) 2) (*.f32 x (*.f32 -1/6 x)) 1))
(*.f32 1 (*.f32 (/.f32 (/.f32 1 x) (PI.f32)) (sin.f32 (*.f32 x (PI.f32)))))
(*.f32 1 (*.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) x) (/.f32 1 (PI.f32))))
(*.f32 1 (*.f32 (/.f32 1 x) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (PI.f32))))
(*.f32 1 (+.f32 1 (*.f32 -1/6 (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2)))))
(*.f32 1 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (+.f32 1 (-.f32 (*.f32 (PI.f32) x) 1))))
(*.f32 1 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (-.f32 (+.f32 1 (*.f32 (PI.f32) x)) 1)))
(*.f32 1 (/.f32 (sin.f32 (-.f32 (+.f32 1 (*.f32 (PI.f32) x)) 1)) (*.f32 x (PI.f32))))
(*.f32 1 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (-.f32 (+.f32 1 (*.f32 (PI.f32) x)) 1)))
Outputs
(*.f32 1 (fma.f32 (pow.f32 (PI.f32) 2) (*.f32 x (*.f32 -1/6 x)) 1))
Calls

4 calls:

12.0ms
(*.f32 x (PI.f32))
11.0ms
(*.f32 x (PI.f32))
11.0ms
tau
10.0ms
x
Results
ErrorSegmentsBranch
11.8b1x
11.8b1tau
11.8b1(*.f32 x (PI.f32))
11.8b1(*.f32 x (PI.f32))
Compiler

Compiled 240 to 137 computations (42.9% saved)

regimes60.0ms (0.5%)

Counts
10 → 1
Calls
Call 1
Inputs
(*.f32 1 1)
(*.f32 1 (/.f32 (*.f32 (PI.f32) x) (*.f32 x (PI.f32))))
(*.f32 1 (/.f32 (*.f32 (PI.f32) x) (-.f32 (+.f32 1 (*.f32 (PI.f32) x)) 1)))
(*.f32 1 (/.f32 (*.f32 (PI.f32) x) (-.f32 (+.f32 1 (*.f32 (PI.f32) x)) 1)))
(*.f32 1 (/.f32 (-.f32 (+.f32 1 (*.f32 (PI.f32) x)) 1) (*.f32 x (PI.f32))))
(*.f32 1 (/.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (PI.f32)) x))
(*.f32 1 (fma.f32 -1/6 (pow.f32 (*.f32 (PI.f32) x) 2) 1))
(*.f32 1 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
(*.f32 1 (*.f32 (/.f32 1 (*.f32 (PI.f32) x)) (sin.f32 (*.f32 (PI.f32) x))))
(*.f32 1 (*.f32 (/.f32 1 x) (/.f32 (sin.f32 (*.f32 (PI.f32) x)) (PI.f32))))
Outputs
(*.f32 1 (fma.f32 -1/6 (pow.f32 (*.f32 (PI.f32) x) 2) 1))
Calls

4 calls:

37.0ms
(*.f32 x (PI.f32))
7.0ms
x
7.0ms
(*.f32 x (PI.f32))
6.0ms
tau
Results
ErrorSegmentsBranch
11.8b1x
11.8b1tau
11.8b1(*.f32 x (PI.f32))
11.8b1(*.f32 x (PI.f32))
Compiler

Compiled 123 to 71 computations (42.3% saved)

regimes13.0ms (0.1%)

Counts
6 → 1
Calls
Call 1
Inputs
(*.f32 1 1)
(*.f32 1 (/.f32 (*.f32 (PI.f32) x) (*.f32 x (PI.f32))))
(*.f32 1 (/.f32 (*.f32 (PI.f32) x) (-.f32 (+.f32 1 (*.f32 (PI.f32) x)) 1)))
(*.f32 1 (/.f32 (*.f32 (PI.f32) x) (-.f32 (+.f32 1 (*.f32 (PI.f32) x)) 1)))
(*.f32 1 (/.f32 (-.f32 (+.f32 1 (*.f32 (PI.f32) x)) 1) (*.f32 x (PI.f32))))
(*.f32 1 (/.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (PI.f32)) x))
Outputs
(*.f32 1 (/.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (PI.f32)) x))
Calls

2 calls:

6.0ms
x
5.0ms
tau
Results
ErrorSegmentsBranch
11.9b1x
11.9b1tau
Compiler

Compiled 69 to 41 computations (40.6% saved)

regimes11.0ms (0.1%)

Accuracy

Total -2.7b remaining (-22.6%)

Threshold costs -2.7b (-22.6%)

Counts
5 → 1
Calls
Call 1
Inputs
(*.f32 1 1)
(*.f32 1 (/.f32 (*.f32 (PI.f32) x) (*.f32 x (PI.f32))))
(*.f32 1 (/.f32 (*.f32 (PI.f32) x) (-.f32 (+.f32 1 (*.f32 (PI.f32) x)) 1)))
(*.f32 1 (/.f32 (*.f32 (PI.f32) x) (-.f32 (+.f32 1 (*.f32 (PI.f32) x)) 1)))
(*.f32 1 (/.f32 (-.f32 (+.f32 1 (*.f32 (PI.f32) x)) 1) (*.f32 x (PI.f32))))
Outputs
(*.f32 1 1)
Calls

2 calls:

5.0ms
x
4.0ms
tau
Results
ErrorSegmentsBranch
12.1b1x
12.1b1tau
Compiler

Compiled 59 to 36 computations (39% saved)

simplify7.0ms (0.1%)

Algorithm
egg-herbie
Rules
16×*-commutative_binary32
*-lft-identity_binary32
*-rgt-identity_binary32
1-exp_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
042166
161166
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(*.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
(*.f32 (/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 (PI.f32) (*.f32 x tau))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
(*.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 (pow.f32 (*.f32 (PI.f32) x) 2) tau)))
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) 1)
(*.f32 1 (fma.f32 (pow.f32 (PI.f32) 2) (*.f32 x (*.f32 -1/6 x)) 1))
(*.f32 1 (fma.f32 -1/6 (pow.f32 (*.f32 (PI.f32) x) 2) 1))
(*.f32 1 (/.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (PI.f32)) x))
(*.f32 1 1)
Outputs
(*.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
(*.f32 (/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 (PI.f32) (*.f32 x tau))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
(*.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))) (/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 (PI.f32) (*.f32 x tau))))
(*.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 (pow.f32 (*.f32 (PI.f32) x) 2) tau)))
(*.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 tau (pow.f32 (*.f32 x (PI.f32)) 2))))
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) 1)
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 x (PI.f32))))
(*.f32 1 (fma.f32 (pow.f32 (PI.f32) 2) (*.f32 x (*.f32 -1/6 x)) 1))
(fma.f32 (pow.f32 (PI.f32) 2) (*.f32 x (*.f32 x -1/6)) 1)
(*.f32 1 (fma.f32 -1/6 (pow.f32 (*.f32 (PI.f32) x) 2) 1))
(fma.f32 -1/6 (pow.f32 (*.f32 x (PI.f32)) 2) 1)
(*.f32 1 (/.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (PI.f32)) x))
(/.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (PI.f32)) x)
(*.f32 1 1)
1
Compiler

Compiled 116 to 72 computations (37.9% saved)

soundness0.0ms (0%)

end43.0ms (0.4%)

Compiler

Compiled 102 to 39 computations (61.8% saved)

Profiling

Loading profile data...