Details

Time bar (total: 7.4s)

analyze4.0ms (0.1%)

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

Compiled 38 to 21 computations (44.7% saved)

sample2.0s (26.9%)

Results
2.0s8256×body128valid
Compiler

Compiled 76 to 42 computations (44.7% saved)

preprocess50.0ms (0.7%)

Algorithm
egg-herbie
Rules
605×rules-20_binary32
586×rules-33_binary32
381×rules-5_binary32
337×rules-5-rev_binary32
279×rules-22-rev_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01872
14072
212872
338172
4136872
5246672
6276372
7292972
8410172
022
Stop Event
saturated
node limit
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 (sin.f32 (*.f32 x (PI.f32))) (/.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (PI.f32))))
(*.f32 (sin.f32 (*.f32 x (PI.f32))) (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 (*.f32 x (PI.f32)) (*.f32 x (*.f32 (PI.f32) tau)))))
(*.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (*.f32 (*.f32 x (PI.f32)) (*.f32 (PI.f32) tau)))))
(*.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 (PI.f32) (*.f32 (PI.f32) (*.f32 x (*.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 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (/.f32 (*.f32 (PI.f32) tau) (/.f32 (sin.f32 (*.f32 (PI.f32) tau)) (*.f32 (PI.f32) tau)))))
(*.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (/.f32 (sin.f32 (*.f32 (PI.f32) tau)) (*.f32 (PI.f32) (*.f32 tau (*.f32 x (*.f32 (PI.f32) tau))))))
(*.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) tau) (/.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) tau)) x) (*.f32 (PI.f32) (*.f32 (PI.f32) tau))))
(*.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (/.f32 (sin.f32 (*.f32 (PI.f32) tau)) (*.f32 x (*.f32 tau (*.f32 (PI.f32) (*.f32 (PI.f32) tau))))))
Compiler

Compiled 23 to 10 computations (56.5% saved)

simplify39.0ms (0.5%)

Algorithm
egg-herbie
Rules
559×rules-20_binary32
332×rules-5_binary32
322×rules-33_binary32
298×rules-6_binary32
274×rules-5-rev_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01136
12236
26236
317336
464336
5149536
6187936
7249236
8335436
9456536
Stop Event
node limit
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 tau (PI.f32)))) (*.f32 x (*.f32 tau (PI.f32)))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
(*.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (*.f32 (*.f32 x (*.f32 (PI.f32) tau)) (PI.f32)))))
(*.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (*.f32 tau (*.f32 x (*.f32 (PI.f32) (PI.f32)))))))
(*.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (*.f32 x (*.f32 (*.f32 (PI.f32) (PI.f32)) tau)))))
(/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (/.f32 (*.f32 x (*.f32 (PI.f32) (PI.f32))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x tau))))
(*.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (*.f32 x (*.f32 tau (*.f32 (PI.f32) (PI.f32)))))))
(*.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (*.f32 tau (*.f32 (PI.f32) (*.f32 x (PI.f32)))))))

prune3.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
0.5b
Counts
3 → 2
Alt Table
StatusErrorProgram
0.9b
(*.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (*.f32 tau (*.f32 (PI.f32) (*.f32 x (PI.f32)))))))
0.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 x (PI.f32))))
Compiler

Compiled 136 to 64 computations (52.9% saved)

localize32.0ms (0.4%)

Local error

Found 4 expressions with local error:

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

series42.0ms (0.6%)

Counts
4 → 72
Calls

18 calls:

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

rewrite59.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
465×rules-20_binary32
226×rules-34-rev_binary32
164×rules-21_binary32
124×rules-24_binary32
122×rules-22_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01049
122849
2303649
Stop Event
node limit
Counts
4 → 165
Calls
Call 1
Inputs
(/.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)))
(sin.f32 (*.f32 (*.f32 x (PI.f32)) tau))
(*.f32 x (PI.f32))
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 0 (/.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 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 0 (neg.f32 (/.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))) (neg.f32 (*.f32 x (*.f32 (PI.f32) tau)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 0 (/.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (PI.f32))) (neg.f32 tau)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 0 (/.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) tau) (neg.f32 (*.f32 x (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 0 (/.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (cbrt.f32 (pow.f32 (*.f32 x (*.f32 (PI.f32) tau)) 2))) (-.f32 0 (cbrt.f32 (*.f32 x (*.f32 (PI.f32) tau))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 0 (/.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (sqrt.f32 (*.f32 x (*.f32 (PI.f32) tau)))) (-.f32 0 (sqrt.f32 (*.f32 x (*.f32 (PI.f32) tau))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 0 (/.f32 (/.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (PI.f32))) (cbrt.f32 (*.f32 tau tau))) (-.f32 0 (cbrt.f32 tau))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 0 (/.f32 (/.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (PI.f32))) (sqrt.f32 tau)) (-.f32 0 (sqrt.f32 tau))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 0 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (-.f32 (neg.f32 (*.f32 x (*.f32 (PI.f32) tau))) 0)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 0 (/.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (PI.f32))) (-.f32 (neg.f32 tau) 0)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 0 (/.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) tau) (-.f32 (neg.f32 (*.f32 x (PI.f32))) 0)))))) (#(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 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (fabs.f32 (/.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 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) (fabs.f32 (/.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 (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 x (*.f32 (PI.f32) tau))))))) (#(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 (cbrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) (*.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 (/.f32 (sqrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) (*.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 (/.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 neg.f32 (neg.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.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 fabs.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau))))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f32 (neg.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 (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 fma.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau))) 1 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.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)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.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)))) 0)))) (#(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 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 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 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))) 0)))) (#(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 (exp.f32 (log1p.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 0 (neg.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))) (neg.f32 (*.f32 x (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 0 (/.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) x) (neg.f32 (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 0 (/.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (PI.f32)) (neg.f32 x)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 0 (/.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (pow.f32 (cbrt.f32 (*.f32 x (PI.f32))) 2)) (-.f32 0 (cbrt.f32 (*.f32 x (PI.f32))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 0 (/.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (sqrt.f32 (*.f32 x (PI.f32)))) (-.f32 0 (sqrt.f32 (*.f32 x (PI.f32))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 0 (/.f32 (/.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) x) (pow.f32 (cbrt.f32 (PI.f32)) 2)) (-.f32 0 (cbrt.f32 (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 0 (/.f32 (/.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) x) (sqrt.f32 (PI.f32))) (-.f32 0 (sqrt.f32 (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 0 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (-.f32 (neg.f32 (*.f32 x (PI.f32))) 0)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 0 (/.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) x) (-.f32 (neg.f32 (PI.f32)) 0)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 0 (/.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (PI.f32)) (-.f32 (neg.f32 x) 0)))))) (#(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 1 (*.f32 x (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sin.f32 (*.f32 x (PI.f32))) (fabs.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 (pow.f32 (sin.f32 (*.f32 x (PI.f32))) 2)) (/.f32 (cbrt.f32 (sin.f32 (*.f32 x (PI.f32)))) (*.f32 x (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (pow.f32 (sin.f32 (*.f32 x (PI.f32))) 2)) (fabs.f32 (/.f32 (cbrt.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 (sqrt.f32 (sin.f32 (*.f32 x (PI.f32)))) (/.f32 (sqrt.f32 (sin.f32 (*.f32 x (PI.f32)))) (*.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 (/.f32 1 (*.f32 x (PI.f32))) (sin.f32 (*.f32 x (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (cbrt.f32 (sin.f32 (*.f32 x (PI.f32)))) (*.f32 x (PI.f32))) (cbrt.f32 (pow.f32 (sin.f32 (*.f32 x (PI.f32))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (sqrt.f32 (sin.f32 (*.f32 x (PI.f32)))) (*.f32 x (PI.f32))) (sqrt.f32 (sin.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))) 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 neg.f32 (neg.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (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 fabs.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f32 (neg.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32)))))))) (#(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 fma.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))) 1 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.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)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.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)))) 0)))) (#(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 expm1.f32 (log1p.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 +.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) 0)))) (#(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 (exp.f32 (log1p.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (cos.f32 0)) (*.f32 (cos.f32 (*.f32 x (*.f32 (PI.f32) tau))) (sin.f32 0)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 (cos.f32 (*.f32 x (*.f32 (PI.f32) tau))) (sin.f32 0)) (*.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (cos.f32 0)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 0 (neg.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 (*.f32 x (*.f32 (PI.f32) tau))) (cos.f32 0)) (*.f32 (cos.f32 (*.f32 x (*.f32 (PI.f32) tau))) (sin.f32 0)))))) (#(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 /.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 1 (fabs.f32 (/.f32 1 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (pow.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) 3) (pow.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (sqrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) (fabs.f32 (/.f32 1 (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 neg.f32 (neg.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 fabs.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f32 (neg.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))))))) (#(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 fma.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) 1 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (pow.f32 (cbrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) 2) (cbrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sqrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) (sqrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) 0)))) (#(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 expm1.f32 (log1p.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 +.f32 (*.f32 x (PI.f32)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (*.f32 x (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (exp.f32 (log1p.f32 (*.f32 x (PI.f32)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (*.f32 x (PI.f32)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 0 (neg.f32 (*.f32 x (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (*.f32 x (PI.f32)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 x (/.f32 1 (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 x (fabs.f32 (/.f32 1 (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (PI.f32) (/.f32 1 x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (PI.f32) (fabs.f32 (/.f32 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 x (PI.f32)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 1 (fabs.f32 (/.f32 1 (*.f32 x (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (pow.f32 (*.f32 x (PI.f32)) 3) (pow.f32 (*.f32 x (PI.f32)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (sqrt.f32 (*.f32 x (PI.f32))) (fabs.f32 (/.f32 1 (sqrt.f32 (*.f32 x (PI.f32))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 x (*.f32 0 (/.f32 1 (PI.f32)))) (/.f32 1 (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 (PI.f32) (*.f32 0 (/.f32 1 x))) (/.f32 1 x))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 x (PI.f32)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (*.f32 x (PI.f32)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (*.f32 x (PI.f32))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (*.f32 x (PI.f32))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f32 (neg.f32 (*.f32 x (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (*.f32 x (PI.f32)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f32 (*.f32 x (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f32 (neg.f32 (*.f32 x (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (pow.f32 (exp.f32 x) (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (*.f32 x (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (*.f32 x (PI.f32)) 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 fma.f32 x (PI.f32) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (PI.f32) x 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 x (PI.f32)) 1 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (pow.f32 (cbrt.f32 (*.f32 x (PI.f32))) 2) (cbrt.f32 (*.f32 x (PI.f32))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sqrt.f32 (*.f32 x (PI.f32))) (sqrt.f32 (*.f32 x (PI.f32))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (*.f32 x (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (*.f32 x (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (*.f32 x (PI.f32))))))))

simplify40.0ms (0.6%)

Algorithm
egg-herbie
Rules
855×rules-4_binary32
602×rules-11_binary32
535×rules-6_binary32
403×rules-20_binary32
163×rules-13_binary32
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0781330
12861322
213431318
Stop Event
node limit
Counts
237 → 189
Calls
Call 1
Inputs
1
(-.f32 1 (*.f32 1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (pow.f32 tau 2) (pow.f32 x 2)))))
(-.f32 (+.f32 1 (*.f32 1/120 (*.f32 (pow.f32 (PI.f32) 4) (*.f32 (pow.f32 tau 4) (pow.f32 x 4))))) (*.f32 1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (pow.f32 tau 2) (pow.f32 x 2)))))
(-.f32 (+.f32 1 (*.f32 1/120 (*.f32 (pow.f32 (PI.f32) 4) (*.f32 (pow.f32 tau 4) (pow.f32 x 4))))) (+.f32 (*.f32 1/5040 (*.f32 (pow.f32 (PI.f32) 6) (*.f32 (pow.f32 tau 6) (pow.f32 x 6)))) (*.f32 1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (pow.f32 tau 2) (pow.f32 x 2))))))
(/.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)))
(/.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)))
(/.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)))
(/.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)))
1
(-.f32 1 (*.f32 1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (pow.f32 tau 2) (pow.f32 x 2)))))
(-.f32 (+.f32 1 (*.f32 1/120 (*.f32 (pow.f32 (PI.f32) 4) (*.f32 (pow.f32 tau 4) (pow.f32 x 4))))) (*.f32 1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (pow.f32 tau 2) (pow.f32 x 2)))))
(-.f32 (+.f32 1 (*.f32 1/120 (*.f32 (pow.f32 (PI.f32) 4) (*.f32 (pow.f32 tau 4) (pow.f32 x 4))))) (+.f32 (*.f32 1/5040 (*.f32 (pow.f32 (PI.f32) 6) (*.f32 (pow.f32 tau 6) (pow.f32 x 6)))) (*.f32 1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (pow.f32 tau 2) (pow.f32 x 2))))))
(/.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)))
(/.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)))
(/.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)))
(/.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)))
1
(-.f32 1 (*.f32 1/6 (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2))))
(-.f32 (+.f32 (*.f32 1/120 (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4))) 1) (*.f32 1/6 (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2))))
(-.f32 (+.f32 (*.f32 1/120 (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4))) 1) (+.f32 (*.f32 1/5040 (*.f32 (pow.f32 (PI.f32) 6) (pow.f32 x 6))) (*.f32 1/6 (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2)))))
(/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 (PI.f32) x))
(/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 (PI.f32) x))
(/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 (PI.f32) x))
(/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 (PI.f32) x))
(/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 (PI.f32) x))
(/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 (PI.f32) x))
(/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 (PI.f32) x))
(/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 (PI.f32) x))
(*.f32 (PI.f32) (*.f32 tau x))
(-.f32 (*.f32 (PI.f32) (*.f32 tau x)) (*.f32 1/6 (*.f32 (pow.f32 (PI.f32) 3) (*.f32 (pow.f32 tau 3) (pow.f32 x 3)))))
(-.f32 (+.f32 (*.f32 1/120 (*.f32 (pow.f32 (PI.f32) 5) (*.f32 (pow.f32 tau 5) (pow.f32 x 5)))) (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 1/6 (*.f32 (pow.f32 (PI.f32) 3) (*.f32 (pow.f32 tau 3) (pow.f32 x 3)))))
(-.f32 (+.f32 (*.f32 1/120 (*.f32 (pow.f32 (PI.f32) 5) (*.f32 (pow.f32 tau 5) (pow.f32 x 5)))) (*.f32 (PI.f32) (*.f32 tau x))) (+.f32 (*.f32 1/5040 (*.f32 (pow.f32 (PI.f32) 7) (*.f32 (pow.f32 tau 7) (pow.f32 x 7)))) (*.f32 1/6 (*.f32 (pow.f32 (PI.f32) 3) (*.f32 (pow.f32 tau 3) (pow.f32 x 3))))))
(sin.f32 (*.f32 (PI.f32) (*.f32 tau x)))
(sin.f32 (*.f32 (PI.f32) (*.f32 tau x)))
(sin.f32 (*.f32 (PI.f32) (*.f32 tau x)))
(sin.f32 (*.f32 (PI.f32) (*.f32 tau x)))
(sin.f32 (*.f32 (PI.f32) (*.f32 tau x)))
(sin.f32 (*.f32 (PI.f32) (*.f32 tau x)))
(sin.f32 (*.f32 (PI.f32) (*.f32 tau x)))
(sin.f32 (*.f32 (PI.f32) (*.f32 tau x)))
(*.f32 (PI.f32) (*.f32 tau x))
(-.f32 (*.f32 (PI.f32) (*.f32 tau x)) (*.f32 1/6 (*.f32 (pow.f32 (PI.f32) 3) (*.f32 (pow.f32 tau 3) (pow.f32 x 3)))))
(-.f32 (+.f32 (*.f32 1/120 (*.f32 (pow.f32 (PI.f32) 5) (*.f32 (pow.f32 tau 5) (pow.f32 x 5)))) (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 1/6 (*.f32 (pow.f32 (PI.f32) 3) (*.f32 (pow.f32 tau 3) (pow.f32 x 3)))))
(-.f32 (+.f32 (*.f32 1/120 (*.f32 (pow.f32 (PI.f32) 5) (*.f32 (pow.f32 tau 5) (pow.f32 x 5)))) (*.f32 (PI.f32) (*.f32 tau x))) (+.f32 (*.f32 1/5040 (*.f32 (pow.f32 (PI.f32) 7) (*.f32 (pow.f32 tau 7) (pow.f32 x 7)))) (*.f32 1/6 (*.f32 (pow.f32 (PI.f32) 3) (*.f32 (pow.f32 tau 3) (pow.f32 x 3))))))
(sin.f32 (*.f32 (PI.f32) (*.f32 tau x)))
(sin.f32 (*.f32 (PI.f32) (*.f32 tau x)))
(sin.f32 (*.f32 (PI.f32) (*.f32 tau x)))
(sin.f32 (*.f32 (PI.f32) (*.f32 tau x)))
(sin.f32 (*.f32 (PI.f32) (*.f32 tau x)))
(sin.f32 (*.f32 (PI.f32) (*.f32 tau x)))
(sin.f32 (*.f32 (PI.f32) (*.f32 tau x)))
(sin.f32 (*.f32 (PI.f32) (*.f32 tau 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 (PI.f32) x)
Outputs
1
(-.f32 1 (*.f32 1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (pow.f32 tau 2) (pow.f32 x 2)))))
(-.f32 1 (*.f32 (*.f32 (*.f32 tau tau) (*.f32 x x)) (*.f32 1/6 (pow.f32 (PI.f32) 2))))
(-.f32 1 (*.f32 1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 tau (*.f32 tau (*.f32 x x))))))
(-.f32 1 (*.f32 (*.f32 tau tau) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 1/6 (*.f32 x x)))))
(-.f32 (+.f32 1 (*.f32 1/120 (*.f32 (pow.f32 (PI.f32) 4) (*.f32 (pow.f32 tau 4) (pow.f32 x 4))))) (*.f32 1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (pow.f32 tau 2) (pow.f32 x 2)))))
(-.f32 (*.f32 1/120 (*.f32 (pow.f32 x 4) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 tau 4)))) (-.f32 (*.f32 (*.f32 (*.f32 tau tau) (*.f32 x x)) (*.f32 1/6 (pow.f32 (PI.f32) 2))) 1))
(-.f32 (*.f32 1/120 (*.f32 (pow.f32 x 4) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 tau 4)))) (fma.f32 1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 tau (*.f32 tau (*.f32 x x)))) -1))
(-.f32 (*.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 tau (*.f32 tau (*.f32 x x)))) -1))
(-.f32 (+.f32 1 (*.f32 1/120 (*.f32 (pow.f32 (PI.f32) 4) (*.f32 (pow.f32 tau 4) (pow.f32 x 4))))) (+.f32 (*.f32 1/5040 (*.f32 (pow.f32 (PI.f32) 6) (*.f32 (pow.f32 tau 6) (pow.f32 x 6)))) (*.f32 1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (pow.f32 tau 2) (pow.f32 x 2))))))
(-.f32 (*.f32 1/120 (*.f32 (pow.f32 x 4) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 tau 4)))) (-.f32 (fma.f32 1/5040 (*.f32 (pow.f32 (PI.f32) 6) (*.f32 (pow.f32 tau 6) (pow.f32 x 6))) (*.f32 (*.f32 (*.f32 tau tau) (*.f32 x x)) (*.f32 1/6 (pow.f32 (PI.f32) 2)))) 1))
(-.f32 (*.f32 1/120 (fma.f32 (pow.f32 x 4) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 tau 4)) 120)) (fma.f32 1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 tau (*.f32 tau (*.f32 x x)))) (*.f32 (pow.f32 (PI.f32) 6) (*.f32 1/5040 (*.f32 (pow.f32 tau 6) (pow.f32 x 6))))))
(-.f32 (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 tau (*.f32 tau (*.f32 x x)))) (*.f32 (pow.f32 (PI.f32) 6) (*.f32 1/5040 (*.f32 (pow.f32 tau 6) (pow.f32 x 6))))))
(/.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)))
(/.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)))
(/.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)))
(/.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)))
1
(-.f32 1 (*.f32 1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (pow.f32 tau 2) (pow.f32 x 2)))))
(-.f32 1 (*.f32 (*.f32 (*.f32 tau tau) (*.f32 x x)) (*.f32 1/6 (pow.f32 (PI.f32) 2))))
(-.f32 1 (*.f32 1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 tau (*.f32 tau (*.f32 x x))))))
(-.f32 1 (*.f32 (*.f32 tau tau) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 1/6 (*.f32 x x)))))
(-.f32 (+.f32 1 (*.f32 1/120 (*.f32 (pow.f32 (PI.f32) 4) (*.f32 (pow.f32 tau 4) (pow.f32 x 4))))) (*.f32 1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (pow.f32 tau 2) (pow.f32 x 2)))))
(-.f32 (*.f32 1/120 (*.f32 (pow.f32 x 4) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 tau 4)))) (-.f32 (*.f32 (*.f32 (*.f32 tau tau) (*.f32 x x)) (*.f32 1/6 (pow.f32 (PI.f32) 2))) 1))
(-.f32 (*.f32 1/120 (*.f32 (pow.f32 x 4) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 tau 4)))) (fma.f32 1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 tau (*.f32 tau (*.f32 x x)))) -1))
(-.f32 (*.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 tau (*.f32 tau (*.f32 x x)))) -1))
(-.f32 (+.f32 1 (*.f32 1/120 (*.f32 (pow.f32 (PI.f32) 4) (*.f32 (pow.f32 tau 4) (pow.f32 x 4))))) (+.f32 (*.f32 1/5040 (*.f32 (pow.f32 (PI.f32) 6) (*.f32 (pow.f32 tau 6) (pow.f32 x 6)))) (*.f32 1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (pow.f32 tau 2) (pow.f32 x 2))))))
(-.f32 (*.f32 1/120 (*.f32 (pow.f32 x 4) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 tau 4)))) (-.f32 (fma.f32 1/5040 (*.f32 (pow.f32 (PI.f32) 6) (*.f32 (pow.f32 tau 6) (pow.f32 x 6))) (*.f32 (*.f32 (*.f32 tau tau) (*.f32 x x)) (*.f32 1/6 (pow.f32 (PI.f32) 2)))) 1))
(-.f32 (*.f32 1/120 (fma.f32 (pow.f32 x 4) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 tau 4)) 120)) (fma.f32 1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 tau (*.f32 tau (*.f32 x x)))) (*.f32 (pow.f32 (PI.f32) 6) (*.f32 1/5040 (*.f32 (pow.f32 tau 6) (pow.f32 x 6))))))
(-.f32 (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 tau (*.f32 tau (*.f32 x x)))) (*.f32 (pow.f32 (PI.f32) 6) (*.f32 1/5040 (*.f32 (pow.f32 tau 6) (pow.f32 x 6))))))
(/.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)))
(/.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)))
(/.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)))
(/.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)))
1
(-.f32 1 (*.f32 1/6 (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2))))
(-.f32 1 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (*.f32 x x) 1/6)))
(-.f32 1 (*.f32 1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 x x))))
(-.f32 1 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 1/6 (*.f32 x x))))
(-.f32 (+.f32 (*.f32 1/120 (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4))) 1) (*.f32 1/6 (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2))))
(-.f32 (fma.f32 1/120 (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4)) 1) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (*.f32 x x) 1/6)))
(-.f32 (fma.f32 (pow.f32 (PI.f32) 4) (*.f32 1/120 (pow.f32 x 4)) 1) (*.f32 1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 x x))))
(-.f32 (fma.f32 1/120 (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4)) 1) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 1/6 (*.f32 x x))))
(-.f32 (+.f32 (*.f32 1/120 (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4))) 1) (+.f32 (*.f32 1/5040 (*.f32 (pow.f32 (PI.f32) 6) (pow.f32 x 6))) (*.f32 1/6 (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2)))))
(-.f32 (fma.f32 1/120 (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4)) 1) (fma.f32 1/5040 (*.f32 (pow.f32 (PI.f32) 6) (pow.f32 x 6)) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (*.f32 x x) 1/6))))
(-.f32 (fma.f32 (pow.f32 (PI.f32) 4) (*.f32 1/120 (pow.f32 x 4)) 1) (fma.f32 1/5040 (*.f32 (pow.f32 (PI.f32) 6) (pow.f32 x 6)) (*.f32 1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 x x)))))
(-.f32 (fma.f32 1/120 (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4)) 1) (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)))))
(/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 (PI.f32) x))
(/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 (PI.f32) x))
(/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 (PI.f32) x))
(/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 (PI.f32) x))
(/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 (PI.f32) x))
(/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 (PI.f32) x))
(/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 (PI.f32) x))
(/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 (PI.f32) x))
(*.f32 (PI.f32) (*.f32 tau x))
(-.f32 (*.f32 (PI.f32) (*.f32 tau x)) (*.f32 1/6 (*.f32 (pow.f32 (PI.f32) 3) (*.f32 (pow.f32 tau 3) (pow.f32 x 3)))))
(-.f32 (*.f32 (PI.f32) (*.f32 tau x)) (*.f32 (*.f32 (pow.f32 tau 3) (pow.f32 x 3)) (*.f32 1/6 (pow.f32 (PI.f32) 3))))
(-.f32 (*.f32 (PI.f32) (*.f32 tau x)) (*.f32 (pow.f32 tau 3) (*.f32 (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3)) 1/6)))
(fma.f32 (PI.f32) (*.f32 tau x) (*.f32 (*.f32 (pow.f32 (PI.f32) 3) (*.f32 (pow.f32 tau 3) (pow.f32 x 3))) -1/6))
(-.f32 (+.f32 (*.f32 1/120 (*.f32 (pow.f32 (PI.f32) 5) (*.f32 (pow.f32 tau 5) (pow.f32 x 5)))) (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 1/6 (*.f32 (pow.f32 (PI.f32) 3) (*.f32 (pow.f32 tau 3) (pow.f32 x 3)))))
(-.f32 (fma.f32 1/120 (*.f32 (pow.f32 tau 5) (*.f32 (pow.f32 x 5) (pow.f32 (PI.f32) 5))) (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (*.f32 (pow.f32 tau 3) (pow.f32 x 3)) (*.f32 1/6 (pow.f32 (PI.f32) 3))))
(-.f32 (fma.f32 (PI.f32) (*.f32 tau x) (*.f32 (pow.f32 x 5) (*.f32 (*.f32 (pow.f32 (PI.f32) 5) (pow.f32 tau 5)) 1/120))) (*.f32 (pow.f32 tau 3) (*.f32 (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3)) 1/6)))
(-.f32 (fma.f32 1/120 (*.f32 (pow.f32 tau 5) (*.f32 (pow.f32 (PI.f32) 5) (pow.f32 x 5))) (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (*.f32 (pow.f32 tau 3) (pow.f32 x 3)) (*.f32 1/6 (pow.f32 (PI.f32) 3))))
(-.f32 (+.f32 (*.f32 1/120 (*.f32 (pow.f32 (PI.f32) 5) (*.f32 (pow.f32 tau 5) (pow.f32 x 5)))) (*.f32 (PI.f32) (*.f32 tau x))) (+.f32 (*.f32 1/5040 (*.f32 (pow.f32 (PI.f32) 7) (*.f32 (pow.f32 tau 7) (pow.f32 x 7)))) (*.f32 1/6 (*.f32 (pow.f32 (PI.f32) 3) (*.f32 (pow.f32 tau 3) (pow.f32 x 3))))))
(-.f32 (fma.f32 1/120 (*.f32 (pow.f32 tau 5) (*.f32 (pow.f32 x 5) (pow.f32 (PI.f32) 5))) (*.f32 (PI.f32) (*.f32 tau x))) (fma.f32 1/5040 (*.f32 (pow.f32 (PI.f32) 7) (*.f32 (pow.f32 tau 7) (pow.f32 x 7))) (*.f32 (*.f32 (pow.f32 tau 3) (pow.f32 x 3)) (*.f32 1/6 (pow.f32 (PI.f32) 3)))))
(-.f32 (fma.f32 (PI.f32) (*.f32 tau x) (*.f32 (pow.f32 x 5) (*.f32 (*.f32 (pow.f32 (PI.f32) 5) (pow.f32 tau 5)) 1/120))) (fma.f32 1/6 (*.f32 (pow.f32 (PI.f32) 3) (*.f32 (pow.f32 tau 3) (pow.f32 x 3))) (*.f32 (pow.f32 tau 7) (*.f32 (*.f32 (pow.f32 (PI.f32) 7) (pow.f32 x 7)) 1/5040))))
(-.f32 (fma.f32 1/120 (*.f32 (pow.f32 tau 5) (*.f32 (pow.f32 (PI.f32) 5) (pow.f32 x 5))) (*.f32 (PI.f32) (*.f32 tau x))) (fma.f32 1/6 (*.f32 (pow.f32 (PI.f32) 3) (*.f32 (pow.f32 tau 3) (pow.f32 x 3))) (*.f32 (*.f32 (pow.f32 tau 7) (pow.f32 x 7)) (*.f32 1/5040 (pow.f32 (PI.f32) 7)))))
(sin.f32 (*.f32 (PI.f32) (*.f32 tau x)))
(sin.f32 (*.f32 (PI.f32) (*.f32 tau x)))
(sin.f32 (*.f32 (PI.f32) (*.f32 tau x)))
(sin.f32 (*.f32 (PI.f32) (*.f32 tau x)))
(sin.f32 (*.f32 (PI.f32) (*.f32 tau x)))
(sin.f32 (*.f32 (PI.f32) (*.f32 tau x)))
(sin.f32 (*.f32 (PI.f32) (*.f32 tau x)))
(sin.f32 (*.f32 (PI.f32) (*.f32 tau x)))
(*.f32 (PI.f32) (*.f32 tau x))
(-.f32 (*.f32 (PI.f32) (*.f32 tau x)) (*.f32 1/6 (*.f32 (pow.f32 (PI.f32) 3) (*.f32 (pow.f32 tau 3) (pow.f32 x 3)))))
(-.f32 (*.f32 (PI.f32) (*.f32 tau x)) (*.f32 (*.f32 (pow.f32 tau 3) (pow.f32 x 3)) (*.f32 1/6 (pow.f32 (PI.f32) 3))))
(-.f32 (*.f32 (PI.f32) (*.f32 tau x)) (*.f32 (pow.f32 tau 3) (*.f32 (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3)) 1/6)))
(fma.f32 (PI.f32) (*.f32 tau x) (*.f32 (*.f32 (pow.f32 (PI.f32) 3) (*.f32 (pow.f32 tau 3) (pow.f32 x 3))) -1/6))
(-.f32 (+.f32 (*.f32 1/120 (*.f32 (pow.f32 (PI.f32) 5) (*.f32 (pow.f32 tau 5) (pow.f32 x 5)))) (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 1/6 (*.f32 (pow.f32 (PI.f32) 3) (*.f32 (pow.f32 tau 3) (pow.f32 x 3)))))
(-.f32 (fma.f32 1/120 (*.f32 (pow.f32 tau 5) (*.f32 (pow.f32 x 5) (pow.f32 (PI.f32) 5))) (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (*.f32 (pow.f32 tau 3) (pow.f32 x 3)) (*.f32 1/6 (pow.f32 (PI.f32) 3))))
(-.f32 (fma.f32 (PI.f32) (*.f32 tau x) (*.f32 (pow.f32 x 5) (*.f32 (*.f32 (pow.f32 (PI.f32) 5) (pow.f32 tau 5)) 1/120))) (*.f32 (pow.f32 tau 3) (*.f32 (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3)) 1/6)))
(-.f32 (fma.f32 1/120 (*.f32 (pow.f32 tau 5) (*.f32 (pow.f32 (PI.f32) 5) (pow.f32 x 5))) (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (*.f32 (pow.f32 tau 3) (pow.f32 x 3)) (*.f32 1/6 (pow.f32 (PI.f32) 3))))
(-.f32 (+.f32 (*.f32 1/120 (*.f32 (pow.f32 (PI.f32) 5) (*.f32 (pow.f32 tau 5) (pow.f32 x 5)))) (*.f32 (PI.f32) (*.f32 tau x))) (+.f32 (*.f32 1/5040 (*.f32 (pow.f32 (PI.f32) 7) (*.f32 (pow.f32 tau 7) (pow.f32 x 7)))) (*.f32 1/6 (*.f32 (pow.f32 (PI.f32) 3) (*.f32 (pow.f32 tau 3) (pow.f32 x 3))))))
(-.f32 (fma.f32 1/120 (*.f32 (pow.f32 tau 5) (*.f32 (pow.f32 x 5) (pow.f32 (PI.f32) 5))) (*.f32 (PI.f32) (*.f32 tau x))) (fma.f32 1/5040 (*.f32 (pow.f32 (PI.f32) 7) (*.f32 (pow.f32 tau 7) (pow.f32 x 7))) (*.f32 (*.f32 (pow.f32 tau 3) (pow.f32 x 3)) (*.f32 1/6 (pow.f32 (PI.f32) 3)))))
(-.f32 (fma.f32 (PI.f32) (*.f32 tau x) (*.f32 (pow.f32 x 5) (*.f32 (*.f32 (pow.f32 (PI.f32) 5) (pow.f32 tau 5)) 1/120))) (fma.f32 1/6 (*.f32 (pow.f32 (PI.f32) 3) (*.f32 (pow.f32 tau 3) (pow.f32 x 3))) (*.f32 (pow.f32 tau 7) (*.f32 (*.f32 (pow.f32 (PI.f32) 7) (pow.f32 x 7)) 1/5040))))
(-.f32 (fma.f32 1/120 (*.f32 (pow.f32 tau 5) (*.f32 (pow.f32 (PI.f32) 5) (pow.f32 x 5))) (*.f32 (PI.f32) (*.f32 tau x))) (fma.f32 1/6 (*.f32 (pow.f32 (PI.f32) 3) (*.f32 (pow.f32 tau 3) (pow.f32 x 3))) (*.f32 (*.f32 (pow.f32 tau 7) (pow.f32 x 7)) (*.f32 1/5040 (pow.f32 (PI.f32) 7)))))
(sin.f32 (*.f32 (PI.f32) (*.f32 tau x)))
(sin.f32 (*.f32 (PI.f32) (*.f32 tau x)))
(sin.f32 (*.f32 (PI.f32) (*.f32 tau x)))
(sin.f32 (*.f32 (PI.f32) (*.f32 tau x)))
(sin.f32 (*.f32 (PI.f32) (*.f32 tau x)))
(sin.f32 (*.f32 (PI.f32) (*.f32 tau x)))
(sin.f32 (*.f32 (PI.f32) (*.f32 tau x)))
(sin.f32 (*.f32 (PI.f32) (*.f32 tau 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 (PI.f32) x)

prune419.0ms (5.7%)

Pruning

17 alts after pruning (17 fresh and 0 done)

PrunedKeptTotal
New28416300
Fresh011
Picked101
Done000
Total28517302
Error
0.1b
Counts
302 → 17
Alt Table
StatusErrorProgram
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))))
0.7b
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (/.f32 (sin.f32 (cbrt.f32 (*.f32 (pow.f32 x 3) (pow.f32 (PI.f32) 3)))) (*.f32 x (PI.f32))))
3.8b
(*.f32 (-.f32 (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 tau (*.f32 tau (*.f32 x x)))) (*.f32 (pow.f32 (PI.f32) 6) (*.f32 1/5040 (*.f32 (pow.f32 tau 6) (pow.f32 x 6)))))) (/.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 (exp.f32 (log1p.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))) -1))
4.7b
(*.f32 (/.f32 (+.f32 (exp.f32 (log1p.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))))) -1) (*.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 0 (/.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) x) (-.f32 (neg.f32 (PI.f32)) 0))))
0.9b
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (/.f32 (sin.f32 (pow.f32 (sqrt.f32 (*.f32 x (PI.f32))) 2)) (*.f32 x (PI.f32))))
1.2b
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (-.f32 0 (/.f32 (/.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) x) (pow.f32 (cbrt.f32 (PI.f32)) 2)) (-.f32 0 (cbrt.f32 (PI.f32))))))
0.7b
(*.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))))
2.8b
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (-.f32 (fma.f32 1/120 (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4)) 1) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 1/6 (*.f32 x x)))))
1.1b
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (pow.f32 (cbrt.f32 (*.f32 x (PI.f32))) 3) 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 1 (*.f32 x (*.f32 (PI.f32) tau)))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
0.9b
(*.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (*.f32 tau (*.f32 (PI.f32) (*.f32 x (PI.f32)))))))
0.9b
(*.f32 (log.f32 (+.f32 1 (expm1.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.7b
(*.f32 (/.f32 (sin.f32 (*.f32 (expm1.f32 (log1p.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 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (cbrt.f32 (pow.f32 (*.f32 x (*.f32 (PI.f32) tau)) 2))) (-.f32 0 (cbrt.f32 (*.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))))
Compiler

Compiled 8813 to 2377 computations (73% saved)

localize38.0ms (0.5%)

Local error

Found 4 expressions with local error:

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

series38.0ms (0.5%)

Counts
3 → 16
Calls

18 calls:

TimeVariablePointExpression
7.0ms
x
@-inf
(/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (PI.f32) (*.f32 tau x)))
5.0ms
tau
@-inf
(/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (PI.f32) (*.f32 tau x)))
4.0ms
tau
@inf
(/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (PI.f32) (*.f32 tau x)))
4.0ms
x
@inf
(/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (PI.f32) (*.f32 tau x)))
3.0ms
tau
@0
(/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (PI.f32) (*.f32 tau x)))

rewrite48.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
904×rules-40_binary32
904×rules-41_binary32
904×rules-42_binary32
904×rules-43_binary32
84×add-sqr-sqrt_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0838
118638
2250738
Stop Event
node limit
Counts
3 → 94
Calls
Call 1
Inputs
(/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.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 (PI.f32) (*.f32 tau x))) (*.f32 (PI.f32) (*.f32 tau x))) 0)))) (#(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 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (PI.f32) (*.f32 tau x))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 0 (-.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 (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 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (/.f32 1 (*.f32 (PI.f32) (*.f32 tau x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.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 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (PI.f32) (*.f32 tau x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (PI.f32) (*.f32 tau x)))) (pow.f32 (cbrt.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (PI.f32) (*.f32 tau x)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (PI.f32) (*.f32 tau x)))) 2) (cbrt.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (PI.f32) (*.f32 tau x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x)))) 2) (/.f32 (cbrt.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x)))) (*.f32 (PI.f32) (*.f32 tau x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (PI.f32) (*.f32 tau x)))) (sqrt.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (PI.f32) (*.f32 tau x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x)))) (/.f32 (sqrt.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x)))) (*.f32 (PI.f32) (*.f32 tau x))))))) (#(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 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 fabs.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 (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 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) 3) (pow.f32 (*.f32 (PI.f32) (*.f32 tau x)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (PI.f32) (*.f32 tau x))) 1 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (pow.f32 (cbrt.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (PI.f32) (*.f32 tau x)))) 2) (cbrt.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (PI.f32) (*.f32 tau x)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sqrt.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (PI.f32) (*.f32 tau x)))) (sqrt.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (PI.f32) (*.f32 tau x)))) 0)))) (#(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 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 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 +.f32 (*.f32 (PI.f32) (*.f32 tau x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 (PI.f32) (*.f32 tau x)) (*.f32 (PI.f32) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 (PI.f32) (*.f32 tau x)) (*.f32 (*.f32 tau x) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (*.f32 (PI.f32) (*.f32 tau x)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (*.f32 (PI.f32) (*.f32 tau x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (*.f32 (PI.f32) (*.f32 tau x)) (*.f32 (PI.f32) 0))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (*.f32 (PI.f32) (*.f32 tau x)) (*.f32 (*.f32 tau x) 0))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 0 (-.f32 0 (*.f32 (PI.f32) (*.f32 tau x))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (*.f32 (PI.f32) (*.f32 tau x)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (PI.f32) (/.f32 1 (*.f32 tau x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 tau x) (/.f32 1 (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (PI.f32) (*.f32 tau x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (pow.f32 (*.f32 (PI.f32) (*.f32 tau x)) 3) (+.f32 (pow.f32 (*.f32 (PI.f32) (*.f32 tau x)) 2) (+.f32 0 (*.f32 (*.f32 (PI.f32) (*.f32 tau x)) 0))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (pow.f32 (*.f32 (PI.f32) (*.f32 tau x)) 3) (+.f32 (pow.f32 (*.f32 (PI.f32) (*.f32 tau x)) 2) (-.f32 0 (*.f32 (*.f32 (PI.f32) (*.f32 tau x)) 0))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 (PI.f32) (*.f32 tau x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (*.f32 (PI.f32) (*.f32 tau x)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (*.f32 (PI.f32) (*.f32 tau x))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (*.f32 (PI.f32) (*.f32 tau x))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (*.f32 (PI.f32) (*.f32 tau x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f32 (*.f32 (PI.f32) (*.f32 tau x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (pow.f32 (exp.f32 x) (*.f32 (PI.f32) tau)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (*.f32 (PI.f32) (*.f32 tau x)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (*.f32 (PI.f32) (*.f32 tau x)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 (*.f32 tau x) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (*.f32 (pow.f32 (*.f32 tau x) 3) (pow.f32 (PI.f32) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (PI.f32) (*.f32 tau x) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 tau (*.f32 (PI.f32) x) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 x (*.f32 (PI.f32) tau) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 tau x) (PI.f32) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 (PI.f32) (*.f32 tau x)) 1 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (cbrt.f32 (pow.f32 (*.f32 (PI.f32) (*.f32 tau x)) 2)) (cbrt.f32 (*.f32 (PI.f32) (*.f32 tau x))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sqrt.f32 (*.f32 (PI.f32) (*.f32 tau x))) (sqrt.f32 (*.f32 (PI.f32) (*.f32 tau x))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (*.f32 (PI.f32) (*.f32 tau x))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (*.f32 (PI.f32) (*.f32 tau x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (*.f32 (PI.f32) (*.f32 tau x))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (cos.f32 0)) (*.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 tau x))) (sin.f32 0)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 0 (-.f32 0 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (*.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (cos.f32 0)) (*.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 tau x))) (sin.f32 0)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x)))) (pow.f32 (cbrt.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x)))) 2) (cbrt.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x)))) (sqrt.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) 3) (+.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) 2) (+.f32 0 (*.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) 0))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) 3) (+.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) 2) (-.f32 0 (*.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) 0))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (exp.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) 1 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (pow.f32 (cbrt.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x)))) 2) (cbrt.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sqrt.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x)))) (sqrt.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x)))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x)))))))))

simplify28.0ms (0.4%)

Algorithm
egg-herbie
Rules
662×rules-4_binary32
460×rules-11_binary32
418×rules-6_binary32
344×rules-20_binary32
111×rules-13_binary32
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
062584
1233576
21098572
Stop Event
node limit
Counts
110 → 108
Calls
Call 1
Inputs
1
(-.f32 1 (*.f32 1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (pow.f32 tau 2) (pow.f32 x 2)))))
(-.f32 (+.f32 1 (*.f32 1/120 (*.f32 (pow.f32 (PI.f32) 4) (*.f32 (pow.f32 tau 4) (pow.f32 x 4))))) (*.f32 1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (pow.f32 tau 2) (pow.f32 x 2)))))
(-.f32 (+.f32 1 (*.f32 1/120 (*.f32 (pow.f32 (PI.f32) 4) (*.f32 (pow.f32 tau 4) (pow.f32 x 4))))) (+.f32 (*.f32 1/5040 (*.f32 (pow.f32 (PI.f32) 6) (*.f32 (pow.f32 tau 6) (pow.f32 x 6)))) (*.f32 1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (pow.f32 tau 2) (pow.f32 x 2))))))
1
(-.f32 1 (*.f32 1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (pow.f32 tau 2) (pow.f32 x 2)))))
(-.f32 (+.f32 1 (*.f32 1/120 (*.f32 (pow.f32 (PI.f32) 4) (*.f32 (pow.f32 tau 4) (pow.f32 x 4))))) (*.f32 1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (pow.f32 tau 2) (pow.f32 x 2)))))
(-.f32 (+.f32 1 (*.f32 1/120 (*.f32 (pow.f32 (PI.f32) 4) (*.f32 (pow.f32 tau 4) (pow.f32 x 4))))) (+.f32 (*.f32 1/5040 (*.f32 (pow.f32 (PI.f32) 6) (*.f32 (pow.f32 tau 6) (pow.f32 x 6)))) (*.f32 1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (pow.f32 tau 2) (pow.f32 x 2))))))
(*.f32 (PI.f32) (*.f32 tau x))
(-.f32 (*.f32 (PI.f32) (*.f32 tau x)) (*.f32 1/6 (*.f32 (pow.f32 (PI.f32) 3) (*.f32 (pow.f32 tau 3) (pow.f32 x 3)))))
(-.f32 (+.f32 (*.f32 1/120 (*.f32 (pow.f32 (PI.f32) 5) (*.f32 (pow.f32 tau 5) (pow.f32 x 5)))) (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 1/6 (*.f32 (pow.f32 (PI.f32) 3) (*.f32 (pow.f32 tau 3) (pow.f32 x 3)))))
(-.f32 (+.f32 (*.f32 1/120 (*.f32 (pow.f32 (PI.f32) 5) (*.f32 (pow.f32 tau 5) (pow.f32 x 5)))) (*.f32 (PI.f32) (*.f32 tau x))) (+.f32 (*.f32 1/5040 (*.f32 (pow.f32 (PI.f32) 7) (*.f32 (pow.f32 tau 7) (pow.f32 x 7)))) (*.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 (PI.f32) (*.f32 tau x)) (*.f32 1/6 (*.f32 (pow.f32 (PI.f32) 3) (*.f32 (pow.f32 tau 3) (pow.f32 x 3)))))
(-.f32 (+.f32 (*.f32 1/120 (*.f32 (pow.f32 (PI.f32) 5) (*.f32 (pow.f32 tau 5) (pow.f32 x 5)))) (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 1/6 (*.f32 (pow.f32 (PI.f32) 3) (*.f32 (pow.f32 tau 3) (pow.f32 x 3)))))
(-.f32 (+.f32 (*.f32 1/120 (*.f32 (pow.f32 (PI.f32) 5) (*.f32 (pow.f32 tau 5) (pow.f32 x 5)))) (*.f32 (PI.f32) (*.f32 tau x))) (+.f32 (*.f32 1/5040 (*.f32 (pow.f32 (PI.f32) 7) (*.f32 (pow.f32 tau 7) (pow.f32 x 7)))) (*.f32 1/6 (*.f32 (pow.f32 (PI.f32) 3) (*.f32 (pow.f32 tau 3) (pow.f32 x 3))))))
Outputs
1
(-.f32 1 (*.f32 1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (pow.f32 tau 2) (pow.f32 x 2)))))
(-.f32 1 (*.f32 1/6 (*.f32 (*.f32 x x) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 tau tau)))))
(-.f32 1 (*.f32 (*.f32 tau (*.f32 tau (*.f32 x x))) (*.f32 1/6 (pow.f32 (PI.f32) 2))))
(-.f32 1 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 1/6 (*.f32 tau (*.f32 tau (*.f32 x x))))))
(-.f32 (+.f32 1 (*.f32 1/120 (*.f32 (pow.f32 (PI.f32) 4) (*.f32 (pow.f32 tau 4) (pow.f32 x 4))))) (*.f32 1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (pow.f32 tau 2) (pow.f32 x 2)))))
(-.f32 (*.f32 (*.f32 (pow.f32 tau 4) (pow.f32 x 4)) (*.f32 1/120 (pow.f32 (PI.f32) 4))) (-.f32 (*.f32 1/6 (*.f32 (*.f32 x x) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 tau tau)))) 1))
(-.f32 (*.f32 1/120 (*.f32 (pow.f32 x 4) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 tau 4)))) (fma.f32 (*.f32 tau (*.f32 tau (*.f32 x x))) (*.f32 1/6 (pow.f32 (PI.f32) 2)) -1))
(-.f32 (*.f32 1/120 (*.f32 (pow.f32 x 4) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 tau 4)))) (fma.f32 1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 tau (*.f32 tau (*.f32 x x)))) -1))
(-.f32 (+.f32 1 (*.f32 1/120 (*.f32 (pow.f32 (PI.f32) 4) (*.f32 (pow.f32 tau 4) (pow.f32 x 4))))) (+.f32 (*.f32 1/5040 (*.f32 (pow.f32 (PI.f32) 6) (*.f32 (pow.f32 tau 6) (pow.f32 x 6)))) (*.f32 1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (pow.f32 tau 2) (pow.f32 x 2))))))
(-.f32 (+.f32 1 (*.f32 (*.f32 (pow.f32 tau 4) (pow.f32 x 4)) (*.f32 1/120 (pow.f32 (PI.f32) 4)))) (fma.f32 1/5040 (*.f32 (pow.f32 (PI.f32) 6) (*.f32 (pow.f32 tau 6) (pow.f32 x 6))) (*.f32 1/6 (*.f32 (*.f32 x x) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 tau tau))))))
(-.f32 (fma.f32 1/120 (*.f32 (pow.f32 x 4) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 tau 4))) 1) (fma.f32 1/5040 (*.f32 (pow.f32 (PI.f32) 6) (*.f32 (pow.f32 tau 6) (pow.f32 x 6))) (*.f32 (*.f32 tau (*.f32 tau (*.f32 x x))) (*.f32 1/6 (pow.f32 (PI.f32) 2)))))
(-.f32 (*.f32 1/120 (fma.f32 (pow.f32 x 4) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 tau 4)) 120)) (fma.f32 1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 tau (*.f32 tau (*.f32 x x)))) (*.f32 (pow.f32 x 6) (*.f32 1/5040 (*.f32 (pow.f32 (PI.f32) 6) (pow.f32 tau 6))))))
1
(-.f32 1 (*.f32 1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (pow.f32 tau 2) (pow.f32 x 2)))))
(-.f32 1 (*.f32 1/6 (*.f32 (*.f32 x x) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 tau tau)))))
(-.f32 1 (*.f32 (*.f32 tau (*.f32 tau (*.f32 x x))) (*.f32 1/6 (pow.f32 (PI.f32) 2))))
(-.f32 1 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 1/6 (*.f32 tau (*.f32 tau (*.f32 x x))))))
(-.f32 (+.f32 1 (*.f32 1/120 (*.f32 (pow.f32 (PI.f32) 4) (*.f32 (pow.f32 tau 4) (pow.f32 x 4))))) (*.f32 1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (pow.f32 tau 2) (pow.f32 x 2)))))
(-.f32 (*.f32 (*.f32 (pow.f32 tau 4) (pow.f32 x 4)) (*.f32 1/120 (pow.f32 (PI.f32) 4))) (-.f32 (*.f32 1/6 (*.f32 (*.f32 x x) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 tau tau)))) 1))
(-.f32 (*.f32 1/120 (*.f32 (pow.f32 x 4) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 tau 4)))) (fma.f32 (*.f32 tau (*.f32 tau (*.f32 x x))) (*.f32 1/6 (pow.f32 (PI.f32) 2)) -1))
(-.f32 (*.f32 1/120 (*.f32 (pow.f32 x 4) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 tau 4)))) (fma.f32 1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 tau (*.f32 tau (*.f32 x x)))) -1))
(-.f32 (+.f32 1 (*.f32 1/120 (*.f32 (pow.f32 (PI.f32) 4) (*.f32 (pow.f32 tau 4) (pow.f32 x 4))))) (+.f32 (*.f32 1/5040 (*.f32 (pow.f32 (PI.f32) 6) (*.f32 (pow.f32 tau 6) (pow.f32 x 6)))) (*.f32 1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (pow.f32 tau 2) (pow.f32 x 2))))))
(-.f32 (+.f32 1 (*.f32 (*.f32 (pow.f32 tau 4) (pow.f32 x 4)) (*.f32 1/120 (pow.f32 (PI.f32) 4)))) (fma.f32 1/5040 (*.f32 (pow.f32 (PI.f32) 6) (*.f32 (pow.f32 tau 6) (pow.f32 x 6))) (*.f32 1/6 (*.f32 (*.f32 x x) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 tau tau))))))
(-.f32 (fma.f32 1/120 (*.f32 (pow.f32 x 4) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 tau 4))) 1) (fma.f32 1/5040 (*.f32 (pow.f32 (PI.f32) 6) (*.f32 (pow.f32 tau 6) (pow.f32 x 6))) (*.f32 (*.f32 tau (*.f32 tau (*.f32 x x))) (*.f32 1/6 (pow.f32 (PI.f32) 2)))))
(-.f32 (*.f32 1/120 (fma.f32 (pow.f32 x 4) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 tau 4)) 120)) (fma.f32 1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 tau (*.f32 tau (*.f32 x x)))) (*.f32 (pow.f32 x 6) (*.f32 1/5040 (*.f32 (pow.f32 (PI.f32) 6) (pow.f32 tau 6))))))
(*.f32 (PI.f32) (*.f32 tau x))
(-.f32 (*.f32 (PI.f32) (*.f32 tau x)) (*.f32 1/6 (*.f32 (pow.f32 (PI.f32) 3) (*.f32 (pow.f32 tau 3) (pow.f32 x 3)))))
(-.f32 (*.f32 (PI.f32) (*.f32 tau x)) (*.f32 (*.f32 (pow.f32 tau 3) (pow.f32 x 3)) (*.f32 1/6 (pow.f32 (PI.f32) 3))))
(fma.f32 (PI.f32) (*.f32 tau x) (*.f32 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3))) -1/6))
(-.f32 (+.f32 (*.f32 1/120 (*.f32 (pow.f32 (PI.f32) 5) (*.f32 (pow.f32 tau 5) (pow.f32 x 5)))) (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 1/6 (*.f32 (pow.f32 (PI.f32) 3) (*.f32 (pow.f32 tau 3) (pow.f32 x 3)))))
(-.f32 (fma.f32 1/120 (*.f32 (pow.f32 (PI.f32) 5) (*.f32 (pow.f32 tau 5) (pow.f32 x 5))) (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (*.f32 (pow.f32 tau 3) (pow.f32 x 3)) (*.f32 1/6 (pow.f32 (PI.f32) 3))))
(-.f32 (fma.f32 (PI.f32) (*.f32 tau x) (*.f32 (*.f32 (pow.f32 tau 5) (pow.f32 x 5)) (*.f32 1/120 (pow.f32 (PI.f32) 5)))) (*.f32 1/6 (*.f32 (pow.f32 (PI.f32) 3) (*.f32 (pow.f32 tau 3) (pow.f32 x 3)))))
(+.f32 (*.f32 (*.f32 (pow.f32 (PI.f32) 5) (pow.f32 tau 5)) (*.f32 1/120 (pow.f32 x 5))) (fma.f32 (PI.f32) (*.f32 tau x) (*.f32 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3))) -1/6)))
(-.f32 (+.f32 (*.f32 1/120 (*.f32 (pow.f32 (PI.f32) 5) (*.f32 (pow.f32 tau 5) (pow.f32 x 5)))) (*.f32 (PI.f32) (*.f32 tau x))) (+.f32 (*.f32 1/5040 (*.f32 (pow.f32 (PI.f32) 7) (*.f32 (pow.f32 tau 7) (pow.f32 x 7)))) (*.f32 1/6 (*.f32 (pow.f32 (PI.f32) 3) (*.f32 (pow.f32 tau 3) (pow.f32 x 3))))))
(-.f32 (fma.f32 1/120 (*.f32 (pow.f32 (PI.f32) 5) (*.f32 (pow.f32 tau 5) (pow.f32 x 5))) (*.f32 (PI.f32) (*.f32 tau x))) (fma.f32 1/5040 (*.f32 (pow.f32 tau 7) (*.f32 (pow.f32 x 7) (pow.f32 (PI.f32) 7))) (*.f32 (*.f32 (pow.f32 tau 3) (pow.f32 x 3)) (*.f32 1/6 (pow.f32 (PI.f32) 3)))))
(-.f32 (fma.f32 (PI.f32) (*.f32 tau x) (*.f32 (*.f32 (pow.f32 tau 5) (pow.f32 x 5)) (*.f32 1/120 (pow.f32 (PI.f32) 5)))) (*.f32 1/6 (fma.f32 (pow.f32 (PI.f32) 3) (*.f32 (pow.f32 tau 3) (pow.f32 x 3)) (*.f32 (*.f32 (pow.f32 (PI.f32) 7) (*.f32 (pow.f32 tau 7) (pow.f32 x 7))) 1/840))))
(-.f32 (fma.f32 (PI.f32) (*.f32 tau x) (*.f32 (*.f32 (pow.f32 (PI.f32) 5) (pow.f32 tau 5)) (*.f32 1/120 (pow.f32 x 5)))) (fma.f32 1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3))) (*.f32 (pow.f32 (PI.f32) 7) (*.f32 1/5040 (*.f32 (pow.f32 tau 7) (pow.f32 x 7))))))
(*.f32 (PI.f32) (*.f32 tau x))
(-.f32 (*.f32 (PI.f32) (*.f32 tau x)) (*.f32 1/6 (*.f32 (pow.f32 (PI.f32) 3) (*.f32 (pow.f32 tau 3) (pow.f32 x 3)))))
(-.f32 (*.f32 (PI.f32) (*.f32 tau x)) (*.f32 (*.f32 (pow.f32 tau 3) (pow.f32 x 3)) (*.f32 1/6 (pow.f32 (PI.f32) 3))))
(fma.f32 (PI.f32) (*.f32 tau x) (*.f32 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3))) -1/6))
(-.f32 (+.f32 (*.f32 1/120 (*.f32 (pow.f32 (PI.f32) 5) (*.f32 (pow.f32 tau 5) (pow.f32 x 5)))) (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 1/6 (*.f32 (pow.f32 (PI.f32) 3) (*.f32 (pow.f32 tau 3) (pow.f32 x 3)))))
(-.f32 (fma.f32 1/120 (*.f32 (pow.f32 (PI.f32) 5) (*.f32 (pow.f32 tau 5) (pow.f32 x 5))) (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (*.f32 (pow.f32 tau 3) (pow.f32 x 3)) (*.f32 1/6 (pow.f32 (PI.f32) 3))))
(-.f32 (fma.f32 (PI.f32) (*.f32 tau x) (*.f32 (*.f32 (pow.f32 tau 5) (pow.f32 x 5)) (*.f32 1/120 (pow.f32 (PI.f32) 5)))) (*.f32 1/6 (*.f32 (pow.f32 (PI.f32) 3) (*.f32 (pow.f32 tau 3) (pow.f32 x 3)))))
(+.f32 (*.f32 (*.f32 (pow.f32 (PI.f32) 5) (pow.f32 tau 5)) (*.f32 1/120 (pow.f32 x 5))) (fma.f32 (PI.f32) (*.f32 tau x) (*.f32 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3))) -1/6)))
(-.f32 (+.f32 (*.f32 1/120 (*.f32 (pow.f32 (PI.f32) 5) (*.f32 (pow.f32 tau 5) (pow.f32 x 5)))) (*.f32 (PI.f32) (*.f32 tau x))) (+.f32 (*.f32 1/5040 (*.f32 (pow.f32 (PI.f32) 7) (*.f32 (pow.f32 tau 7) (pow.f32 x 7)))) (*.f32 1/6 (*.f32 (pow.f32 (PI.f32) 3) (*.f32 (pow.f32 tau 3) (pow.f32 x 3))))))
(-.f32 (fma.f32 1/120 (*.f32 (pow.f32 (PI.f32) 5) (*.f32 (pow.f32 tau 5) (pow.f32 x 5))) (*.f32 (PI.f32) (*.f32 tau x))) (fma.f32 1/5040 (*.f32 (pow.f32 tau 7) (*.f32 (pow.f32 x 7) (pow.f32 (PI.f32) 7))) (*.f32 (*.f32 (pow.f32 tau 3) (pow.f32 x 3)) (*.f32 1/6 (pow.f32 (PI.f32) 3)))))
(-.f32 (fma.f32 (PI.f32) (*.f32 tau x) (*.f32 (*.f32 (pow.f32 tau 5) (pow.f32 x 5)) (*.f32 1/120 (pow.f32 (PI.f32) 5)))) (*.f32 1/6 (fma.f32 (pow.f32 (PI.f32) 3) (*.f32 (pow.f32 tau 3) (pow.f32 x 3)) (*.f32 (*.f32 (pow.f32 (PI.f32) 7) (*.f32 (pow.f32 tau 7) (pow.f32 x 7))) 1/840))))
(-.f32 (fma.f32 (PI.f32) (*.f32 tau x) (*.f32 (*.f32 (pow.f32 (PI.f32) 5) (pow.f32 tau 5)) (*.f32 1/120 (pow.f32 x 5)))) (fma.f32 1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3))) (*.f32 (pow.f32 (PI.f32) 7) (*.f32 1/5040 (*.f32 (pow.f32 tau 7) (pow.f32 x 7))))))

prune292.0ms (4%)

Pruning

17 alts after pruning (17 fresh and 0 done)

PrunedKeptTotal
New1907197
Fresh61016
Picked101
Done000
Total19717214
Error
0.1b
Counts
214 → 17
Alt Table
StatusErrorProgram
0.7b
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (/.f32 (sin.f32 (cbrt.f32 (*.f32 (pow.f32 x 3) (pow.f32 (PI.f32) 3)))) (*.f32 x (PI.f32))))
0.7b
(*.f32 (log1p.f32 (expm1.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))))
3.8b
(*.f32 (-.f32 (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 tau (*.f32 tau (*.f32 x x)))) (*.f32 (pow.f32 (PI.f32) 6) (*.f32 1/5040 (*.f32 (pow.f32 tau 6) (pow.f32 x 6)))))) (/.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 (exp.f32 (log1p.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))) -1))
0.9b
(*.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (*.f32 tau (*.f32 (PI.f32) (*.f32 x (PI.f32)))))))
4.6b
(*.f32 (/.f32 (-.f32 (exp.f32 (log1p.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))))) 1) (*.f32 (PI.f32) (*.f32 tau x))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
0.9b
(*.f32 (-.f32 0 (/.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (cbrt.f32 (pow.f32 (*.f32 x (*.f32 (PI.f32) tau)) 2))) (-.f32 0 (cbrt.f32 (*.f32 x (*.f32 (PI.f32) tau)))))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
0.7b
(*.f32 (*.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (/.f32 1 (*.f32 (PI.f32) (*.f32 tau x)))) (/.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)) (/.f32 (sin.f32 (pow.f32 (sqrt.f32 (*.f32 x (PI.f32))) 2)) (*.f32 x (PI.f32))))
0.7b
(*.f32 (/.f32 (sin.f32 (expm1.f32 (log1p.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.7b
(*.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))))
2.8b
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (-.f32 (fma.f32 1/120 (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4)) 1) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 1/6 (*.f32 x x)))))
1.1b
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (pow.f32 (cbrt.f32 (*.f32 x (PI.f32))) 3) 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 1 (*.f32 x (*.f32 (PI.f32) tau)))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
0.8b
(*.f32 (/.f32 (sin.f32 (/.f32 (PI.f32) (/.f32 1 (*.f32 tau x)))) (*.f32 (PI.f32) (*.f32 tau x))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
0.8b
(*.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))))
1.1b
(*.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (PI.f32) (*.f32 tau x))) (-.f32 0 (/.f32 (/.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) x) (pow.f32 (cbrt.f32 (PI.f32)) 2)) (-.f32 0 (cbrt.f32 (PI.f32))))))
Compiler

Compiled 6320 to 1818 computations (71.2% saved)

localize40.0ms (0.5%)

Local error

Found 4 expressions with local error:

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

series32.0ms (0.4%)

Counts
3 → 48
Calls

15 calls:

TimeVariablePointExpression
6.0ms
x
@-inf
(*.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (/.f32 1 (*.f32 x (*.f32 (PI.f32) tau))))
5.0ms
tau
@-inf
(*.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (/.f32 1 (*.f32 x (*.f32 (PI.f32) tau))))
4.0ms
x
@inf
(*.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (/.f32 1 (*.f32 x (*.f32 (PI.f32) tau))))
4.0ms
tau
@inf
(*.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (/.f32 1 (*.f32 x (*.f32 (PI.f32) tau))))
3.0ms
x
@0
(*.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (/.f32 1 (*.f32 x (*.f32 (PI.f32) tau))))

rewrite55.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
490×rules-20_binary32
219×rules-34-rev_binary32
156×rules-21_binary32
130×rules-24_binary32
129×rules-22_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01035
122935
2300435
Stop Event
node limit
Counts
3 → 141
Calls
Call 1
Inputs
(*.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (/.f32 1 (*.f32 x (*.f32 (PI.f32) tau))))
(sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))
(*.f32 (PI.f32) tau)
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 0 (/.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 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 0 (neg.f32 (/.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))) (neg.f32 (*.f32 x (*.f32 (PI.f32) tau)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 0 (/.f32 1 (-.f32 0 (/.f32 (*.f32 x (*.f32 (PI.f32) tau)) (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 0 (/.f32 (-.f32 1 (*.f32 0 (/.f32 (*.f32 x (*.f32 (PI.f32) tau)) (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))))) (-.f32 0 (/.f32 (*.f32 x (*.f32 (PI.f32) tau)) (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 0 (/.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) x) (neg.f32 (*.f32 (PI.f32) tau))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 0 (/.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (PI.f32)) (-.f32 0 (*.f32 x tau))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 0 (/.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) tau) (-.f32 0 (*.f32 x (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 0 (/.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 (PI.f32) tau)) (neg.f32 x)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 0 (/.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (cbrt.f32 (pow.f32 (*.f32 x (*.f32 (PI.f32) tau)) 2))) (-.f32 0 (cbrt.f32 (*.f32 x (*.f32 (PI.f32) tau))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 0 (/.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (sqrt.f32 (*.f32 x (*.f32 (PI.f32) tau)))) (-.f32 0 (sqrt.f32 (*.f32 x (*.f32 (PI.f32) tau))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 0 (/.f32 (*.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (/.f32 1 x)) (neg.f32 (*.f32 (PI.f32) tau))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 0 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (-.f32 (neg.f32 (*.f32 x (*.f32 (PI.f32) tau))) 0)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 0 (/.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) x) (-.f32 (neg.f32 (*.f32 (PI.f32) tau)) 0)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 0 (/.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 (PI.f32) tau)) (-.f32 (neg.f32 x) 0)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 0 (/.f32 (*.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (/.f32 1 x)) (-.f32 (neg.f32 (*.f32 (PI.f32) tau)) 0)))))) (#(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 x (*.f32 (PI.f32) tau)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 1 (/.f32 (*.f32 x (*.f32 (PI.f32) tau)) (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (/.f32 (/.f32 1 x) (*.f32 (PI.f32) tau)) (/.f32 1 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (/.f32 (/.f32 1 x) (*.f32 (PI.f32) tau)) (fabs.f32 (/.f32 1 (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 (*.f32 (PI.f32) tau))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (pow.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau))) 3) (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 (sqrt.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau)))) (fabs.f32 (/.f32 1 (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 (/.f32 1 x) (/.f32 (*.f32 (PI.f32) tau) (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 1 (*.f32 0 (/.f32 (*.f32 x (*.f32 (PI.f32) tau)) (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))))) (/.f32 (*.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 (PI.f32) tau))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (PI.f32)) (*.f32 x tau))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) tau) (*.f32 x (PI.f32)))))) (#(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 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (cbrt.f32 (pow.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))) (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))) (/.f32 1 x)) (*.f32 (PI.f32) tau))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (fabs.f32 (-.f32 1 (*.f32 0 (/.f32 (*.f32 x (*.f32 (PI.f32) tau)) (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))))))) (/.f32 (*.f32 x (*.f32 (PI.f32) tau)) (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (fabs.f32 (*.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (/.f32 1 x))) (*.f32 (PI.f32) tau))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 (/.f32 (/.f32 1 x) (*.f32 (PI.f32) tau)) (*.f32 0 (/.f32 1 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))))) (/.f32 1 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 (/.f32 1 x) (*.f32 0 (/.f32 (*.f32 (PI.f32) tau) (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))))) (/.f32 (*.f32 (PI.f32) tau) (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 (-.f32 1 (*.f32 0 (/.f32 (*.f32 x (*.f32 (PI.f32) tau)) (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))))) (*.f32 0 (/.f32 (*.f32 x (*.f32 (PI.f32) tau)) (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))))) (/.f32 (*.f32 x (*.f32 (PI.f32) tau)) (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) x) 0) (*.f32 (PI.f32) tau))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (PI.f32)) (*.f32 0 (*.f32 x tau))) (*.f32 x tau))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) tau) (*.f32 0 (*.f32 x (PI.f32)))) (*.f32 x (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 (PI.f32) tau)) 0) x)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (cbrt.f32 (pow.f32 (*.f32 x (*.f32 (PI.f32) tau)) 2))) (*.f32 0 (cbrt.f32 (*.f32 x (*.f32 (PI.f32) tau))))) (cbrt.f32 (*.f32 x (*.f32 (PI.f32) tau))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (sqrt.f32 (*.f32 x (*.f32 (PI.f32) tau)))) (*.f32 0 (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 (*.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (/.f32 1 x)) 0) (*.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))) 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 (neg.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.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 fabs.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau))))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f32 (neg.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 (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 cbrt.f32 (*.f32 (/.f32 1 (pow.f32 (*.f32 x (*.f32 (PI.f32) tau)) 3)) (pow.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (/.f32 (/.f32 1 x) (*.f32 (PI.f32) tau)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (/.f32 (/.f32 1 x) (*.f32 (PI.f32) tau)) (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau))) 1 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.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)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.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)))) 0)))) (#(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 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 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 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) 0)))) (#(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 (exp.f32 (log1p.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (cos.f32 0)) (*.f32 (cos.f32 (*.f32 x (*.f32 (PI.f32) tau))) (sin.f32 0)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 (cos.f32 (*.f32 x (*.f32 (PI.f32) tau))) (sin.f32 0)) (*.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (cos.f32 0)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 0 (neg.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 (*.f32 x (*.f32 (PI.f32) tau))) (cos.f32 0)) (*.f32 (cos.f32 (*.f32 x (*.f32 (PI.f32) tau))) (sin.f32 0)))))) (#(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 /.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 1 (fabs.f32 (/.f32 1 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (pow.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) 3) (pow.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (sqrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) (fabs.f32 (/.f32 1 (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 neg.f32 (neg.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 fabs.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f32 (neg.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))))))) (#(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 fma.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) 1 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (pow.f32 (cbrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) 2) (cbrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sqrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) (sqrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) 0)))) (#(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 expm1.f32 (log1p.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 +.f32 (*.f32 (PI.f32) tau) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (*.f32 (PI.f32) tau))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (exp.f32 (log1p.f32 (*.f32 (PI.f32) tau))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (*.f32 (PI.f32) tau) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 0 (neg.f32 (*.f32 (PI.f32) tau)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (*.f32 (PI.f32) tau))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (PI.f32) (/.f32 1 tau))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (PI.f32) (fabs.f32 (/.f32 1 tau)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 tau (/.f32 1 (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 tau (fabs.f32 (/.f32 1 (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 (PI.f32) tau) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 1 (fabs.f32 (/.f32 1 (*.f32 (PI.f32) tau))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (pow.f32 (*.f32 (PI.f32) tau) 3) (pow.f32 (*.f32 (PI.f32) tau) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (sqrt.f32 (*.f32 (PI.f32) tau)) (fabs.f32 (/.f32 1 (sqrt.f32 (*.f32 (PI.f32) tau)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 (PI.f32) (*.f32 0 (/.f32 1 tau))) (/.f32 1 tau))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 tau (*.f32 0 (/.f32 1 (PI.f32)))) (/.f32 1 (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 (PI.f32) tau) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (*.f32 (PI.f32) tau) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (cbrt.f32 (*.f32 (PI.f32) tau)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (*.f32 (PI.f32) tau)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f32 (neg.f32 (*.f32 (PI.f32) tau)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (*.f32 (PI.f32) tau) 2))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f32 (*.f32 (PI.f32) tau))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f32 (neg.f32 (*.f32 (PI.f32) tau)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (pow.f32 (exp.f32 (PI.f32)) tau))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (*.f32 (PI.f32) tau))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (*.f32 (PI.f32) tau) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 tau 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (PI.f32) tau 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 tau (PI.f32) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 (PI.f32) tau) 1 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (pow.f32 (cbrt.f32 (*.f32 (PI.f32) tau)) 2) (cbrt.f32 (*.f32 (PI.f32) tau)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sqrt.f32 (*.f32 (PI.f32) tau)) (sqrt.f32 (*.f32 (PI.f32) tau)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (*.f32 (PI.f32) tau)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (*.f32 (PI.f32) tau)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (*.f32 (PI.f32) tau)))))))

simplify36.0ms (0.5%)

Algorithm
egg-herbie
Rules
662×rules-4_binary32
460×rules-11_binary32
442×rules-6_binary32
348×rules-20_binary32
111×rules-13_binary32
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0641064
12371056
211121052
Stop Event
node limit
Counts
189 → 160
Calls
Call 1
Inputs
1
(-.f32 1 (*.f32 1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (pow.f32 tau 2) (pow.f32 x 2)))))
(-.f32 (+.f32 1 (*.f32 1/120 (*.f32 (pow.f32 (PI.f32) 4) (*.f32 (pow.f32 tau 4) (pow.f32 x 4))))) (*.f32 1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (pow.f32 tau 2) (pow.f32 x 2)))))
(-.f32 (+.f32 1 (*.f32 1/120 (*.f32 (pow.f32 (PI.f32) 4) (*.f32 (pow.f32 tau 4) (pow.f32 x 4))))) (+.f32 (*.f32 1/5040 (*.f32 (pow.f32 (PI.f32) 6) (*.f32 (pow.f32 tau 6) (pow.f32 x 6)))) (*.f32 1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (pow.f32 tau 2) (pow.f32 x 2))))))
(/.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)))
(/.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)))
(/.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)))
(/.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)))
1
(-.f32 1 (*.f32 1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (pow.f32 tau 2) (pow.f32 x 2)))))
(-.f32 (+.f32 1 (*.f32 1/120 (*.f32 (pow.f32 (PI.f32) 4) (*.f32 (pow.f32 tau 4) (pow.f32 x 4))))) (*.f32 1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (pow.f32 tau 2) (pow.f32 x 2)))))
(-.f32 (+.f32 1 (*.f32 1/120 (*.f32 (pow.f32 (PI.f32) 4) (*.f32 (pow.f32 tau 4) (pow.f32 x 4))))) (+.f32 (*.f32 1/5040 (*.f32 (pow.f32 (PI.f32) 6) (*.f32 (pow.f32 tau 6) (pow.f32 x 6)))) (*.f32 1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (pow.f32 tau 2) (pow.f32 x 2))))))
(/.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)))
(/.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)))
(/.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)))
(/.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)))
(*.f32 (PI.f32) (*.f32 tau x))
(-.f32 (*.f32 (PI.f32) (*.f32 tau x)) (*.f32 1/6 (*.f32 (pow.f32 (PI.f32) 3) (*.f32 (pow.f32 tau 3) (pow.f32 x 3)))))
(-.f32 (+.f32 (*.f32 1/120 (*.f32 (pow.f32 (PI.f32) 5) (*.f32 (pow.f32 tau 5) (pow.f32 x 5)))) (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 1/6 (*.f32 (pow.f32 (PI.f32) 3) (*.f32 (pow.f32 tau 3) (pow.f32 x 3)))))
(-.f32 (+.f32 (*.f32 1/120 (*.f32 (pow.f32 (PI.f32) 5) (*.f32 (pow.f32 tau 5) (pow.f32 x 5)))) (*.f32 (PI.f32) (*.f32 tau x))) (+.f32 (*.f32 1/5040 (*.f32 (pow.f32 (PI.f32) 7) (*.f32 (pow.f32 tau 7) (pow.f32 x 7)))) (*.f32 1/6 (*.f32 (pow.f32 (PI.f32) 3) (*.f32 (pow.f32 tau 3) (pow.f32 x 3))))))
(sin.f32 (*.f32 (PI.f32) (*.f32 tau x)))
(sin.f32 (*.f32 (PI.f32) (*.f32 tau x)))
(sin.f32 (*.f32 (PI.f32) (*.f32 tau x)))
(sin.f32 (*.f32 (PI.f32) (*.f32 tau x)))
(sin.f32 (*.f32 (PI.f32) (*.f32 tau x)))
(sin.f32 (*.f32 (PI.f32) (*.f32 tau x)))
(sin.f32 (*.f32 (PI.f32) (*.f32 tau x)))
(sin.f32 (*.f32 (PI.f32) (*.f32 tau x)))
(*.f32 (PI.f32) (*.f32 tau x))
(-.f32 (*.f32 (PI.f32) (*.f32 tau x)) (*.f32 1/6 (*.f32 (pow.f32 (PI.f32) 3) (*.f32 (pow.f32 tau 3) (pow.f32 x 3)))))
(-.f32 (+.f32 (*.f32 1/120 (*.f32 (pow.f32 (PI.f32) 5) (*.f32 (pow.f32 tau 5) (pow.f32 x 5)))) (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 1/6 (*.f32 (pow.f32 (PI.f32) 3) (*.f32 (pow.f32 tau 3) (pow.f32 x 3)))))
(-.f32 (+.f32 (*.f32 1/120 (*.f32 (pow.f32 (PI.f32) 5) (*.f32 (pow.f32 tau 5) (pow.f32 x 5)))) (*.f32 (PI.f32) (*.f32 tau x))) (+.f32 (*.f32 1/5040 (*.f32 (pow.f32 (PI.f32) 7) (*.f32 (pow.f32 tau 7) (pow.f32 x 7)))) (*.f32 1/6 (*.f32 (pow.f32 (PI.f32) 3) (*.f32 (pow.f32 tau 3) (pow.f32 x 3))))))
(sin.f32 (*.f32 (PI.f32) (*.f32 tau x)))
(sin.f32 (*.f32 (PI.f32) (*.f32 tau x)))
(sin.f32 (*.f32 (PI.f32) (*.f32 tau x)))
(sin.f32 (*.f32 (PI.f32) (*.f32 tau x)))
(sin.f32 (*.f32 (PI.f32) (*.f32 tau x)))
(sin.f32 (*.f32 (PI.f32) (*.f32 tau x)))
(sin.f32 (*.f32 (PI.f32) (*.f32 tau x)))
(sin.f32 (*.f32 (PI.f32) (*.f32 tau x)))
Outputs
1
(-.f32 1 (*.f32 1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (pow.f32 tau 2) (pow.f32 x 2)))))
(-.f32 1 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (*.f32 (*.f32 tau tau) (*.f32 x x)) 1/6)))
(-.f32 1 (*.f32 1/6 (*.f32 (*.f32 tau tau) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 x x)))))
(-.f32 1 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 1/6 (*.f32 tau (*.f32 tau (*.f32 x x))))))
(-.f32 (+.f32 1 (*.f32 1/120 (*.f32 (pow.f32 (PI.f32) 4) (*.f32 (pow.f32 tau 4) (pow.f32 x 4))))) (*.f32 1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (pow.f32 tau 2) (pow.f32 x 2)))))
(-.f32 (*.f32 (*.f32 (pow.f32 tau 4) (pow.f32 x 4)) (*.f32 1/120 (pow.f32 (PI.f32) 4))) (-.f32 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (*.f32 (*.f32 tau tau) (*.f32 x x)) 1/6)) 1))
(-.f32 (*.f32 (pow.f32 (PI.f32) 4) (*.f32 1/120 (*.f32 (pow.f32 tau 4) (pow.f32 x 4)))) (fma.f32 1/6 (*.f32 (*.f32 tau tau) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 x x))) -1))
(-.f32 (*.f32 (pow.f32 x 4) (*.f32 1/120 (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 tau 4)))) (fma.f32 (*.f32 tau (*.f32 tau (*.f32 x x))) (*.f32 1/6 (pow.f32 (PI.f32) 2)) -1))
(-.f32 (+.f32 1 (*.f32 1/120 (*.f32 (pow.f32 (PI.f32) 4) (*.f32 (pow.f32 tau 4) (pow.f32 x 4))))) (+.f32 (*.f32 1/5040 (*.f32 (pow.f32 (PI.f32) 6) (*.f32 (pow.f32 tau 6) (pow.f32 x 6)))) (*.f32 1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (pow.f32 tau 2) (pow.f32 x 2))))))
(-.f32 (+.f32 1 (*.f32 (*.f32 (pow.f32 tau 4) (pow.f32 x 4)) (*.f32 1/120 (pow.f32 (PI.f32) 4)))) (fma.f32 1/5040 (*.f32 (pow.f32 tau 6) (*.f32 (pow.f32 x 6) (pow.f32 (PI.f32) 6))) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (*.f32 (*.f32 tau tau) (*.f32 x x)) 1/6))))
(-.f32 (*.f32 (pow.f32 (PI.f32) 4) (*.f32 1/120 (*.f32 (pow.f32 tau 4) (pow.f32 x 4)))) (fma.f32 1/6 (fma.f32 (pow.f32 (PI.f32) 2) (*.f32 tau (*.f32 (*.f32 x x) tau)) (*.f32 (*.f32 (pow.f32 (PI.f32) 6) (*.f32 (pow.f32 tau 6) (pow.f32 x 6))) 1/840)) -1))
(-.f32 (*.f32 (pow.f32 x 4) (*.f32 1/120 (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 tau 4)))) (fma.f32 1/6 (fma.f32 (pow.f32 (PI.f32) 2) (*.f32 tau (*.f32 tau (*.f32 x x))) (*.f32 (*.f32 (pow.f32 tau 6) (pow.f32 x 6)) (*.f32 (pow.f32 (PI.f32) 6) 1/840))) -1))
(/.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 (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 (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 (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 (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 (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 (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 (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)))
1
(-.f32 1 (*.f32 1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (pow.f32 tau 2) (pow.f32 x 2)))))
(-.f32 1 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (*.f32 (*.f32 tau tau) (*.f32 x x)) 1/6)))
(-.f32 1 (*.f32 1/6 (*.f32 (*.f32 tau tau) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 x x)))))
(-.f32 1 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 1/6 (*.f32 tau (*.f32 tau (*.f32 x x))))))
(-.f32 (+.f32 1 (*.f32 1/120 (*.f32 (pow.f32 (PI.f32) 4) (*.f32 (pow.f32 tau 4) (pow.f32 x 4))))) (*.f32 1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (pow.f32 tau 2) (pow.f32 x 2)))))
(-.f32 (*.f32 (*.f32 (pow.f32 tau 4) (pow.f32 x 4)) (*.f32 1/120 (pow.f32 (PI.f32) 4))) (-.f32 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (*.f32 (*.f32 tau tau) (*.f32 x x)) 1/6)) 1))
(-.f32 (*.f32 (pow.f32 (PI.f32) 4) (*.f32 1/120 (*.f32 (pow.f32 tau 4) (pow.f32 x 4)))) (fma.f32 1/6 (*.f32 (*.f32 tau tau) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 x x))) -1))
(-.f32 (*.f32 (pow.f32 x 4) (*.f32 1/120 (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 tau 4)))) (fma.f32 (*.f32 tau (*.f32 tau (*.f32 x x))) (*.f32 1/6 (pow.f32 (PI.f32) 2)) -1))
(-.f32 (+.f32 1 (*.f32 1/120 (*.f32 (pow.f32 (PI.f32) 4) (*.f32 (pow.f32 tau 4) (pow.f32 x 4))))) (+.f32 (*.f32 1/5040 (*.f32 (pow.f32 (PI.f32) 6) (*.f32 (pow.f32 tau 6) (pow.f32 x 6)))) (*.f32 1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (pow.f32 tau 2) (pow.f32 x 2))))))
(-.f32 (+.f32 1 (*.f32 (*.f32 (pow.f32 tau 4) (pow.f32 x 4)) (*.f32 1/120 (pow.f32 (PI.f32) 4)))) (fma.f32 1/5040 (*.f32 (pow.f32 tau 6) (*.f32 (pow.f32 x 6) (pow.f32 (PI.f32) 6))) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (*.f32 (*.f32 tau tau) (*.f32 x x)) 1/6))))
(-.f32 (*.f32 (pow.f32 (PI.f32) 4) (*.f32 1/120 (*.f32 (pow.f32 tau 4) (pow.f32 x 4)))) (fma.f32 1/6 (fma.f32 (pow.f32 (PI.f32) 2) (*.f32 tau (*.f32 (*.f32 x x) tau)) (*.f32 (*.f32 (pow.f32 (PI.f32) 6) (*.f32 (pow.f32 tau 6) (pow.f32 x 6))) 1/840)) -1))
(-.f32 (*.f32 (pow.f32 x 4) (*.f32 1/120 (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 tau 4)))) (fma.f32 1/6 (fma.f32 (pow.f32 (PI.f32) 2) (*.f32 tau (*.f32 tau (*.f32 x x))) (*.f32 (*.f32 (pow.f32 tau 6) (pow.f32 x 6)) (*.f32 (pow.f32 (PI.f32) 6) 1/840))) -1))
(/.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 (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 (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 (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 (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 (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 (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 (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 (PI.f32) (*.f32 tau x))
(*.f32 tau (*.f32 (PI.f32) x))
(-.f32 (*.f32 (PI.f32) (*.f32 tau x)) (*.f32 1/6 (*.f32 (pow.f32 (PI.f32) 3) (*.f32 (pow.f32 tau 3) (pow.f32 x 3)))))
(-.f32 (*.f32 (PI.f32) (*.f32 tau x)) (*.f32 (pow.f32 tau 3) (*.f32 (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3)) 1/6)))
(fma.f32 (PI.f32) (*.f32 tau x) (*.f32 (*.f32 (pow.f32 (PI.f32) 3) (*.f32 (pow.f32 tau 3) (pow.f32 x 3))) -1/6))
(-.f32 (+.f32 (*.f32 1/120 (*.f32 (pow.f32 (PI.f32) 5) (*.f32 (pow.f32 tau 5) (pow.f32 x 5)))) (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 1/6 (*.f32 (pow.f32 (PI.f32) 3) (*.f32 (pow.f32 tau 3) (pow.f32 x 3)))))
(-.f32 (fma.f32 1/120 (*.f32 (pow.f32 (PI.f32) 5) (*.f32 (pow.f32 tau 5) (pow.f32 x 5))) (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 1/6 (*.f32 (pow.f32 (PI.f32) 3) (*.f32 (pow.f32 tau 3) (pow.f32 x 3)))))
(-.f32 (fma.f32 1/120 (*.f32 (pow.f32 tau 5) (*.f32 (pow.f32 (PI.f32) 5) (pow.f32 x 5))) (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (pow.f32 tau 3) (*.f32 (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3)) 1/6)))
(+.f32 (*.f32 (pow.f32 tau 5) (*.f32 1/120 (*.f32 (pow.f32 (PI.f32) 5) (pow.f32 x 5)))) (fma.f32 (PI.f32) (*.f32 tau x) (*.f32 (*.f32 (pow.f32 (PI.f32) 3) (*.f32 (pow.f32 tau 3) (pow.f32 x 3))) -1/6)))
(-.f32 (+.f32 (*.f32 1/120 (*.f32 (pow.f32 (PI.f32) 5) (*.f32 (pow.f32 tau 5) (pow.f32 x 5)))) (*.f32 (PI.f32) (*.f32 tau x))) (+.f32 (*.f32 1/5040 (*.f32 (pow.f32 (PI.f32) 7) (*.f32 (pow.f32 tau 7) (pow.f32 x 7)))) (*.f32 1/6 (*.f32 (pow.f32 (PI.f32) 3) (*.f32 (pow.f32 tau 3) (pow.f32 x 3))))))
(-.f32 (fma.f32 1/120 (*.f32 (pow.f32 (PI.f32) 5) (*.f32 (pow.f32 tau 5) (pow.f32 x 5))) (*.f32 (PI.f32) (*.f32 tau x))) (fma.f32 1/5040 (*.f32 (pow.f32 (PI.f32) 7) (*.f32 (pow.f32 tau 7) (pow.f32 x 7))) (*.f32 1/6 (*.f32 (pow.f32 (PI.f32) 3) (*.f32 (pow.f32 tau 3) (pow.f32 x 3))))))
(-.f32 (fma.f32 1/120 (*.f32 (pow.f32 tau 5) (*.f32 (pow.f32 (PI.f32) 5) (pow.f32 x 5))) (*.f32 (PI.f32) (*.f32 tau x))) (fma.f32 1/6 (*.f32 (pow.f32 (PI.f32) 3) (*.f32 (pow.f32 tau 3) (pow.f32 x 3))) (*.f32 (pow.f32 tau 7) (*.f32 (*.f32 (pow.f32 (PI.f32) 7) (pow.f32 x 7)) 1/5040))))
(-.f32 (fma.f32 (PI.f32) (*.f32 tau x) (*.f32 (pow.f32 tau 5) (*.f32 1/120 (*.f32 (pow.f32 (PI.f32) 5) (pow.f32 x 5))))) (*.f32 1/6 (fma.f32 (pow.f32 (PI.f32) 3) (*.f32 (pow.f32 tau 3) (pow.f32 x 3)) (*.f32 (*.f32 (pow.f32 tau 7) (pow.f32 x 7)) (*.f32 (pow.f32 (PI.f32) 7) 1/840)))))
(sin.f32 (*.f32 (PI.f32) (*.f32 tau 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 (PI.f32) (*.f32 tau 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 (PI.f32) (*.f32 tau 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 (PI.f32) (*.f32 tau 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)))
(*.f32 (PI.f32) (*.f32 tau x))
(*.f32 tau (*.f32 (PI.f32) x))
(-.f32 (*.f32 (PI.f32) (*.f32 tau x)) (*.f32 1/6 (*.f32 (pow.f32 (PI.f32) 3) (*.f32 (pow.f32 tau 3) (pow.f32 x 3)))))
(-.f32 (*.f32 (PI.f32) (*.f32 tau x)) (*.f32 (pow.f32 tau 3) (*.f32 (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3)) 1/6)))
(fma.f32 (PI.f32) (*.f32 tau x) (*.f32 (*.f32 (pow.f32 (PI.f32) 3) (*.f32 (pow.f32 tau 3) (pow.f32 x 3))) -1/6))
(-.f32 (+.f32 (*.f32 1/120 (*.f32 (pow.f32 (PI.f32) 5) (*.f32 (pow.f32 tau 5) (pow.f32 x 5)))) (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 1/6 (*.f32 (pow.f32 (PI.f32) 3) (*.f32 (pow.f32 tau 3) (pow.f32 x 3)))))
(-.f32 (fma.f32 1/120 (*.f32 (pow.f32 (PI.f32) 5) (*.f32 (pow.f32 tau 5) (pow.f32 x 5))) (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 1/6 (*.f32 (pow.f32 (PI.f32) 3) (*.f32 (pow.f32 tau 3) (pow.f32 x 3)))))
(-.f32 (fma.f32 1/120 (*.f32 (pow.f32 tau 5) (*.f32 (pow.f32 (PI.f32) 5) (pow.f32 x 5))) (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (pow.f32 tau 3) (*.f32 (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3)) 1/6)))
(+.f32 (*.f32 (pow.f32 tau 5) (*.f32 1/120 (*.f32 (pow.f32 (PI.f32) 5) (pow.f32 x 5)))) (fma.f32 (PI.f32) (*.f32 tau x) (*.f32 (*.f32 (pow.f32 (PI.f32) 3) (*.f32 (pow.f32 tau 3) (pow.f32 x 3))) -1/6)))
(-.f32 (+.f32 (*.f32 1/120 (*.f32 (pow.f32 (PI.f32) 5) (*.f32 (pow.f32 tau 5) (pow.f32 x 5)))) (*.f32 (PI.f32) (*.f32 tau x))) (+.f32 (*.f32 1/5040 (*.f32 (pow.f32 (PI.f32) 7) (*.f32 (pow.f32 tau 7) (pow.f32 x 7)))) (*.f32 1/6 (*.f32 (pow.f32 (PI.f32) 3) (*.f32 (pow.f32 tau 3) (pow.f32 x 3))))))
(-.f32 (fma.f32 1/120 (*.f32 (pow.f32 (PI.f32) 5) (*.f32 (pow.f32 tau 5) (pow.f32 x 5))) (*.f32 (PI.f32) (*.f32 tau x))) (fma.f32 1/5040 (*.f32 (pow.f32 (PI.f32) 7) (*.f32 (pow.f32 tau 7) (pow.f32 x 7))) (*.f32 1/6 (*.f32 (pow.f32 (PI.f32) 3) (*.f32 (pow.f32 tau 3) (pow.f32 x 3))))))
(-.f32 (fma.f32 1/120 (*.f32 (pow.f32 tau 5) (*.f32 (pow.f32 (PI.f32) 5) (pow.f32 x 5))) (*.f32 (PI.f32) (*.f32 tau x))) (fma.f32 1/6 (*.f32 (pow.f32 (PI.f32) 3) (*.f32 (pow.f32 tau 3) (pow.f32 x 3))) (*.f32 (pow.f32 tau 7) (*.f32 (*.f32 (pow.f32 (PI.f32) 7) (pow.f32 x 7)) 1/5040))))
(-.f32 (fma.f32 (PI.f32) (*.f32 tau x) (*.f32 (pow.f32 tau 5) (*.f32 1/120 (*.f32 (pow.f32 (PI.f32) 5) (pow.f32 x 5))))) (*.f32 1/6 (fma.f32 (pow.f32 (PI.f32) 3) (*.f32 (pow.f32 tau 3) (pow.f32 x 3)) (*.f32 (*.f32 (pow.f32 tau 7) (pow.f32 x 7)) (*.f32 (pow.f32 (PI.f32) 7) 1/840)))))
(sin.f32 (*.f32 (PI.f32) (*.f32 tau 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 (PI.f32) (*.f32 tau 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 (PI.f32) (*.f32 tau 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 (PI.f32) (*.f32 tau 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)))

prune398.0ms (5.4%)

Pruning

17 alts after pruning (17 fresh and 0 done)

PrunedKeptTotal
New2455250
Fresh41216
Picked101
Done000
Total25017267
Error
0.1b
Counts
267 → 17
Alt Table
StatusErrorProgram
0.7b
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (/.f32 (sin.f32 (cbrt.f32 (*.f32 (pow.f32 x 3) (pow.f32 (PI.f32) 3)))) (*.f32 x (PI.f32))))
0.7b
(*.f32 (log1p.f32 (expm1.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.1b
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (pow.f32 (cbrt.f32 (*.f32 x (PI.f32))) 3) 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 1 (*.f32 x (*.f32 (PI.f32) tau)))) (cbrt.f32 (/.f32 (pow.f32 (sin.f32 (*.f32 x (PI.f32))) 3) (pow.f32 (*.f32 x (PI.f32)) 3))))
0.7b
(*.f32 (cbrt.f32 (*.f32 (/.f32 1 (pow.f32 (*.f32 x (*.f32 (PI.f32) tau)) 3)) (pow.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) 3))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
4.6b
(*.f32 (/.f32 (-.f32 (exp.f32 (log1p.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))))) 1) (*.f32 (PI.f32) (*.f32 tau x))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
0.8b
(*.f32 (*.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (/.f32 1 (*.f32 x (*.f32 (PI.f32) tau)))) (-.f32 (exp.f32 (log1p.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))) 1))
0.8b
(*.f32 (*.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (/.f32 1 (*.f32 x (*.f32 (PI.f32) tau)))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
0.7b
(*.f32 (*.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (/.f32 1 (*.f32 (PI.f32) (*.f32 tau x)))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
1.0b
(*.f32 (*.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (/.f32 1 (*.f32 x (/.f32 (sqrt.f32 (*.f32 (PI.f32) tau)) (fabs.f32 (/.f32 1 (sqrt.f32 (*.f32 (PI.f32) tau)))))))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
0.7b
(*.f32 (/.f32 (sin.f32 (expm1.f32 (log1p.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.7b
(*.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))))
2.8b
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (-.f32 (fma.f32 1/120 (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4)) 1) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 1/6 (*.f32 x x)))))
3.8b
(*.f32 (-.f32 (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 tau (*.f32 tau (*.f32 x x)))) (*.f32 (pow.f32 (PI.f32) 6) (*.f32 1/5040 (*.f32 (pow.f32 tau 6) (pow.f32 x 6)))))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
0.8b
(*.f32 (/.f32 (sin.f32 (/.f32 (PI.f32) (/.f32 1 (*.f32 tau x)))) (*.f32 (PI.f32) (*.f32 tau x))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
0.8b
(*.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))))
1.1b
(*.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (PI.f32) (*.f32 tau x))) (-.f32 0 (/.f32 (/.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) x) (pow.f32 (cbrt.f32 (PI.f32)) 2)) (-.f32 0 (cbrt.f32 (PI.f32))))))
Compiler

Compiled 8028 to 2581 computations (67.9% saved)

localize63.0ms (0.9%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.4b
(/.f32 (pow.f32 (sin.f32 (*.f32 x (PI.f32))) 3) (pow.f32 (*.f32 x (PI.f32)) 3))
0.4b
(*.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (/.f32 1 (*.f32 x (*.f32 (PI.f32) tau))))
0.7b
(pow.f32 (*.f32 x (PI.f32)) 3)
0.7b
(pow.f32 (sin.f32 (*.f32 x (PI.f32))) 3)

series51.0ms (0.7%)

Counts
3 → 36
Calls

9 calls:

TimeVariablePointExpression
15.0ms
x
@-inf
(/.f32 (pow.f32 (sin.f32 (*.f32 x (PI.f32))) 3) (pow.f32 (*.f32 x (PI.f32)) 3))
11.0ms
x
@inf
(/.f32 (pow.f32 (sin.f32 (*.f32 x (PI.f32))) 3) (pow.f32 (*.f32 x (PI.f32)) 3))
7.0ms
x
@-inf
(pow.f32 (*.f32 x (PI.f32)) 3)
5.0ms
x
@0
(/.f32 (pow.f32 (sin.f32 (*.f32 x (PI.f32))) 3) (pow.f32 (*.f32 x (PI.f32)) 3))
4.0ms
x
@0
(pow.f32 (sin.f32 (*.f32 x (PI.f32))) 3)

rewrite48.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
886×rules-41_binary32
886×rules-42_binary32
886×rules-43_binary32
90×add-sqr-sqrt_binary32
87×pow1_binary32
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0938
122135
2266435
Stop Event
node limit
Counts
3 → 105
Calls
Call 1
Inputs
(pow.f32 (sin.f32 (*.f32 x (PI.f32))) 3)
(pow.f32 (*.f32 x (PI.f32)) 3)
(/.f32 (pow.f32 (sin.f32 (*.f32 x (PI.f32))) 3) (pow.f32 (*.f32 x (PI.f32)) 3))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f32 (pow.f32 (sin.f32 (*.f32 x (PI.f32))) 3) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (pow.f32 (sin.f32 (*.f32 x (PI.f32))) 3) (*.f32 (pow.f32 (sin.f32 (*.f32 x (PI.f32))) 2) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (pow.f32 (sin.f32 (*.f32 x (PI.f32))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (pow.f32 (sin.f32 (*.f32 x (PI.f32))) 3) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (pow.f32 (sin.f32 (*.f32 x (PI.f32))) 3) (*.f32 (pow.f32 (sin.f32 (*.f32 x (PI.f32))) 2) 0))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 0 (-.f32 0 (pow.f32 (sin.f32 (*.f32 x (PI.f32))) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (pow.f32 (sin.f32 (*.f32 x (PI.f32))) 3))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sin.f32 (*.f32 x (PI.f32))) (pow.f32 (sin.f32 (*.f32 x (PI.f32))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (sin.f32 (*.f32 x (PI.f32))) 3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (pow.f32 (sin.f32 (*.f32 x (PI.f32))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (sin.f32 (*.f32 x (PI.f32))) 2) (sin.f32 (*.f32 x (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (sin.f32 (*.f32 x (PI.f32)))) (*.f32 (pow.f32 (sin.f32 (*.f32 x (PI.f32))) 2) (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) (*.f32 (cbrt.f32 (sin.f32 (*.f32 x (PI.f32)))) (pow.f32 (sin.f32 (*.f32 x (PI.f32))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (sin.f32 (*.f32 x (PI.f32)))) (*.f32 (pow.f32 (sin.f32 (*.f32 x (PI.f32))) 2) (sqrt.f32 (sin.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)))) (pow.f32 (sin.f32 (*.f32 x (PI.f32))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (sin.f32 (*.f32 x (PI.f32))) 3/2) (pow.f32 (sin.f32 (*.f32 x (PI.f32))) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (pow.f32 (cbrt.f32 (sin.f32 (*.f32 x (PI.f32)))) 2) 3) (sin.f32 (*.f32 x (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (sqrt.f32 (sin.f32 (*.f32 x (PI.f32)))) 3) (pow.f32 (sqrt.f32 (sin.f32 (*.f32 x (PI.f32)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (sin.f32 (*.f32 x (PI.f32))) (/.f32 1 (pow.f32 (sin.f32 (*.f32 x (PI.f32))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (pow.f32 (sin.f32 (*.f32 x (PI.f32))) 3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (pow.f32 (pow.f32 (sin.f32 (*.f32 x (PI.f32))) 3) 3) (+.f32 (pow.f32 (sin.f32 (*.f32 x (PI.f32))) 6) (+.f32 0 (*.f32 (pow.f32 (sin.f32 (*.f32 x (PI.f32))) 3) 0))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (pow.f32 (pow.f32 (sin.f32 (*.f32 x (PI.f32))) 3) 3) (+.f32 (pow.f32 (sin.f32 (*.f32 x (PI.f32))) 6) (-.f32 0 (*.f32 (pow.f32 (sin.f32 (*.f32 x (PI.f32))) 3) 0))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (sin.f32 (*.f32 x (PI.f32))) 6))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f32 (pow.f32 (sin.f32 (*.f32 x (PI.f32))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (exp.f32 (pow.f32 (sin.f32 (*.f32 x (PI.f32))) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (pow.f32 (sin.f32 (*.f32 x (PI.f32))) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (pow.f32 (sin.f32 (*.f32 x (PI.f32))) 3) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sin.f32 (*.f32 x (PI.f32))) (pow.f32 (sin.f32 (*.f32 x (PI.f32))) 2) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (pow.f32 (sin.f32 (*.f32 x (PI.f32))) 3) 1 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (pow.f32 (sin.f32 (*.f32 x (PI.f32))) 2) (sin.f32 (*.f32 x (PI.f32))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (pow.f32 (sin.f32 (*.f32 x (PI.f32))) 3/2) (pow.f32 (sin.f32 (*.f32 x (PI.f32))) 3/2) 0)))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (pow.f32 (sin.f32 (*.f32 x (PI.f32))) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (pow.f32 (sin.f32 (*.f32 x (PI.f32))) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 3 (log.f32 (sin.f32 (*.f32 x (PI.f32))))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f32 (pow.f32 (*.f32 x (PI.f32)) 3) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (pow.f32 (*.f32 x (PI.f32)) 3) (*.f32 (pow.f32 (*.f32 x (PI.f32)) 2) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (pow.f32 (*.f32 x (PI.f32)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (pow.f32 (*.f32 x (PI.f32)) 3) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (pow.f32 (*.f32 x (PI.f32)) 3) (*.f32 (pow.f32 (*.f32 x (PI.f32)) 2) 0))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 0 (-.f32 0 (pow.f32 (*.f32 x (PI.f32)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (pow.f32 (*.f32 x (PI.f32)) 3))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 x (*.f32 (pow.f32 (*.f32 x (PI.f32)) 2) (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 x (*.f32 (PI.f32) (pow.f32 (*.f32 x (PI.f32)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (PI.f32) (*.f32 (pow.f32 (*.f32 x (PI.f32)) 2) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (PI.f32) (*.f32 x (pow.f32 (*.f32 x (PI.f32)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (*.f32 x (PI.f32)) (pow.f32 (*.f32 x (PI.f32)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (*.f32 x (PI.f32)) 3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (pow.f32 (*.f32 x (PI.f32)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (*.f32 x (PI.f32)) 2) (*.f32 x (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (*.f32 x (PI.f32))) (*.f32 (pow.f32 (*.f32 x (PI.f32)) 2) (pow.f32 (cbrt.f32 (*.f32 x (PI.f32))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (cbrt.f32 (*.f32 x (PI.f32))) 2) (*.f32 (cbrt.f32 (*.f32 x (PI.f32))) (pow.f32 (*.f32 x (PI.f32)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (*.f32 x (PI.f32))) (*.f32 (pow.f32 (*.f32 x (PI.f32)) 2) (sqrt.f32 (*.f32 x (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (*.f32 x (PI.f32))) (*.f32 (sqrt.f32 (*.f32 x (PI.f32))) (pow.f32 (*.f32 x (PI.f32)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 x 3) (pow.f32 (PI.f32) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (*.f32 x (PI.f32)) 3/2) (pow.f32 (*.f32 x (PI.f32)) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (pow.f32 (cbrt.f32 (*.f32 x (PI.f32))) 2) 3) (*.f32 x (PI.f32)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (sqrt.f32 (*.f32 x (PI.f32))) 3) (pow.f32 (sqrt.f32 (*.f32 x (PI.f32))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 x (PI.f32)) (/.f32 1 (pow.f32 (*.f32 x (PI.f32)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (pow.f32 (*.f32 x (PI.f32)) 3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (pow.f32 (pow.f32 (*.f32 x (PI.f32)) 3) 3) (+.f32 (pow.f32 (*.f32 x (PI.f32)) 6) (+.f32 0 (*.f32 (pow.f32 (*.f32 x (PI.f32)) 3) 0))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (pow.f32 (pow.f32 (*.f32 x (PI.f32)) 3) 3) (+.f32 (pow.f32 (*.f32 x (PI.f32)) 6) (-.f32 0 (*.f32 (pow.f32 (*.f32 x (PI.f32)) 3) 0))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (*.f32 x (PI.f32)) 6))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f32 (pow.f32 (*.f32 x (PI.f32)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (exp.f32 (pow.f32 (*.f32 x (PI.f32)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (pow.f32 (*.f32 x (PI.f32)) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (pow.f32 (*.f32 x (PI.f32)) 3) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (*.f32 x (PI.f32)) (pow.f32 (*.f32 x (PI.f32)) 2) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (pow.f32 (*.f32 x (PI.f32)) 3) 1 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (pow.f32 (*.f32 x (PI.f32)) 2) (*.f32 x (PI.f32)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (pow.f32 x 3) (pow.f32 (PI.f32) 3) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (pow.f32 (*.f32 x (PI.f32)) 3/2) (pow.f32 (*.f32 x (PI.f32)) 3/2) 0)))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (pow.f32 (*.f32 x (PI.f32)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (pow.f32 (*.f32 x (PI.f32)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (*.f32 3 (log.f32 (*.f32 x (PI.f32)))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f32 (pow.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))) 3) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (pow.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (pow.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))) 3) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 0 (-.f32 0 (pow.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (log1p.f32 (pow.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))) 3))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sin.f32 (*.f32 x (PI.f32))) (/.f32 (pow.f32 (sin.f32 (*.f32 x (PI.f32))) 2) (pow.f32 (*.f32 x (PI.f32)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (sin.f32 (*.f32 x (PI.f32))) 3) (/.f32 1 (pow.f32 (*.f32 x (PI.f32)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))) 3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (pow.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (sin.f32 (*.f32 x (PI.f32))) 2) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (pow.f32 (*.f32 x (PI.f32)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))) (pow.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))) 2) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (pow.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))) 3)) (sqrt.f32 (pow.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (pow.f32 (sin.f32 (*.f32 x (PI.f32))) 3/2) (/.f32 (pow.f32 (sin.f32 (*.f32 x (PI.f32))) 3/2) (pow.f32 (*.f32 x (PI.f32)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))) 3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (pow.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))) 3) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (pow.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))) 3)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (pow.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))) 3) 2))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f32 (pow.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (exp.f32 (pow.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (+.f32 1 (expm1.f32 (pow.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (pow.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))) 3) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (/.f32 (pow.f32 (pow.f32 (sin.f32 (*.f32 x (PI.f32))) 3) 3) (pow.f32 (pow.f32 (*.f32 x (PI.f32)) 3) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (pow.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))) 3) 1 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (pow.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))) 2) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f32 (sqrt.f32 (pow.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))) 3)) (sqrt.f32 (pow.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))) 3)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (pow.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f32 (log1p.f32 (pow.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (pow.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))) 3)))))))

simplify47.0ms (0.6%)

Algorithm
egg-herbie
Rules
570×rules-4_binary32
284×rules-11_binary32
278×rules-6_binary32
249×rules-1_binary32
241×fma-neg_binary32
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
055624
1189624
2832620
34942620
Stop Event
node limit
Counts
141 → 120
Calls
Call 1
Inputs
(*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3))
(-.f32 (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3)) (*.f32 1/2 (*.f32 (pow.f32 (PI.f32) 5) (pow.f32 x 5))))
(-.f32 (+.f32 (*.f32 13/120 (*.f32 (pow.f32 (PI.f32) 7) (pow.f32 x 7))) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3))) (*.f32 1/2 (*.f32 (pow.f32 (PI.f32) 5) (pow.f32 x 5))))
(-.f32 (+.f32 (*.f32 13/120 (*.f32 (pow.f32 (PI.f32) 7) (pow.f32 x 7))) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3))) (+.f32 (*.f32 1/2 (*.f32 (pow.f32 (PI.f32) 5) (pow.f32 x 5))) (*.f32 41/3024 (*.f32 (pow.f32 (PI.f32) 9) (pow.f32 x 9)))))
(pow.f32 (sin.f32 (*.f32 (PI.f32) x)) 3)
(pow.f32 (sin.f32 (*.f32 (PI.f32) x)) 3)
(pow.f32 (sin.f32 (*.f32 (PI.f32) x)) 3)
(pow.f32 (sin.f32 (*.f32 (PI.f32) x)) 3)
(pow.f32 (sin.f32 (*.f32 (PI.f32) x)) 3)
(pow.f32 (sin.f32 (*.f32 (PI.f32) x)) 3)
(pow.f32 (sin.f32 (*.f32 (PI.f32) x)) 3)
(pow.f32 (sin.f32 (*.f32 (PI.f32) x)) 3)
(*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3))
(*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3))
(*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3))
(*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3))
(*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3))
(*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3))
(*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3))
(*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3))
(*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3))
(*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3))
(*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3))
(*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3))
1
(-.f32 1 (*.f32 1/2 (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2))))
(-.f32 (+.f32 (*.f32 13/120 (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4))) 1) (*.f32 1/2 (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2))))
(-.f32 (+.f32 (*.f32 13/120 (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4))) 1) (+.f32 (*.f32 41/3024 (*.f32 (pow.f32 (PI.f32) 6) (pow.f32 x 6))) (*.f32 1/2 (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2)))))
(/.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) x)) 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3)))
(/.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) x)) 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3)))
(/.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) x)) 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3)))
(/.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) x)) 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3)))
(/.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) x)) 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3)))
(/.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) x)) 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3)))
(/.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) x)) 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3)))
(/.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) x)) 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3)))
Outputs
(*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3))
(-.f32 (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3)) (*.f32 1/2 (*.f32 (pow.f32 (PI.f32) 5) (pow.f32 x 5))))
(fma.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3) (*.f32 (*.f32 (pow.f32 (PI.f32) 5) (pow.f32 x 5)) -1/2))
(-.f32 (+.f32 (*.f32 13/120 (*.f32 (pow.f32 (PI.f32) 7) (pow.f32 x 7))) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3))) (*.f32 1/2 (*.f32 (pow.f32 (PI.f32) 5) (pow.f32 x 5))))
(-.f32 (fma.f32 13/120 (*.f32 (pow.f32 (PI.f32) 7) (pow.f32 x 7)) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3))) (*.f32 1/2 (*.f32 (pow.f32 (PI.f32) 5) (pow.f32 x 5))))
(-.f32 (fma.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3) (*.f32 13/120 (*.f32 (pow.f32 (PI.f32) 7) (pow.f32 x 7)))) (*.f32 1/2 (*.f32 (pow.f32 (PI.f32) 5) (pow.f32 x 5))))
(fma.f32 13/120 (*.f32 (pow.f32 (PI.f32) 7) (pow.f32 x 7)) (fma.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3) (*.f32 (*.f32 (pow.f32 (PI.f32) 5) (pow.f32 x 5)) -1/2)))
(-.f32 (+.f32 (*.f32 13/120 (*.f32 (pow.f32 (PI.f32) 7) (pow.f32 x 7))) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3))) (+.f32 (*.f32 1/2 (*.f32 (pow.f32 (PI.f32) 5) (pow.f32 x 5))) (*.f32 41/3024 (*.f32 (pow.f32 (PI.f32) 9) (pow.f32 x 9)))))
(-.f32 (fma.f32 13/120 (*.f32 (pow.f32 (PI.f32) 7) (pow.f32 x 7)) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3))) (fma.f32 1/2 (*.f32 (pow.f32 (PI.f32) 5) (pow.f32 x 5)) (*.f32 41/3024 (*.f32 (pow.f32 (PI.f32) 9) (pow.f32 x 9)))))
(-.f32 (fma.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3) (*.f32 13/120 (*.f32 (pow.f32 (PI.f32) 7) (pow.f32 x 7)))) (*.f32 41/3024 (fma.f32 (pow.f32 (PI.f32) 9) (pow.f32 x 9) (*.f32 (*.f32 (pow.f32 (PI.f32) 5) (pow.f32 x 5)) 1512/41))))
(-.f32 (fma.f32 13/120 (*.f32 (pow.f32 (PI.f32) 7) (pow.f32 x 7)) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3))) (*.f32 41/3024 (fma.f32 (pow.f32 (PI.f32) 5) (*.f32 (pow.f32 x 5) 1512/41) (*.f32 (pow.f32 (PI.f32) 9) (pow.f32 x 9)))))
(pow.f32 (sin.f32 (*.f32 (PI.f32) x)) 3)
(pow.f32 (sin.f32 (*.f32 (PI.f32) x)) 3)
(pow.f32 (sin.f32 (*.f32 (PI.f32) x)) 3)
(pow.f32 (sin.f32 (*.f32 (PI.f32) x)) 3)
(pow.f32 (sin.f32 (*.f32 (PI.f32) x)) 3)
(pow.f32 (sin.f32 (*.f32 (PI.f32) x)) 3)
(pow.f32 (sin.f32 (*.f32 (PI.f32) x)) 3)
(pow.f32 (sin.f32 (*.f32 (PI.f32) x)) 3)
(*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3))
(*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3))
(*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3))
(*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3))
(*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3))
(*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3))
(*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3))
(*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3))
(*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3))
(*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3))
(*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3))
(*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3))
1
(-.f32 1 (*.f32 1/2 (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2))))
(-.f32 1 (*.f32 1/2 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 x x))))
(-.f32 1 (*.f32 1/2 (*.f32 x (*.f32 (pow.f32 (PI.f32) 2) x))))
(-.f32 1 (*.f32 x (*.f32 (*.f32 1/2 (pow.f32 (PI.f32) 2)) x)))
(-.f32 (+.f32 (*.f32 13/120 (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4))) 1) (*.f32 1/2 (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2))))
(-.f32 (fma.f32 13/120 (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4)) 1) (*.f32 1/2 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 x x))))
(-.f32 (fma.f32 13/120 (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4)) 1) (*.f32 1/2 (*.f32 x (*.f32 (pow.f32 (PI.f32) 2) x))))
(-.f32 (*.f32 13/120 (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4))) (fma.f32 1/2 (*.f32 x (*.f32 x (pow.f32 (PI.f32) 2))) -1))
(-.f32 (+.f32 (*.f32 13/120 (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4))) 1) (+.f32 (*.f32 41/3024 (*.f32 (pow.f32 (PI.f32) 6) (pow.f32 x 6))) (*.f32 1/2 (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2)))))
(-.f32 (fma.f32 13/120 (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4)) 1) (fma.f32 41/3024 (*.f32 (pow.f32 (PI.f32) 6) (pow.f32 x 6)) (*.f32 1/2 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 x x)))))
(-.f32 (fma.f32 13/120 (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4)) 1) (*.f32 1/2 (fma.f32 (pow.f32 (PI.f32) 2) (*.f32 x x) (*.f32 (*.f32 (pow.f32 (PI.f32) 6) (pow.f32 x 6)) 41/1512))))
(-.f32 (*.f32 13/120 (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4))) (fma.f32 1/2 (fma.f32 x (*.f32 x (pow.f32 (PI.f32) 2)) (*.f32 (pow.f32 x 6) (*.f32 (pow.f32 (PI.f32) 6) 41/1512))) -1))
(/.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) x)) 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3)))
(/.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) x)) 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3)))
(/.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) x)) 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3)))
(/.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) x)) 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3)))
(/.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) x)) 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3)))
(/.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) x)) 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3)))
(/.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) x)) 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3)))
(/.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) x)) 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3)))

prune333.0ms (4.5%)

Pruning

17 alts after pruning (17 fresh and 0 done)

PrunedKeptTotal
New1963199
Fresh21416
Picked101
Done000
Total19917216
Error
0.1b
Counts
216 → 17
Alt Table
StatusErrorProgram
3.8b
(*.f32 (-.f32 (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 tau (*.f32 tau (*.f32 x x)))) (*.f32 (pow.f32 (PI.f32) 6) (*.f32 1/5040 (*.f32 (pow.f32 tau 6) (pow.f32 x 6)))))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
0.7b
(*.f32 (*.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (/.f32 1 (*.f32 x (*.f32 (PI.f32) tau)))) (cbrt.f32 (/.f32 (pow.f32 (sin.f32 (*.f32 x (PI.f32))) 3) (sqrt.f32 (pow.f32 (*.f32 x (PI.f32)) 6)))))
0.7b
(*.f32 (/.f32 (pow.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau))) 3) (pow.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau))) 2)) (cbrt.f32 (/.f32 (pow.f32 (sin.f32 (*.f32 x (PI.f32))) 3) (pow.f32 (*.f32 x (PI.f32)) 3))))
4.6b
(*.f32 (/.f32 (-.f32 (exp.f32 (log1p.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))))) 1) (*.f32 (PI.f32) (*.f32 tau x))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
0.8b
(*.f32 (*.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (/.f32 1 (*.f32 x (*.f32 (PI.f32) tau)))) (-.f32 (exp.f32 (log1p.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))) 1))
0.8b
(*.f32 (*.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (/.f32 1 (*.f32 x (*.f32 (PI.f32) tau)))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
0.7b
(*.f32 (*.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (/.f32 1 (*.f32 (PI.f32) (*.f32 tau x)))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
1.0b
(*.f32 (*.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (/.f32 1 (*.f32 x (/.f32 (sqrt.f32 (*.f32 (PI.f32) tau)) (fabs.f32 (/.f32 1 (sqrt.f32 (*.f32 (PI.f32) tau)))))))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
0.7b
(*.f32 (/.f32 (sin.f32 (expm1.f32 (log1p.f32 (*.f32 (PI.f32) (*.f32 tau x))))) (*.f32 (PI.f32) (*.f32 tau x))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
16.1b
(*.f32 (*.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (/.f32 1 (*.f32 x (*.f32 (PI.f32) tau)))) (cbrt.f32 (/.f32 (-.f32 (exp.f32 (log1p.f32 (pow.f32 (sin.f32 (*.f32 x (PI.f32))) 3))) 1) (pow.f32 (*.f32 x (PI.f32)) 3))))
0.7b
(*.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))))
2.8b
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (-.f32 (fma.f32 1/120 (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4)) 1) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 1/6 (*.f32 x x)))))
0.7b
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (/.f32 (sin.f32 (cbrt.f32 (*.f32 (pow.f32 x 3) (pow.f32 (PI.f32) 3)))) (*.f32 x (PI.f32))))
1.1b
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (pow.f32 (cbrt.f32 (*.f32 x (PI.f32))) 3) tau)) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
0.8b
(*.f32 (/.f32 (sin.f32 (/.f32 (PI.f32) (/.f32 1 (*.f32 tau x)))) (*.f32 (PI.f32) (*.f32 tau x))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
0.8b
(*.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))))
1.1b
(*.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (PI.f32) (*.f32 tau x))) (-.f32 0 (/.f32 (/.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) x) (pow.f32 (cbrt.f32 (PI.f32)) 2)) (-.f32 0 (cbrt.f32 (PI.f32))))))
Compiler

Compiled 7126 to 2904 computations (59.2% saved)

regimes2.9s (39.4%)

Accuracy

Total 0.5b remaining (77.2%)

Threshold costs 0.5b (77.2%)

Counts
578 → 1
Compiler

Compiled 69400 to 38782 computations (44.1% saved)

simplify1.0ms (0%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01236
Stop Event
saturated
Calls
Call 1
Inputs
(*.f32 (/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 (PI.f32) x))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
Outputs
(*.f32 (/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 (PI.f32) x))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))

end243.0ms (3.3%)

Stop Event
fuel
Compiler

Compiled 574 to 330 computations (42.5% saved)

Profiling

Loading profile data...