Details

Time bar (total: 5.4s)

analyze1.0ms (0%)

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

Compiled 38 to 21 computations (44.7% saved)

sample2.2s (40.9%)

Results
2.2s8256×body64valid

preprocess77.0ms (1.4%)

Algorithm
egg-herbie
Rules
967×associate-/l/_binary32
808×associate-/l*_binary32
710×times-frac_binary32
520×associate-/r/_binary32
385×associate-*r/_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01872
14972
217372
373372
4248772
5326772
6326772
7455472
8480772
9492772
10493972
11493972
12494172
13494172
022
Stop Event
saturated
saturated
Calls
Call 1
Inputs
0
1
Outputs
0
1
Call 2
Inputs
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 tau (PI.f32)) x)) (*.f32 (*.f32 tau (PI.f32)) x)) (/.f32 (sin.f32 (*.f32 tau (PI.f32))) (*.f32 tau (PI.f32))))
Outputs
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
(*.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))) (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau))))
(*.f32 (sin.f32 (*.f32 x (PI.f32))) (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 (PI.f32) (*.f32 (*.f32 x x) (*.f32 (PI.f32) tau)))))
(*.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (/.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))) (*.f32 x (*.f32 (PI.f32) tau))))
(*.f32 (sin.f32 (*.f32 x (PI.f32))) (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 (PI.f32) (*.f32 tau (*.f32 x (*.f32 x (PI.f32)))))))
(*.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 (PI.f32) (*.f32 tau (*.f32 x (*.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))))
(*.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 (PI.f32) tau)) (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 tau (*.f32 (PI.f32) (*.f32 (PI.f32) tau))))))
(*.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) tau)) (*.f32 x (*.f32 tau (*.f32 (PI.f32) (*.f32 (PI.f32) tau))))) (sin.f32 (*.f32 x (*.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)

simplify38.0ms (0.7%)

Algorithm
egg-herbie
Rules
745×associate-/l/_binary32
396×associate-/l*_binary32
281×times-frac_binary32
253×associate-/r/_binary32
154×associate-*l/_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01136
12436
28336
333336
4118036
5255936
6268736
7271736
8272736
9273136
10273336
11273336
Stop Event
saturated
Counts
1 → 2
Calls
Call 1
Inputs
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
Outputs
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
(*.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 x (PI.f32))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 (*.f32 x (PI.f32)) tau)))
(*.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (*.f32 (PI.f32) (*.f32 x tau))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
(*.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (PI.f32)) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (*.f32 (PI.f32) (*.f32 x tau)))))
(*.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (*.f32 (PI.f32) (*.f32 (PI.f32) (*.f32 x tau))))))
(*.f32 (sin.f32 (*.f32 x (PI.f32))) (/.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (*.f32 (PI.f32) (PI.f32))) (*.f32 x (*.f32 x tau))))
(*.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (/.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 (PI.f32) tau)) (*.f32 x (*.f32 x (PI.f32)))))

prune3.0ms (0.1%)

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.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))))
1.0b
(*.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (/.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 (PI.f32) tau)) (*.f32 x (*.f32 x (PI.f32)))))
Compiler

Compiled 136 to 64 computations (52.9% saved)

localize41.0ms (0.8%)

Local error

Found 4 expressions with local error:

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

series62.0ms (1.2%)

Counts
4 → 68
Calls

18 calls:

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

rewrite108.0ms (2%)

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

Useful iterations: 0 (0.0ms)

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

simplify164.0ms (3%)

Algorithm
egg-herbie
Rules
1375×associate-/r*_binary32
954×fma-def_binary32
666×sqr-pow_binary32
566×*-commutative_binary32
330×pow-sqr_binary32
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0941254
12771246
28981236
320531236
428031236
534681236
642621236
745051236
848151236
954381236
1060121236
1167001236
Stop Event
node limit
Counts
207 → 175
Calls
Call 1
Inputs
1
(+.f32 1 (*.f32 -1/6 (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2))))
(+.f32 (*.f32 1/120 (*.f32 (pow.f32 x 4) (pow.f32 (PI.f32) 4))) (+.f32 1 (*.f32 -1/6 (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2)))))
(+.f32 (*.f32 1/120 (*.f32 (pow.f32 x 4) (pow.f32 (PI.f32) 4))) (+.f32 1 (+.f32 (*.f32 -1/6 (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2))) (*.f32 -1/5040 (*.f32 (pow.f32 x 6) (pow.f32 (PI.f32) 6))))))
(/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 x (PI.f32)))
(/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 x (PI.f32)))
(/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 x (PI.f32)))
(/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 x (PI.f32)))
1
(+.f32 1 (*.f32 -1/6 (*.f32 (pow.f32 tau 2) (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2)))))
(+.f32 1 (+.f32 (*.f32 -1/6 (*.f32 (pow.f32 tau 2) (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2)))) (*.f32 1/120 (*.f32 (pow.f32 tau 4) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4))))))
(+.f32 (*.f32 -1/5040 (*.f32 (pow.f32 tau 6) (*.f32 (pow.f32 (PI.f32) 6) (pow.f32 x 6)))) (+.f32 1 (+.f32 (*.f32 -1/6 (*.f32 (pow.f32 tau 2) (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2)))) (*.f32 1/120 (*.f32 (pow.f32 tau 4) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4)))))))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 (PI.f32) x)))
1
(+.f32 1 (*.f32 -1/6 (*.f32 (pow.f32 tau 2) (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2)))))
(+.f32 1 (+.f32 (*.f32 -1/6 (*.f32 (pow.f32 tau 2) (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2)))) (*.f32 1/120 (*.f32 (pow.f32 tau 4) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4))))))
(+.f32 (*.f32 -1/5040 (*.f32 (pow.f32 tau 6) (*.f32 (pow.f32 (PI.f32) 6) (pow.f32 x 6)))) (+.f32 1 (+.f32 (*.f32 -1/6 (*.f32 (pow.f32 tau 2) (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2)))) (*.f32 1/120 (*.f32 (pow.f32 tau 4) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4)))))))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 x (PI.f32))))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 x (PI.f32))))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 x (PI.f32))))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 x (PI.f32))))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 (PI.f32) x)))
(*.f32 tau (*.f32 x (PI.f32)))
(+.f32 (*.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3)))) (*.f32 tau (*.f32 x (PI.f32))))
(+.f32 (*.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3)))) (+.f32 (*.f32 1/120 (*.f32 (pow.f32 tau 5) (*.f32 (pow.f32 (PI.f32) 5) (pow.f32 x 5)))) (*.f32 tau (*.f32 x (PI.f32)))))
(+.f32 (*.f32 -1/5040 (*.f32 (pow.f32 tau 7) (*.f32 (pow.f32 (PI.f32) 7) (pow.f32 x 7)))) (+.f32 (*.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3)))) (+.f32 (*.f32 1/120 (*.f32 (pow.f32 tau 5) (*.f32 (pow.f32 (PI.f32) 5) (pow.f32 x 5)))) (*.f32 tau (*.f32 x (PI.f32))))))
(sin.f32 (*.f32 tau (*.f32 x (PI.f32))))
(sin.f32 (*.f32 tau (*.f32 x (PI.f32))))
(sin.f32 (*.f32 tau (*.f32 x (PI.f32))))
(sin.f32 (*.f32 tau (*.f32 x (PI.f32))))
(sin.f32 (*.f32 tau (*.f32 (PI.f32) x)))
(sin.f32 (*.f32 tau (*.f32 (PI.f32) x)))
(sin.f32 (*.f32 tau (*.f32 (PI.f32) x)))
(sin.f32 (*.f32 tau (*.f32 (PI.f32) x)))
(*.f32 tau (*.f32 (PI.f32) x))
(+.f32 (*.f32 tau (*.f32 (PI.f32) x)) (*.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 x 3) (pow.f32 (PI.f32) 3)))))
(+.f32 (*.f32 tau (*.f32 (PI.f32) x)) (+.f32 (*.f32 1/120 (*.f32 (pow.f32 tau 5) (*.f32 (pow.f32 x 5) (pow.f32 (PI.f32) 5)))) (*.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 x 3) (pow.f32 (PI.f32) 3))))))
(+.f32 (*.f32 tau (*.f32 (PI.f32) x)) (+.f32 (*.f32 -1/5040 (*.f32 (pow.f32 tau 7) (*.f32 (pow.f32 x 7) (pow.f32 (PI.f32) 7)))) (+.f32 (*.f32 1/120 (*.f32 (pow.f32 tau 5) (*.f32 (pow.f32 x 5) (pow.f32 (PI.f32) 5)))) (*.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 x 3) (pow.f32 (PI.f32) 3)))))))
(sin.f32 (*.f32 tau (*.f32 x (PI.f32))))
(sin.f32 (*.f32 tau (*.f32 x (PI.f32))))
(sin.f32 (*.f32 tau (*.f32 x (PI.f32))))
(sin.f32 (*.f32 tau (*.f32 x (PI.f32))))
(sin.f32 (*.f32 tau (*.f32 (PI.f32) x)))
(sin.f32 (*.f32 tau (*.f32 (PI.f32) x)))
(sin.f32 (*.f32 tau (*.f32 (PI.f32) x)))
(sin.f32 (*.f32 tau (*.f32 (PI.f32) x)))
(*.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 x 2) (pow.f32 (PI.f32) 2))))
(+.f32 1 (*.f32 -1/6 (*.f32 (*.f32 x x) (pow.f32 (PI.f32) 2))))
(fma.f32 -1/6 (*.f32 (*.f32 x x) (pow.f32 (PI.f32) 2)) 1)
(fma.f32 -1/6 (*.f32 x (*.f32 x (pow.f32 (PI.f32) 2))) 1)
(+.f32 (*.f32 1/120 (*.f32 (pow.f32 x 4) (pow.f32 (PI.f32) 4))) (+.f32 1 (*.f32 -1/6 (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2)))))
(fma.f32 1/120 (*.f32 (pow.f32 x 4) (pow.f32 (PI.f32) 4)) (+.f32 1 (*.f32 -1/6 (*.f32 (*.f32 x x) (pow.f32 (PI.f32) 2)))))
(fma.f32 1/120 (*.f32 (pow.f32 x 4) (pow.f32 (PI.f32) 4)) (fma.f32 -1/6 (*.f32 (*.f32 x x) (pow.f32 (PI.f32) 2)) 1))
(fma.f32 -1/6 (*.f32 x (*.f32 x (pow.f32 (PI.f32) 2))) (fma.f32 1/120 (*.f32 (pow.f32 x 4) (pow.f32 (PI.f32) 4)) 1))
(fma.f32 -1/6 (*.f32 (*.f32 x x) (pow.f32 (PI.f32) 2)) (fma.f32 (pow.f32 (PI.f32) 4) (*.f32 1/120 (pow.f32 x 4)) 1))
(+.f32 (*.f32 1/120 (*.f32 (pow.f32 x 4) (pow.f32 (PI.f32) 4))) (+.f32 1 (+.f32 (*.f32 -1/6 (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2))) (*.f32 -1/5040 (*.f32 (pow.f32 x 6) (pow.f32 (PI.f32) 6))))))
(fma.f32 1/120 (*.f32 (pow.f32 x 4) (pow.f32 (PI.f32) 4)) (+.f32 1 (fma.f32 -1/6 (*.f32 (*.f32 x x) (pow.f32 (PI.f32) 2)) (*.f32 (*.f32 -1/5040 (pow.f32 x 6)) (pow.f32 (PI.f32) 6)))))
(+.f32 (fma.f32 -1/6 (*.f32 (*.f32 x x) (pow.f32 (PI.f32) 2)) (*.f32 (pow.f32 x 6) (*.f32 (pow.f32 (PI.f32) 6) -1/5040))) (fma.f32 (*.f32 1/120 (pow.f32 x 4)) (pow.f32 (PI.f32) 4) 1))
(fma.f32 1/120 (*.f32 (pow.f32 x 4) (pow.f32 (PI.f32) 4)) (fma.f32 -1/6 (*.f32 x (*.f32 x (pow.f32 (PI.f32) 2))) (fma.f32 -1/5040 (*.f32 (pow.f32 x 6) (pow.f32 (PI.f32) 6)) 1)))
(fma.f32 -1/6 (*.f32 x (*.f32 x (pow.f32 (PI.f32) 2))) (fma.f32 1/120 (*.f32 (pow.f32 x 4) (pow.f32 (PI.f32) 4)) (fma.f32 -1/5040 (*.f32 (pow.f32 x 6) (pow.f32 (PI.f32) 6)) 1)))
(fma.f32 (pow.f32 (PI.f32) 2) (fma.f32 -1/6 (*.f32 x x) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 1/120 (pow.f32 x 4)))) (fma.f32 -1/5040 (*.f32 (pow.f32 x 6) (pow.f32 (PI.f32) 6)) 1))
(fma.f32 -1/6 (*.f32 (*.f32 x x) (pow.f32 (PI.f32) 2)) (fma.f32 (pow.f32 (PI.f32) 6) (*.f32 -1/5040 (pow.f32 x 6)) (fma.f32 (pow.f32 (PI.f32) 4) (*.f32 1/120 (pow.f32 x 4)) 1)))
(/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 x (PI.f32)))
(/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32)))
(/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 x (PI.f32)))
(/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32)))
(/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 x (PI.f32)))
(/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32)))
(/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 x (PI.f32)))
(/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32)))
1
(+.f32 1 (*.f32 -1/6 (*.f32 (pow.f32 tau 2) (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2)))))
(+.f32 1 (*.f32 (*.f32 -1/6 (*.f32 tau tau)) (*.f32 (*.f32 x x) (pow.f32 (PI.f32) 2))))
(fma.f32 -1/6 (*.f32 (*.f32 x x) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 tau tau))) 1)
(fma.f32 -1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (*.f32 x x) (*.f32 tau tau))) 1)
(fma.f32 -1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (*.f32 x tau) (*.f32 x tau))) 1)
(+.f32 1 (+.f32 (*.f32 -1/6 (*.f32 (pow.f32 tau 2) (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2)))) (*.f32 1/120 (*.f32 (pow.f32 tau 4) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4))))))
(+.f32 1 (fma.f32 -1/6 (*.f32 (*.f32 (*.f32 x x) (pow.f32 (PI.f32) 2)) (*.f32 tau tau)) (*.f32 1/120 (*.f32 (*.f32 (pow.f32 tau 4) (pow.f32 (PI.f32) 4)) (pow.f32 x 4)))))
(+.f32 1 (fma.f32 -1/6 (*.f32 (*.f32 x x) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 tau tau))) (*.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 (*.f32 x x) (*.f32 tau tau))) (fma.f32 (*.f32 1/120 (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 tau 4))) (pow.f32 x 4) 1))
(fma.f32 -1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (*.f32 x x) (*.f32 tau tau))) (fma.f32 (pow.f32 x 4) (*.f32 1/120 (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 tau 4))) 1))
(fma.f32 -1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (*.f32 x tau) (*.f32 x tau))) (fma.f32 1/120 (*.f32 (pow.f32 x 4) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 tau 4))) 1))
(fma.f32 -1/6 (*.f32 (*.f32 x x) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 tau tau))) (fma.f32 (pow.f32 x 4) (*.f32 1/120 (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 tau 4))) 1))
(+.f32 (*.f32 -1/5040 (*.f32 (pow.f32 tau 6) (*.f32 (pow.f32 (PI.f32) 6) (pow.f32 x 6)))) (+.f32 1 (+.f32 (*.f32 -1/6 (*.f32 (pow.f32 tau 2) (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2)))) (*.f32 1/120 (*.f32 (pow.f32 tau 4) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4)))))))
(fma.f32 -1/5040 (*.f32 (pow.f32 tau 6) (*.f32 (pow.f32 x 6) (pow.f32 (PI.f32) 6))) (+.f32 1 (fma.f32 -1/6 (*.f32 (*.f32 (*.f32 x x) (pow.f32 (PI.f32) 2)) (*.f32 tau tau)) (*.f32 1/120 (*.f32 (*.f32 (pow.f32 tau 4) (pow.f32 (PI.f32) 4)) (pow.f32 x 4))))))
(+.f32 (fma.f32 -1/6 (*.f32 (*.f32 x x) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 tau tau))) (*.f32 1/120 (*.f32 (pow.f32 x 4) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 tau 4))))) (fma.f32 -1/5040 (*.f32 (pow.f32 x 6) (*.f32 (pow.f32 (PI.f32) 6) (pow.f32 tau 6))) 1))
(fma.f32 -1/5040 (*.f32 (pow.f32 x 6) (*.f32 (pow.f32 (PI.f32) 6) (pow.f32 tau 6))) (fma.f32 -1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (*.f32 x x) (*.f32 tau tau))) (fma.f32 (*.f32 1/120 (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 tau 4))) (pow.f32 x 4) 1)))
(fma.f32 -1/5040 (*.f32 (pow.f32 x 6) (*.f32 (pow.f32 (PI.f32) 6) (pow.f32 tau 6))) (fma.f32 -1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (*.f32 x x) (*.f32 tau tau))) (fma.f32 (pow.f32 x 4) (*.f32 1/120 (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 tau 4))) 1)))
(fma.f32 -1/5040 (*.f32 (pow.f32 x 6) (*.f32 (pow.f32 (PI.f32) 6) (pow.f32 tau 6))) (fma.f32 -1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (*.f32 x tau) (*.f32 x tau))) (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 x 6) (*.f32 (pow.f32 (PI.f32) 6) (pow.f32 tau 6))) (fma.f32 -1/6 (*.f32 (*.f32 x x) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 tau tau))) (fma.f32 (pow.f32 x 4) (*.f32 1/120 (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 tau 4))) 1)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau))
(/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (*.f32 (PI.f32) (*.f32 x tau)))
(/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau))
(/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (*.f32 (PI.f32) (*.f32 x tau)))
(/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau))
(/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (*.f32 (PI.f32) (*.f32 x tau)))
(/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau))
(/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (*.f32 (PI.f32) (*.f32 x tau)))
(/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau))
(/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (*.f32 (PI.f32) (*.f32 x tau)))
(/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau))
(/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (*.f32 (PI.f32) (*.f32 x tau)))
(/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau))
(/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (*.f32 (PI.f32) (*.f32 x tau)))
(/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 (PI.f32) x))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau))
(/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (*.f32 (PI.f32) (*.f32 x tau)))
(/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau)))
1
(+.f32 1 (*.f32 -1/6 (*.f32 (pow.f32 tau 2) (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2)))))
(+.f32 1 (*.f32 (*.f32 -1/6 (*.f32 tau tau)) (*.f32 (*.f32 x x) (pow.f32 (PI.f32) 2))))
(fma.f32 -1/6 (*.f32 (*.f32 x x) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 tau tau))) 1)
(fma.f32 -1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (*.f32 x x) (*.f32 tau tau))) 1)
(fma.f32 -1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (*.f32 x tau) (*.f32 x tau))) 1)
(+.f32 1 (+.f32 (*.f32 -1/6 (*.f32 (pow.f32 tau 2) (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2)))) (*.f32 1/120 (*.f32 (pow.f32 tau 4) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4))))))
(+.f32 1 (fma.f32 -1/6 (*.f32 (*.f32 (*.f32 x x) (pow.f32 (PI.f32) 2)) (*.f32 tau tau)) (*.f32 1/120 (*.f32 (*.f32 (pow.f32 tau 4) (pow.f32 (PI.f32) 4)) (pow.f32 x 4)))))
(+.f32 1 (fma.f32 -1/6 (*.f32 (*.f32 x x) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 tau tau))) (*.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 (*.f32 x x) (*.f32 tau tau))) (fma.f32 (*.f32 1/120 (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 tau 4))) (pow.f32 x 4) 1))
(fma.f32 -1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (*.f32 x x) (*.f32 tau tau))) (fma.f32 (pow.f32 x 4) (*.f32 1/120 (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 tau 4))) 1))
(fma.f32 -1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (*.f32 x tau) (*.f32 x tau))) (fma.f32 1/120 (*.f32 (pow.f32 x 4) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 tau 4))) 1))
(fma.f32 -1/6 (*.f32 (*.f32 x x) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 tau tau))) (fma.f32 (pow.f32 x 4) (*.f32 1/120 (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 tau 4))) 1))
(+.f32 (*.f32 -1/5040 (*.f32 (pow.f32 tau 6) (*.f32 (pow.f32 (PI.f32) 6) (pow.f32 x 6)))) (+.f32 1 (+.f32 (*.f32 -1/6 (*.f32 (pow.f32 tau 2) (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2)))) (*.f32 1/120 (*.f32 (pow.f32 tau 4) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4)))))))
(fma.f32 -1/5040 (*.f32 (pow.f32 tau 6) (*.f32 (pow.f32 x 6) (pow.f32 (PI.f32) 6))) (+.f32 1 (fma.f32 -1/6 (*.f32 (*.f32 (*.f32 x x) (pow.f32 (PI.f32) 2)) (*.f32 tau tau)) (*.f32 1/120 (*.f32 (*.f32 (pow.f32 tau 4) (pow.f32 (PI.f32) 4)) (pow.f32 x 4))))))
(+.f32 (fma.f32 -1/6 (*.f32 (*.f32 x x) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 tau tau))) (*.f32 1/120 (*.f32 (pow.f32 x 4) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 tau 4))))) (fma.f32 -1/5040 (*.f32 (pow.f32 x 6) (*.f32 (pow.f32 (PI.f32) 6) (pow.f32 tau 6))) 1))
(fma.f32 -1/5040 (*.f32 (pow.f32 x 6) (*.f32 (pow.f32 (PI.f32) 6) (pow.f32 tau 6))) (fma.f32 -1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (*.f32 x x) (*.f32 tau tau))) (fma.f32 (*.f32 1/120 (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 tau 4))) (pow.f32 x 4) 1)))
(fma.f32 -1/5040 (*.f32 (pow.f32 x 6) (*.f32 (pow.f32 (PI.f32) 6) (pow.f32 tau 6))) (fma.f32 -1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (*.f32 x x) (*.f32 tau tau))) (fma.f32 (pow.f32 x 4) (*.f32 1/120 (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 tau 4))) 1)))
(fma.f32 -1/5040 (*.f32 (pow.f32 x 6) (*.f32 (pow.f32 (PI.f32) 6) (pow.f32 tau 6))) (fma.f32 -1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (*.f32 x tau) (*.f32 x tau))) (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 x 6) (*.f32 (pow.f32 (PI.f32) 6) (pow.f32 tau 6))) (fma.f32 -1/6 (*.f32 (*.f32 x x) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 tau tau))) (fma.f32 (pow.f32 x 4) (*.f32 1/120 (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 tau 4))) 1)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 x (PI.f32))))
(/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau))
(/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (*.f32 (PI.f32) (*.f32 x tau)))
(/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 x (PI.f32))))
(/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau))
(/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (*.f32 (PI.f32) (*.f32 x tau)))
(/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 x (PI.f32))))
(/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau))
(/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (*.f32 (PI.f32) (*.f32 x tau)))
(/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 x (PI.f32))))
(/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau))
(/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (*.f32 (PI.f32) (*.f32 x tau)))
(/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau))
(/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (*.f32 (PI.f32) (*.f32 x tau)))
(/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau))
(/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (*.f32 (PI.f32) (*.f32 x tau)))
(/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau))
(/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (*.f32 (PI.f32) (*.f32 x tau)))
(/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau)))
(/.f32 (sin.f32 (*.f32 tau (*.f32 x (PI.f32)))) (*.f32 tau (*.f32 (PI.f32) x)))
(/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau))
(/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (*.f32 (PI.f32) (*.f32 x tau)))
(/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau)))
(*.f32 tau (*.f32 x (PI.f32)))
(*.f32 (*.f32 x (PI.f32)) tau)
(*.f32 (PI.f32) (*.f32 x tau))
(*.f32 x (*.f32 (PI.f32) tau))
(+.f32 (*.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3)))) (*.f32 tau (*.f32 x (PI.f32))))
(fma.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3))) (*.f32 (*.f32 x (PI.f32)) tau))
(fma.f32 (*.f32 x (PI.f32)) tau (*.f32 (*.f32 -1/6 (*.f32 (pow.f32 tau 3) (pow.f32 x 3))) (pow.f32 (PI.f32) 3)))
(fma.f32 x (*.f32 (PI.f32) tau) (*.f32 (pow.f32 (PI.f32) 3) (*.f32 (pow.f32 x 3) (*.f32 -1/6 (pow.f32 tau 3)))))
(fma.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3))) (*.f32 x (*.f32 (PI.f32) tau)))
(fma.f32 x (*.f32 (PI.f32) tau) (*.f32 (pow.f32 tau 3) (*.f32 -1/6 (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3)))))
(+.f32 (*.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3)))) (+.f32 (*.f32 1/120 (*.f32 (pow.f32 tau 5) (*.f32 (pow.f32 (PI.f32) 5) (pow.f32 x 5)))) (*.f32 tau (*.f32 x (PI.f32)))))
(fma.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3))) (fma.f32 1/120 (*.f32 (pow.f32 tau 5) (*.f32 (pow.f32 (PI.f32) 5) (pow.f32 x 5))) (*.f32 (*.f32 x (PI.f32)) tau)))
(fma.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3))) (fma.f32 1/120 (*.f32 (pow.f32 tau 5) (*.f32 (pow.f32 (PI.f32) 5) (pow.f32 x 5))) (*.f32 (PI.f32) (*.f32 x tau))))
(fma.f32 x (*.f32 (PI.f32) tau) (fma.f32 1/120 (*.f32 (pow.f32 x 5) (*.f32 (pow.f32 tau 5) (pow.f32 (PI.f32) 5))) (*.f32 (pow.f32 (PI.f32) 3) (*.f32 (pow.f32 x 3) (*.f32 -1/6 (pow.f32 tau 3))))))
(fma.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3))) (fma.f32 x (*.f32 (PI.f32) tau) (*.f32 (pow.f32 tau 5) (*.f32 1/120 (*.f32 (pow.f32 (PI.f32) 5) (pow.f32 x 5))))))
(fma.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3))) (fma.f32 x (*.f32 (PI.f32) tau) (*.f32 (pow.f32 x 5) (*.f32 (pow.f32 (PI.f32) 5) (*.f32 1/120 (pow.f32 tau 5))))))
(+.f32 (*.f32 -1/5040 (*.f32 (pow.f32 tau 7) (*.f32 (pow.f32 (PI.f32) 7) (pow.f32 x 7)))) (+.f32 (*.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3)))) (+.f32 (*.f32 1/120 (*.f32 (pow.f32 tau 5) (*.f32 (pow.f32 (PI.f32) 5) (pow.f32 x 5)))) (*.f32 tau (*.f32 x (PI.f32))))))
(fma.f32 -1/5040 (*.f32 (pow.f32 tau 7) (*.f32 (pow.f32 (PI.f32) 7) (pow.f32 x 7))) (fma.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3))) (fma.f32 1/120 (*.f32 (pow.f32 tau 5) (*.f32 (pow.f32 (PI.f32) 5) (pow.f32 x 5))) (*.f32 (*.f32 x (PI.f32)) tau))))
(fma.f32 -1/5040 (*.f32 (pow.f32 tau 7) (*.f32 (pow.f32 (PI.f32) 7) (pow.f32 x 7))) (fma.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3))) (fma.f32 1/120 (*.f32 (pow.f32 tau 5) (*.f32 (pow.f32 (PI.f32) 5) (pow.f32 x 5))) (*.f32 (PI.f32) (*.f32 x tau)))))
(fma.f32 x (*.f32 (PI.f32) tau) (fma.f32 1/120 (*.f32 (pow.f32 x 5) (*.f32 (pow.f32 tau 5) (pow.f32 (PI.f32) 5))) (fma.f32 (*.f32 (pow.f32 x 7) (*.f32 -1/5040 (pow.f32 tau 7))) (pow.f32 (PI.f32) 7) (*.f32 (pow.f32 (PI.f32) 3) (*.f32 (pow.f32 x 3) (*.f32 -1/6 (pow.f32 tau 3)))))))
(fma.f32 x (*.f32 (PI.f32) tau) (fma.f32 1/120 (*.f32 (pow.f32 x 5) (*.f32 (pow.f32 tau 5) (pow.f32 (PI.f32) 5))) (fma.f32 (pow.f32 (PI.f32) 7) (*.f32 (pow.f32 x 7) (*.f32 -1/5040 (pow.f32 tau 7))) (*.f32 (pow.f32 (PI.f32) 3) (*.f32 (pow.f32 x 3) (*.f32 -1/6 (pow.f32 tau 3)))))))
(fma.f32 x (*.f32 (PI.f32) tau) (fma.f32 (pow.f32 (PI.f32) 7) (*.f32 -1/5040 (*.f32 (pow.f32 tau 7) (pow.f32 x 7))) (fma.f32 (pow.f32 (PI.f32) 3) (*.f32 -1/6 (*.f32 (pow.f32 tau 3) (pow.f32 x 3))) (*.f32 (pow.f32 tau 5) (*.f32 1/120 (*.f32 (pow.f32 (PI.f32) 5) (pow.f32 x 5)))))))
(fma.f32 x (*.f32 (PI.f32) tau) (fma.f32 1/120 (*.f32 (pow.f32 x 5) (*.f32 (pow.f32 tau 5) (pow.f32 (PI.f32) 5))) (fma.f32 (pow.f32 tau 3) (*.f32 -1/6 (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3))) (*.f32 (pow.f32 (PI.f32) 7) (*.f32 (pow.f32 x 7) (*.f32 -1/5040 (pow.f32 tau 7)))))))
(sin.f32 (*.f32 tau (*.f32 x (PI.f32))))
(sin.f32 (*.f32 (*.f32 x (PI.f32)) tau))
(sin.f32 (*.f32 (PI.f32) (*.f32 x tau)))
(sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))
(sin.f32 (*.f32 tau (*.f32 x (PI.f32))))
(sin.f32 (*.f32 (*.f32 x (PI.f32)) tau))
(sin.f32 (*.f32 (PI.f32) (*.f32 x tau)))
(sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))
(sin.f32 (*.f32 tau (*.f32 x (PI.f32))))
(sin.f32 (*.f32 (*.f32 x (PI.f32)) tau))
(sin.f32 (*.f32 (PI.f32) (*.f32 x tau)))
(sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))
(sin.f32 (*.f32 tau (*.f32 x (PI.f32))))
(sin.f32 (*.f32 (*.f32 x (PI.f32)) tau))
(sin.f32 (*.f32 (PI.f32) (*.f32 x tau)))
(sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))
(sin.f32 (*.f32 tau (*.f32 (PI.f32) x)))
(sin.f32 (*.f32 (*.f32 x (PI.f32)) tau))
(sin.f32 (*.f32 (PI.f32) (*.f32 x tau)))
(sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))
(sin.f32 (*.f32 tau (*.f32 (PI.f32) x)))
(sin.f32 (*.f32 (*.f32 x (PI.f32)) tau))
(sin.f32 (*.f32 (PI.f32) (*.f32 x tau)))
(sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))
(sin.f32 (*.f32 tau (*.f32 (PI.f32) x)))
(sin.f32 (*.f32 (*.f32 x (PI.f32)) tau))
(sin.f32 (*.f32 (PI.f32) (*.f32 x tau)))
(sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))
(sin.f32 (*.f32 tau (*.f32 (PI.f32) x)))
(sin.f32 (*.f32 (*.f32 x (PI.f32)) tau))
(sin.f32 (*.f32 (PI.f32) (*.f32 x tau)))
(sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))
(*.f32 tau (*.f32 (PI.f32) x))
(*.f32 (*.f32 x (PI.f32)) tau)
(*.f32 (PI.f32) (*.f32 x tau))
(*.f32 x (*.f32 (PI.f32) tau))
(+.f32 (*.f32 tau (*.f32 (PI.f32) x)) (*.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 x 3) (pow.f32 (PI.f32) 3)))))
(fma.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3))) (*.f32 (*.f32 x (PI.f32)) tau))
(fma.f32 (*.f32 x (PI.f32)) tau (*.f32 (*.f32 -1/6 (*.f32 (pow.f32 tau 3) (pow.f32 x 3))) (pow.f32 (PI.f32) 3)))
(fma.f32 x (*.f32 (PI.f32) tau) (*.f32 (pow.f32 (PI.f32) 3) (*.f32 (pow.f32 x 3) (*.f32 -1/6 (pow.f32 tau 3)))))
(fma.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3))) (*.f32 x (*.f32 (PI.f32) tau)))
(fma.f32 x (*.f32 (PI.f32) tau) (*.f32 (pow.f32 tau 3) (*.f32 -1/6 (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3)))))
(+.f32 (*.f32 tau (*.f32 (PI.f32) x)) (+.f32 (*.f32 1/120 (*.f32 (pow.f32 tau 5) (*.f32 (pow.f32 x 5) (pow.f32 (PI.f32) 5)))) (*.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 x 3) (pow.f32 (PI.f32) 3))))))
(fma.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3))) (fma.f32 1/120 (*.f32 (pow.f32 tau 5) (*.f32 (pow.f32 (PI.f32) 5) (pow.f32 x 5))) (*.f32 (*.f32 x (PI.f32)) tau)))
(fma.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3))) (fma.f32 1/120 (*.f32 (pow.f32 tau 5) (*.f32 (pow.f32 (PI.f32) 5) (pow.f32 x 5))) (*.f32 (PI.f32) (*.f32 x tau))))
(fma.f32 x (*.f32 (PI.f32) tau) (fma.f32 1/120 (*.f32 (pow.f32 x 5) (*.f32 (pow.f32 tau 5) (pow.f32 (PI.f32) 5))) (*.f32 (pow.f32 (PI.f32) 3) (*.f32 (pow.f32 x 3) (*.f32 -1/6 (pow.f32 tau 3))))))
(fma.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3))) (fma.f32 x (*.f32 (PI.f32) tau) (*.f32 (pow.f32 tau 5) (*.f32 1/120 (*.f32 (pow.f32 (PI.f32) 5) (pow.f32 x 5))))))
(fma.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3))) (fma.f32 x (*.f32 (PI.f32) tau) (*.f32 (pow.f32 x 5) (*.f32 (pow.f32 (PI.f32) 5) (*.f32 1/120 (pow.f32 tau 5))))))
(+.f32 (*.f32 tau (*.f32 (PI.f32) x)) (+.f32 (*.f32 -1/5040 (*.f32 (pow.f32 tau 7) (*.f32 (pow.f32 x 7) (pow.f32 (PI.f32) 7)))) (+.f32 (*.f32 1/120 (*.f32 (pow.f32 tau 5) (*.f32 (pow.f32 x 5) (pow.f32 (PI.f32) 5)))) (*.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 x 3) (pow.f32 (PI.f32) 3)))))))
(fma.f32 -1/5040 (*.f32 (pow.f32 tau 7) (*.f32 (pow.f32 (PI.f32) 7) (pow.f32 x 7))) (fma.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3))) (fma.f32 1/120 (*.f32 (pow.f32 tau 5) (*.f32 (pow.f32 (PI.f32) 5) (pow.f32 x 5))) (*.f32 (*.f32 x (PI.f32)) tau))))
(fma.f32 -1/5040 (*.f32 (pow.f32 tau 7) (*.f32 (pow.f32 (PI.f32) 7) (pow.f32 x 7))) (fma.f32 -1/6 (*.f32 (pow.f32 tau 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3))) (fma.f32 1/120 (*.f32 (pow.f32 tau 5) (*.f32 (pow.f32 (PI.f32) 5) (pow.f32 x 5))) (*.f32 (PI.f32) (*.f32 x tau)))))
(fma.f32 x (*.f32 (PI.f32) tau) (fma.f32 1/120 (*.f32 (pow.f32 x 5) (*.f32 (pow.f32 tau 5) (pow.f32 (PI.f32) 5))) (fma.f32 (*.f32 (pow.f32 x 7) (*.f32 -1/5040 (pow.f32 tau 7))) (pow.f32 (PI.f32) 7) (*.f32 (pow.f32 (PI.f32) 3) (*.f32 (pow.f32 x 3) (*.f32 -1/6 (pow.f32 tau 3)))))))
(fma.f32 x (*.f32 (PI.f32) tau) (fma.f32 1/120 (*.f32 (pow.f32 x 5) (*.f32 (pow.f32 tau 5) (pow.f32 (PI.f32) 5))) (fma.f32 (pow.f32 (PI.f32) 7) (*.f32 (pow.f32 x 7) (*.f32 -1/5040 (pow.f32 tau 7))) (*.f32 (pow.f32 (PI.f32) 3) (*.f32 (pow.f32 x 3) (*.f32 -1/6 (pow.f32 tau 3)))))))
(fma.f32 x (*.f32 (PI.f32) tau) (fma.f32 (pow.f32 (PI.f32) 7) (*.f32 -1/5040 (*.f32 (pow.f32 tau 7) (pow.f32 x 7))) (fma.f32 (pow.f32 (PI.f32) 3) (*.f32 -1/6 (*.f32 (pow.f32 tau 3) (pow.f32 x 3))) (*.f32 (pow.f32 tau 5) (*.f32 1/120 (*.f32 (pow.f32 (PI.f32) 5) (pow.f32 x 5)))))))
(fma.f32 x (*.f32 (PI.f32) tau) (fma.f32 1/120 (*.f32 (pow.f32 x 5) (*.f32 (pow.f32 tau 5) (pow.f32 (PI.f32) 5))) (fma.f32 (pow.f32 tau 3) (*.f32 -1/6 (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3))) (*.f32 (pow.f32 (PI.f32) 7) (*.f32 (pow.f32 x 7) (*.f32 -1/5040 (pow.f32 tau 7)))))))
(sin.f32 (*.f32 tau (*.f32 x (PI.f32))))
(sin.f32 (*.f32 (*.f32 x (PI.f32)) tau))
(sin.f32 (*.f32 (PI.f32) (*.f32 x tau)))
(sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))
(sin.f32 (*.f32 tau (*.f32 x (PI.f32))))
(sin.f32 (*.f32 (*.f32 x (PI.f32)) tau))
(sin.f32 (*.f32 (PI.f32) (*.f32 x tau)))
(sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))
(sin.f32 (*.f32 tau (*.f32 x (PI.f32))))
(sin.f32 (*.f32 (*.f32 x (PI.f32)) tau))
(sin.f32 (*.f32 (PI.f32) (*.f32 x tau)))
(sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))
(sin.f32 (*.f32 tau (*.f32 x (PI.f32))))
(sin.f32 (*.f32 (*.f32 x (PI.f32)) tau))
(sin.f32 (*.f32 (PI.f32) (*.f32 x tau)))
(sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))
(sin.f32 (*.f32 tau (*.f32 (PI.f32) x)))
(sin.f32 (*.f32 (*.f32 x (PI.f32)) tau))
(sin.f32 (*.f32 (PI.f32) (*.f32 x tau)))
(sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))
(sin.f32 (*.f32 tau (*.f32 (PI.f32) x)))
(sin.f32 (*.f32 (*.f32 x (PI.f32)) tau))
(sin.f32 (*.f32 (PI.f32) (*.f32 x tau)))
(sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))
(sin.f32 (*.f32 tau (*.f32 (PI.f32) x)))
(sin.f32 (*.f32 (*.f32 x (PI.f32)) tau))
(sin.f32 (*.f32 (PI.f32) (*.f32 x tau)))
(sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))
(sin.f32 (*.f32 tau (*.f32 (PI.f32) x)))
(sin.f32 (*.f32 (*.f32 x (PI.f32)) tau))
(sin.f32 (*.f32 (PI.f32) (*.f32 x tau)))
(sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))
(*.f32 (PI.f32) x)
(*.f32 x (PI.f32))
(*.f32 (PI.f32) x)
(*.f32 x (PI.f32))
(*.f32 (PI.f32) x)
(*.f32 x (PI.f32))
(*.f32 (PI.f32) x)
(*.f32 x (PI.f32))
(*.f32 (PI.f32) x)
(*.f32 x (PI.f32))
(*.f32 (PI.f32) x)
(*.f32 x (PI.f32))
(*.f32 (PI.f32) x)
(*.f32 x (PI.f32))
(*.f32 (PI.f32) x)
(*.f32 x (PI.f32))
(*.f32 (PI.f32) x)
(*.f32 x (PI.f32))
(*.f32 (PI.f32) x)
(*.f32 x (PI.f32))
(*.f32 (PI.f32) x)
(*.f32 x (PI.f32))
(*.f32 (PI.f32) x)
(*.f32 x (PI.f32))

prune580.0ms (10.7%)

Pruning

15 alts after pruning (15 fresh and 0 done)

PrunedKeptTotal
New23014244
Fresh011
Picked101
Done000
Total23115246
Error
0.1b
Counts
246 → 15
Alt Table
StatusErrorProgram
1.3b
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (+.f32 (log.f32 (pow.f32 (cbrt.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))) 2)) (log.f32 (cbrt.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))))))
1.2b
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (pow.f32 (cbrt.f32 (*.f32 x (PI.f32))) 3)))
0.9b
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (/.f32 (sqrt.f32 (sin.f32 (*.f32 x (PI.f32)))) 1) (/.f32 (sqrt.f32 (sin.f32 (*.f32 x (PI.f32)))) (*.f32 x (PI.f32)))))
5.8b
(*.f32 (/.f32 (+.f32 (log.f32 (sqrt.f32 (exp.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))))) (log.f32 (sqrt.f32 (exp.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))))))) (*.f32 (*.f32 x (PI.f32)) tau)) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
0.9b
(*.f32 (*.f32 (/.f32 (/.f32 1 x) (PI.f32)) (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) tau)) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
0.7b
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (log1p.f32 (expm1.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))))
1.0b
(*.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (/.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 (PI.f32) tau)) (*.f32 x (*.f32 x (PI.f32)))))
0.9b
(*.f32 (/.f32 (sin.f32 (*.f32 (pow.f32 (sqrt.f32 (*.f32 x (PI.f32))) 2) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
0.9b
(*.f32 (log.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau))))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
1.2b
(*.f32 (*.f32 (/.f32 (pow.f32 (cbrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) 2) tau) (/.f32 (cbrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) (*.f32 x (PI.f32)))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
0.8b
(*.f32 (*.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)) (/.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)) (log.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))))
3.6b
(*.f32 (+.f32 (*.f32 -1/5040 (*.f32 (pow.f32 tau 6) (*.f32 (pow.f32 (PI.f32) 6) (pow.f32 x 6)))) (+.f32 1 (+.f32 (*.f32 -1/6 (*.f32 (pow.f32 tau 2) (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2)))) (*.f32 1/120 (*.f32 (pow.f32 tau 4) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4))))))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
5.0b
(*.f32 (/.f32 (log.f32 (exp.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))))) (*.f32 (*.f32 x (PI.f32)) tau)) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
6.7b
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (+.f32 (log.f32 (sqrt.f32 (exp.f32 (*.f32 x (PI.f32))))) (log.f32 (sqrt.f32 (exp.f32 (*.f32 x (PI.f32))))))))
Compiler

Compiled 7581 to 2054 computations (72.9% saved)

localize51.0ms (0.9%)

Local error

Found 4 expressions with local error:

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

series4.0ms (0.1%)

Counts
1 → 12
Calls

3 calls:

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

rewrite48.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
794×pow1_binary32
734×add-log-exp_binary32
734×log1p-expm1-u_binary32
734×expm1-log1p-u_binary32
717×add-exp-log_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0716
114316
2192816
Stop Event
node limit
Counts
1 → 18
Calls
Call 1
Inputs
(expm1.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (expm1.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (expm1.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (cbrt.f32 (expm1.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))) (pow.f32 (cbrt.f32 (expm1.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 (expm1.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))) 2) (cbrt.f32 (expm1.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (sqrt.f32 (expm1.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))) (sqrt.f32 (expm1.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 (pow.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32)))) 3) 1) (+.f32 (*.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32)))) (exp.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))) (+.f32 1 (*.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32)))) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (-.f32 (*.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32)))) (exp.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))) 1) (+.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (expm1.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (pow.f32 (expm1.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 (expm1.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (sqrt.f32 (expm1.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f32 (pow.f32 (expm1.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f32 (exp.f32 (expm1.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f32 (pow.f32 (expm1.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f32 (expm1.f32 (expm1.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f32 (log.f32 (expm1.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))))))))

simplify43.0ms (0.8%)

Algorithm
egg-herbie
Rules
561×times-frac_binary32
484×unswap-sqr_binary32
423×associate-*l*_binary32
415×associate-*r*_binary32
403×distribute-rgt-out_binary32
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
089564
1282546
2789528
35015486
Stop Event
node limit
Counts
30 → 37
Calls
Call 1
Inputs
(-.f32 (E.f32) 1)
(-.f32 (+.f32 (E.f32) (*.f32 -1/6 (*.f32 (E.f32) (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2))))) 1)
(-.f32 (+.f32 (E.f32) (+.f32 (*.f32 -1/6 (*.f32 (E.f32) (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2)))) (*.f32 (E.f32) (*.f32 (+.f32 (*.f32 1/72 (pow.f32 (PI.f32) 4)) (*.f32 1/120 (pow.f32 (PI.f32) 4))) (pow.f32 x 4))))) 1)
(-.f32 (+.f32 (E.f32) (+.f32 (*.f32 -1/6 (*.f32 (E.f32) (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2)))) (+.f32 (*.f32 (E.f32) (*.f32 (+.f32 (*.f32 1/72 (pow.f32 (PI.f32) 4)) (*.f32 1/120 (pow.f32 (PI.f32) 4))) (pow.f32 x 4))) (*.f32 (E.f32) (*.f32 (+.f32 (*.f32 -1/5040 (pow.f32 (PI.f32) 6)) (+.f32 (*.f32 -1/720 (pow.f32 (PI.f32) 6)) (*.f32 -1/1296 (pow.f32 (PI.f32) 6)))) (pow.f32 x 6)))))) 1)
(/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 x (PI.f32)))
(+.f32 (*.f32 1/2 (/.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) x)) 2) (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2)))) (/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 (PI.f32) x)))
(+.f32 (*.f32 1/6 (/.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) x)) 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3)))) (+.f32 (*.f32 1/2 (/.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) x)) 2) (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2)))) (/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 (PI.f32) x))))
(+.f32 (*.f32 1/6 (/.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) x)) 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3)))) (+.f32 (*.f32 1/24 (/.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) x)) 4) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4)))) (+.f32 (*.f32 1/2 (/.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) x)) 2) (*.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 x (PI.f32))) (*.f32 x (PI.f32)))
(+.f32 (*.f32 1/2 (/.f32 (pow.f32 (sin.f32 (*.f32 x (PI.f32))) 2) (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2)))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 (PI.f32) x)))
(+.f32 (*.f32 1/6 (/.f32 (pow.f32 (sin.f32 (*.f32 x (PI.f32))) 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3)))) (+.f32 (*.f32 1/2 (/.f32 (pow.f32 (sin.f32 (*.f32 x (PI.f32))) 2) (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2)))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 (PI.f32) x))))
(+.f32 (*.f32 1/6 (/.f32 (pow.f32 (sin.f32 (*.f32 x (PI.f32))) 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3)))) (+.f32 (*.f32 1/2 (/.f32 (pow.f32 (sin.f32 (*.f32 x (PI.f32))) 2) (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2)))) (+.f32 (*.f32 1/24 (/.f32 (pow.f32 (sin.f32 (*.f32 x (PI.f32))) 4) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4)))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 (PI.f32) x)))))
Outputs
(-.f32 (E.f32) 1)
(+.f32 (E.f32) -1)
(expm1.f32 1)
(-.f32 (+.f32 (E.f32) (*.f32 -1/6 (*.f32 (E.f32) (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2))))) 1)
(+.f32 (E.f32) (-.f32 (*.f32 (*.f32 -1/6 (E.f32)) (*.f32 (*.f32 x x) (pow.f32 (PI.f32) 2))) 1))
(+.f32 (E.f32) (fma.f32 -1/6 (*.f32 (E.f32) (*.f32 (*.f32 x x) (pow.f32 (PI.f32) 2))) -1))
(fma.f32 (E.f32) (*.f32 -1/6 (*.f32 (*.f32 x x) (pow.f32 (PI.f32) 2))) (expm1.f32 1))
(fma.f32 (E.f32) (*.f32 -1/6 (*.f32 x (*.f32 x (pow.f32 (PI.f32) 2)))) (expm1.f32 1))
(-.f32 (+.f32 (E.f32) (+.f32 (*.f32 -1/6 (*.f32 (E.f32) (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2)))) (*.f32 (E.f32) (*.f32 (+.f32 (*.f32 1/72 (pow.f32 (PI.f32) 4)) (*.f32 1/120 (pow.f32 (PI.f32) 4))) (pow.f32 x 4))))) 1)
(+.f32 (E.f32) (-.f32 (fma.f32 -1/6 (*.f32 (E.f32) (*.f32 (*.f32 x x) (pow.f32 (PI.f32) 2))) (*.f32 (E.f32) (*.f32 (*.f32 (pow.f32 (PI.f32) 4) 1/45) (pow.f32 x 4)))) 1))
(+.f32 (fma.f32 -1/6 (*.f32 (E.f32) (*.f32 (*.f32 x x) (pow.f32 (PI.f32) 2))) (*.f32 (E.f32) (*.f32 (*.f32 (pow.f32 (PI.f32) 4) 1/45) (pow.f32 x 4)))) (expm1.f32 1))
(+.f32 (*.f32 (E.f32) (+.f32 (*.f32 -1/6 (*.f32 (*.f32 x x) (pow.f32 (PI.f32) 2))) (*.f32 (pow.f32 (PI.f32) 4) (*.f32 (pow.f32 x 4) 1/45)))) (expm1.f32 1))
(+.f32 (E.f32) (fma.f32 (E.f32) (+.f32 (*.f32 -1/6 (*.f32 x (*.f32 x (pow.f32 (PI.f32) 2)))) (*.f32 (*.f32 (pow.f32 (PI.f32) 4) 1/45) (pow.f32 x 4))) -1))
(-.f32 (+.f32 (E.f32) (+.f32 (*.f32 -1/6 (*.f32 (E.f32) (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2)))) (+.f32 (*.f32 (E.f32) (*.f32 (+.f32 (*.f32 1/72 (pow.f32 (PI.f32) 4)) (*.f32 1/120 (pow.f32 (PI.f32) 4))) (pow.f32 x 4))) (*.f32 (E.f32) (*.f32 (+.f32 (*.f32 -1/5040 (pow.f32 (PI.f32) 6)) (+.f32 (*.f32 -1/720 (pow.f32 (PI.f32) 6)) (*.f32 -1/1296 (pow.f32 (PI.f32) 6)))) (pow.f32 x 6)))))) 1)
(+.f32 (E.f32) (-.f32 (fma.f32 -1/6 (*.f32 (E.f32) (*.f32 (*.f32 x x) (pow.f32 (PI.f32) 2))) (*.f32 (E.f32) (+.f32 (*.f32 (*.f32 (pow.f32 (PI.f32) 4) 1/45) (pow.f32 x 4)) (*.f32 (fma.f32 -1/5040 (pow.f32 (PI.f32) 6) (*.f32 (pow.f32 (PI.f32) 6) -7/3240)) (pow.f32 x 6))))) 1))
(+.f32 (fma.f32 (E.f32) (fma.f32 (*.f32 (pow.f32 (PI.f32) 4) 1/45) (pow.f32 x 4) (*.f32 (*.f32 (pow.f32 (PI.f32) 6) -107/45360) (pow.f32 x 6))) (*.f32 -1/6 (*.f32 (E.f32) (*.f32 (*.f32 x x) (pow.f32 (PI.f32) 2))))) (expm1.f32 1))
(+.f32 (*.f32 (E.f32) (+.f32 (*.f32 -1/6 (*.f32 (*.f32 x x) (pow.f32 (PI.f32) 2))) (fma.f32 (pow.f32 (PI.f32) 4) (*.f32 (pow.f32 x 4) 1/45) (*.f32 (*.f32 (pow.f32 (PI.f32) 6) -107/45360) (pow.f32 x 6))))) (expm1.f32 1))
(+.f32 (E.f32) (fma.f32 (E.f32) (+.f32 (*.f32 -1/6 (*.f32 x (*.f32 x (pow.f32 (PI.f32) 2)))) (fma.f32 (pow.f32 (PI.f32) 4) (*.f32 (pow.f32 x 4) 1/45) (*.f32 (pow.f32 (PI.f32) 6) (*.f32 -107/45360 (pow.f32 x 6))))) -1))
(/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 x (PI.f32)))
(/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32)))
(+.f32 (*.f32 1/2 (/.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) x)) 2) (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2)))) (/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 (PI.f32) x)))
(fma.f32 1/2 (/.f32 (pow.f32 (sin.f32 (*.f32 x (PI.f32))) 2) (*.f32 (*.f32 x x) (pow.f32 (PI.f32) 2))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
(fma.f32 1/2 (/.f32 (/.f32 (pow.f32 (sin.f32 (*.f32 x (PI.f32))) 2) (pow.f32 (PI.f32) 2)) (*.f32 x x)) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
(*.f32 (+.f32 (/.f32 (*.f32 1/2 (sin.f32 (*.f32 x (PI.f32)))) (*.f32 x (PI.f32))) 1) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
(+.f32 (*.f32 1/6 (/.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) x)) 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3)))) (+.f32 (*.f32 1/2 (/.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) x)) 2) (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2)))) (/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 (PI.f32) x))))
(fma.f32 1/6 (/.f32 (pow.f32 (sin.f32 (*.f32 x (PI.f32))) 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3))) (fma.f32 1/2 (/.f32 (pow.f32 (sin.f32 (*.f32 x (PI.f32))) 2) (*.f32 (*.f32 x x) (pow.f32 (PI.f32) 2))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32)))))
(fma.f32 1/6 (/.f32 (pow.f32 (sin.f32 (*.f32 x (PI.f32))) 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3))) (fma.f32 1/2 (/.f32 (/.f32 (pow.f32 (sin.f32 (*.f32 x (PI.f32))) 2) (pow.f32 (PI.f32) 2)) (*.f32 x x)) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32)))))
(fma.f32 1/2 (/.f32 (/.f32 (pow.f32 (sin.f32 (*.f32 x (PI.f32))) 2) (pow.f32 (PI.f32) 2)) (*.f32 x x)) (fma.f32 1/6 (/.f32 (pow.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (PI.f32)) 3) (pow.f32 x 3)) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32)))))
(fma.f32 1/6 (pow.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))) 3) (*.f32 (+.f32 (/.f32 (*.f32 1/2 (sin.f32 (*.f32 x (PI.f32)))) (*.f32 x (PI.f32))) 1) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32)))))
(+.f32 (*.f32 1/6 (/.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) x)) 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3)))) (+.f32 (*.f32 1/24 (/.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) x)) 4) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4)))) (+.f32 (*.f32 1/2 (/.f32 (pow.f32 (sin.f32 (*.f32 (PI.f32) x)) 2) (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2)))) (/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 (PI.f32) x)))))
(fma.f32 1/6 (/.f32 (pow.f32 (sin.f32 (*.f32 x (PI.f32))) 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3))) (fma.f32 1/24 (/.f32 (pow.f32 (sin.f32 (*.f32 x (PI.f32))) 4) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4))) (fma.f32 1/2 (/.f32 (pow.f32 (sin.f32 (*.f32 x (PI.f32))) 2) (*.f32 (*.f32 x x) (pow.f32 (PI.f32) 2))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))))
(fma.f32 1/6 (/.f32 (pow.f32 (sin.f32 (*.f32 x (PI.f32))) 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3))) (fma.f32 1/2 (/.f32 (/.f32 (pow.f32 (sin.f32 (*.f32 x (PI.f32))) 2) (pow.f32 (PI.f32) 2)) (*.f32 x x)) (fma.f32 1/24 (/.f32 (/.f32 (pow.f32 (sin.f32 (*.f32 x (PI.f32))) 4) (pow.f32 (PI.f32) 4)) (pow.f32 x 4)) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))))
(fma.f32 1/24 (/.f32 (pow.f32 (sin.f32 (*.f32 x (PI.f32))) 4) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4))) (fma.f32 1/2 (/.f32 (/.f32 (pow.f32 (sin.f32 (*.f32 x (PI.f32))) 2) (pow.f32 (PI.f32) 2)) (*.f32 x x)) (fma.f32 1/6 (/.f32 (pow.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (PI.f32)) 3) (pow.f32 x 3)) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))))
(fma.f32 1/6 (pow.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))) 3) (fma.f32 1/24 (/.f32 (pow.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (PI.f32)) 4) (pow.f32 x 4)) (*.f32 (+.f32 (/.f32 (*.f32 1/2 (sin.f32 (*.f32 x (PI.f32)))) (*.f32 x (PI.f32))) 1) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))))
(/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32)))
(+.f32 (*.f32 1/2 (/.f32 (pow.f32 (sin.f32 (*.f32 x (PI.f32))) 2) (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2)))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 (PI.f32) x)))
(fma.f32 1/2 (/.f32 (pow.f32 (sin.f32 (*.f32 x (PI.f32))) 2) (*.f32 (*.f32 x x) (pow.f32 (PI.f32) 2))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
(fma.f32 1/2 (/.f32 (/.f32 (pow.f32 (sin.f32 (*.f32 x (PI.f32))) 2) (pow.f32 (PI.f32) 2)) (*.f32 x x)) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
(*.f32 (+.f32 (/.f32 (*.f32 1/2 (sin.f32 (*.f32 x (PI.f32)))) (*.f32 x (PI.f32))) 1) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
(+.f32 (*.f32 1/6 (/.f32 (pow.f32 (sin.f32 (*.f32 x (PI.f32))) 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3)))) (+.f32 (*.f32 1/2 (/.f32 (pow.f32 (sin.f32 (*.f32 x (PI.f32))) 2) (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2)))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 (PI.f32) x))))
(fma.f32 1/6 (/.f32 (pow.f32 (sin.f32 (*.f32 x (PI.f32))) 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3))) (fma.f32 1/2 (/.f32 (pow.f32 (sin.f32 (*.f32 x (PI.f32))) 2) (*.f32 (*.f32 x x) (pow.f32 (PI.f32) 2))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32)))))
(fma.f32 1/6 (/.f32 (pow.f32 (sin.f32 (*.f32 x (PI.f32))) 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3))) (fma.f32 1/2 (/.f32 (/.f32 (pow.f32 (sin.f32 (*.f32 x (PI.f32))) 2) (pow.f32 (PI.f32) 2)) (*.f32 x x)) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32)))))
(fma.f32 1/2 (/.f32 (/.f32 (pow.f32 (sin.f32 (*.f32 x (PI.f32))) 2) (pow.f32 (PI.f32) 2)) (*.f32 x x)) (fma.f32 1/6 (/.f32 (pow.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (PI.f32)) 3) (pow.f32 x 3)) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32)))))
(fma.f32 1/6 (pow.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))) 3) (*.f32 (+.f32 (/.f32 (*.f32 1/2 (sin.f32 (*.f32 x (PI.f32)))) (*.f32 x (PI.f32))) 1) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32)))))
(+.f32 (*.f32 1/6 (/.f32 (pow.f32 (sin.f32 (*.f32 x (PI.f32))) 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3)))) (+.f32 (*.f32 1/2 (/.f32 (pow.f32 (sin.f32 (*.f32 x (PI.f32))) 2) (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2)))) (+.f32 (*.f32 1/24 (/.f32 (pow.f32 (sin.f32 (*.f32 x (PI.f32))) 4) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4)))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 (PI.f32) x)))))
(fma.f32 1/6 (/.f32 (pow.f32 (sin.f32 (*.f32 x (PI.f32))) 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3))) (fma.f32 1/24 (/.f32 (pow.f32 (sin.f32 (*.f32 x (PI.f32))) 4) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4))) (fma.f32 1/2 (/.f32 (pow.f32 (sin.f32 (*.f32 x (PI.f32))) 2) (*.f32 (*.f32 x x) (pow.f32 (PI.f32) 2))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))))
(fma.f32 1/6 (/.f32 (pow.f32 (sin.f32 (*.f32 x (PI.f32))) 3) (*.f32 (pow.f32 (PI.f32) 3) (pow.f32 x 3))) (fma.f32 1/2 (/.f32 (/.f32 (pow.f32 (sin.f32 (*.f32 x (PI.f32))) 2) (pow.f32 (PI.f32) 2)) (*.f32 x x)) (fma.f32 1/24 (/.f32 (/.f32 (pow.f32 (sin.f32 (*.f32 x (PI.f32))) 4) (pow.f32 (PI.f32) 4)) (pow.f32 x 4)) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))))
(fma.f32 1/24 (/.f32 (pow.f32 (sin.f32 (*.f32 x (PI.f32))) 4) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4))) (fma.f32 1/2 (/.f32 (/.f32 (pow.f32 (sin.f32 (*.f32 x (PI.f32))) 2) (pow.f32 (PI.f32) 2)) (*.f32 x x)) (fma.f32 1/6 (/.f32 (pow.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (PI.f32)) 3) (pow.f32 x 3)) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))))
(fma.f32 1/6 (pow.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))) 3) (fma.f32 1/24 (/.f32 (pow.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (PI.f32)) 4) (pow.f32 x 4)) (*.f32 (+.f32 (/.f32 (*.f32 1/2 (sin.f32 (*.f32 x (PI.f32)))) (*.f32 x (PI.f32))) 1) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))))

prune398.0ms (7.3%)

Pruning

14 alts after pruning (14 fresh and 0 done)

PrunedKeptTotal
New1845189
Fresh5914
Picked101
Done000
Total19014204
Error
0.1b
Counts
204 → 14
Alt Table
StatusErrorProgram
1.0b
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (log1p.f32 (pow.f32 (cbrt.f32 (expm1.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))) 3)))
3.6b
(*.f32 (+.f32 (*.f32 -1/5040 (*.f32 (pow.f32 tau 6) (*.f32 (pow.f32 (PI.f32) 6) (pow.f32 x 6)))) (+.f32 1 (+.f32 (*.f32 -1/6 (*.f32 (pow.f32 tau 2) (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2)))) (*.f32 1/120 (*.f32 (pow.f32 tau 4) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4))))))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
5.0b
(*.f32 (/.f32 (log.f32 (exp.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))))) (*.f32 (*.f32 x (PI.f32)) tau)) (log1p.f32 (expm1.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))))
5.8b
(*.f32 (/.f32 (+.f32 (log.f32 (sqrt.f32 (exp.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))))) (log.f32 (sqrt.f32 (exp.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))))))) (*.f32 (*.f32 x (PI.f32)) tau)) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
1.0b
(*.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (/.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 (PI.f32) tau)) (*.f32 x (*.f32 x (PI.f32)))))
0.9b
(*.f32 (/.f32 (sin.f32 (*.f32 (pow.f32 (sqrt.f32 (*.f32 x (PI.f32))) 2) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
0.9b
(*.f32 (log.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau))))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
1.2b
(*.f32 (*.f32 (/.f32 (pow.f32 (cbrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) 2) tau) (/.f32 (cbrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) (*.f32 x (PI.f32)))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
0.8b
(*.f32 (*.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)) (/.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)) (log.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))))
0.9b
(*.f32 (*.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (/.f32 (/.f32 (/.f32 1 x) (PI.f32)) tau)) (log1p.f32 (expm1.f32 (/.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)) (log1p.f32 (pow.f32 (sqrt.f32 (expm1.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))) 2)))
1.2b
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (pow.f32 (cbrt.f32 (*.f32 x (PI.f32))) 3)))
1.3b
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (log1p.f32 (expm1.f32 (+.f32 (log.f32 (pow.f32 (cbrt.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))) 2)) (log.f32 (cbrt.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))))))))
Compiler

Compiled 6908 to 2075 computations (70% saved)

localize54.0ms (1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.4b
(/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau))
0.4b
(expm1.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
0.5b
(/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32)))
0.6b
(pow.f32 (sqrt.f32 (expm1.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))) 2)

series12.0ms (0.2%)

Counts
1 → 4
Calls

3 calls:

TimeVariablePointExpression
5.0ms
x
@-inf
(pow.f32 (sqrt.f32 (expm1.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))) 2)
4.0ms
x
@inf
(pow.f32 (sqrt.f32 (expm1.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))) 2)
3.0ms
x
@0
(pow.f32 (sqrt.f32 (expm1.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))) 2)

rewrite49.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
940×pow1_binary32
872×add-log-exp_binary32
872×log1p-expm1-u_binary32
872×expm1-log1p-u_binary32
851×add-exp-log_binary32
Iterations

Useful iterations: 0 (0.0ms)

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

simplify38.0ms (0.7%)

Algorithm
egg-herbie
Rules
939×times-frac_binary32
496×associate-*r*_binary32
458×associate-*l*_binary32
376×cancel-sign-sub-inv_binary32
337×fma-neg_binary32
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
082424
1251341
2777304
34255302
Stop Event
node limit
Counts
23 → 27
Calls
Call 1
Inputs
(-.f32 (E.f32) 1)
(-.f32 (+.f32 (E.f32) (*.f32 -1/6 (*.f32 (*.f32 (E.f32) (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2))) (sqrt.f32 (/.f32 (-.f32 (E.f32) 1) (-.f32 (exp.f32 1) 1)))))) 1)
(-.f32 (+.f32 (*.f32 (+.f32 (*.f32 1/144 (/.f32 (*.f32 (pow.f32 (E.f32) 2) (pow.f32 (PI.f32) 4)) (-.f32 (exp.f32 1) 1))) (*.f32 (sqrt.f32 (/.f32 (-.f32 (E.f32) 1) (-.f32 (exp.f32 1) 1))) (-.f32 (*.f32 (E.f32) (+.f32 (*.f32 1/72 (pow.f32 (PI.f32) 4)) (*.f32 1/120 (pow.f32 (PI.f32) 4)))) (pow.f32 (*.f32 -1/12 (*.f32 (sqrt.f32 (/.f32 1 (-.f32 (E.f32) 1))) (*.f32 (pow.f32 (PI.f32) 2) (exp.f32 1)))) 2)))) (pow.f32 x 4)) (+.f32 (E.f32) (*.f32 -1/6 (*.f32 (*.f32 (E.f32) (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2))) (sqrt.f32 (/.f32 (-.f32 (E.f32) 1) (-.f32 (exp.f32 1) 1))))))) 1)
(-.f32 (+.f32 (*.f32 (+.f32 (*.f32 1/144 (/.f32 (*.f32 (pow.f32 (E.f32) 2) (pow.f32 (PI.f32) 4)) (-.f32 (exp.f32 1) 1))) (*.f32 (sqrt.f32 (/.f32 (-.f32 (E.f32) 1) (-.f32 (exp.f32 1) 1))) (-.f32 (*.f32 (E.f32) (+.f32 (*.f32 1/72 (pow.f32 (PI.f32) 4)) (*.f32 1/120 (pow.f32 (PI.f32) 4)))) (pow.f32 (*.f32 -1/12 (*.f32 (sqrt.f32 (/.f32 1 (-.f32 (E.f32) 1))) (*.f32 (pow.f32 (PI.f32) 2) (exp.f32 1)))) 2)))) (pow.f32 x 4)) (+.f32 (E.f32) (+.f32 (*.f32 -1/6 (*.f32 (*.f32 (E.f32) (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2))) (sqrt.f32 (/.f32 (-.f32 (E.f32) 1) (-.f32 (exp.f32 1) 1))))) (*.f32 (+.f32 (*.f32 (sqrt.f32 (/.f32 (-.f32 (E.f32) 1) (-.f32 (exp.f32 1) 1))) (-.f32 (*.f32 (E.f32) (+.f32 (*.f32 -1/5040 (pow.f32 (PI.f32) 6)) (+.f32 (*.f32 -1/720 (pow.f32 (PI.f32) 6)) (*.f32 -1/1296 (pow.f32 (PI.f32) 6))))) (*.f32 -1/12 (/.f32 (*.f32 (-.f32 (*.f32 (+.f32 (*.f32 1/72 (pow.f32 (PI.f32) 4)) (*.f32 1/120 (pow.f32 (PI.f32) 4))) (exp.f32 1)) (pow.f32 (*.f32 -1/12 (*.f32 (*.f32 (E.f32) (pow.f32 (PI.f32) 2)) (sqrt.f32 (/.f32 1 (-.f32 (exp.f32 1) 1))))) 2)) (*.f32 (pow.f32 (PI.f32) 2) (exp.f32 1))) (-.f32 (E.f32) 1))))) (*.f32 -1/12 (/.f32 (*.f32 (E.f32) (*.f32 (-.f32 (*.f32 (E.f32) (+.f32 (*.f32 1/72 (pow.f32 (PI.f32) 4)) (*.f32 1/120 (pow.f32 (PI.f32) 4)))) (pow.f32 (*.f32 -1/12 (*.f32 (sqrt.f32 (/.f32 1 (-.f32 (E.f32) 1))) (*.f32 (pow.f32 (PI.f32) 2) (exp.f32 1)))) 2)) (pow.f32 (PI.f32) 2))) (-.f32 (exp.f32 1) 1)))) (pow.f32 x 6))))) 1)
Outputs
(-.f32 (E.f32) 1)
(expm1.f32 1)
(-.f32 (+.f32 (E.f32) (*.f32 -1/6 (*.f32 (*.f32 (E.f32) (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2))) (sqrt.f32 (/.f32 (-.f32 (E.f32) 1) (-.f32 (exp.f32 1) 1)))))) 1)
(+.f32 (E.f32) (-.f32 (*.f32 -1/6 (*.f32 (E.f32) (*.f32 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 x x)) (sqrt.f32 (/.f32 (expm1.f32 1) (expm1.f32 1)))))) 1))
(+.f32 (*.f32 -1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (*.f32 x x) (E.f32)))) (expm1.f32 1))
(fma.f32 (E.f32) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (*.f32 x x) -1/6)) (expm1.f32 1))
(-.f32 (+.f32 (*.f32 (+.f32 (*.f32 1/144 (/.f32 (*.f32 (pow.f32 (E.f32) 2) (pow.f32 (PI.f32) 4)) (-.f32 (exp.f32 1) 1))) (*.f32 (sqrt.f32 (/.f32 (-.f32 (E.f32) 1) (-.f32 (exp.f32 1) 1))) (-.f32 (*.f32 (E.f32) (+.f32 (*.f32 1/72 (pow.f32 (PI.f32) 4)) (*.f32 1/120 (pow.f32 (PI.f32) 4)))) (pow.f32 (*.f32 -1/12 (*.f32 (sqrt.f32 (/.f32 1 (-.f32 (E.f32) 1))) (*.f32 (pow.f32 (PI.f32) 2) (exp.f32 1)))) 2)))) (pow.f32 x 4)) (+.f32 (E.f32) (*.f32 -1/6 (*.f32 (*.f32 (E.f32) (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2))) (sqrt.f32 (/.f32 (-.f32 (E.f32) 1) (-.f32 (exp.f32 1) 1))))))) 1)
(+.f32 (fma.f32 (fma.f32 1/144 (/.f32 (pow.f32 (E.f32) 2) (/.f32 (expm1.f32 1) (pow.f32 (PI.f32) 4))) (*.f32 (sqrt.f32 (/.f32 (expm1.f32 1) (expm1.f32 1))) (-.f32 (*.f32 (E.f32) (*.f32 (pow.f32 (PI.f32) 4) 1/45)) (pow.f32 (*.f32 -1/12 (*.f32 (E.f32) (*.f32 (pow.f32 (PI.f32) 2) (sqrt.f32 (/.f32 1 (expm1.f32 1)))))) 2)))) (pow.f32 x 4) (+.f32 (E.f32) (*.f32 -1/6 (*.f32 (E.f32) (*.f32 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 x x)) (sqrt.f32 (/.f32 (expm1.f32 1) (expm1.f32 1)))))))) -1)
(fma.f32 (fma.f32 1 (-.f32 (*.f32 (E.f32) (*.f32 (pow.f32 (PI.f32) 4) 1/45)) (pow.f32 (*.f32 -1/12 (*.f32 (*.f32 (E.f32) (pow.f32 (PI.f32) 2)) (sqrt.f32 (/.f32 1 (expm1.f32 1))))) 2)) (*.f32 1/144 (/.f32 (exp.f32 2) (/.f32 (expm1.f32 1) (pow.f32 (PI.f32) 4))))) (pow.f32 x 4) (+.f32 (*.f32 -1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (*.f32 x x) (E.f32)))) (expm1.f32 1)))
(fma.f32 (fma.f32 1/144 (/.f32 (pow.f32 (PI.f32) 4) (/.f32 (expm1.f32 1) (exp.f32 2))) (fma.f32 (E.f32) (*.f32 (pow.f32 (PI.f32) 4) 1/45) (*.f32 (*.f32 (exp.f32 2) (*.f32 1/144 (pow.f32 (PI.f32) 4))) (/.f32 -1 (expm1.f32 1))))) (pow.f32 x 4) (fma.f32 (E.f32) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (*.f32 x x) -1/6)) (expm1.f32 1)))
(fma.f32 (fma.f32 1/144 (/.f32 (pow.f32 (PI.f32) 4) (-.f32 (exp.f32 -1) (exp.f32 -2))) (fma.f32 (E.f32) (*.f32 (pow.f32 (PI.f32) 4) 1/45) (*.f32 (*.f32 (exp.f32 2) (*.f32 1/144 (pow.f32 (PI.f32) 4))) (/.f32 -1 (expm1.f32 1))))) (pow.f32 x 4) (fma.f32 (E.f32) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (*.f32 x x) -1/6)) (expm1.f32 1)))
(-.f32 (+.f32 (*.f32 (+.f32 (*.f32 1/144 (/.f32 (*.f32 (pow.f32 (E.f32) 2) (pow.f32 (PI.f32) 4)) (-.f32 (exp.f32 1) 1))) (*.f32 (sqrt.f32 (/.f32 (-.f32 (E.f32) 1) (-.f32 (exp.f32 1) 1))) (-.f32 (*.f32 (E.f32) (+.f32 (*.f32 1/72 (pow.f32 (PI.f32) 4)) (*.f32 1/120 (pow.f32 (PI.f32) 4)))) (pow.f32 (*.f32 -1/12 (*.f32 (sqrt.f32 (/.f32 1 (-.f32 (E.f32) 1))) (*.f32 (pow.f32 (PI.f32) 2) (exp.f32 1)))) 2)))) (pow.f32 x 4)) (+.f32 (E.f32) (+.f32 (*.f32 -1/6 (*.f32 (*.f32 (E.f32) (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2))) (sqrt.f32 (/.f32 (-.f32 (E.f32) 1) (-.f32 (exp.f32 1) 1))))) (*.f32 (+.f32 (*.f32 (sqrt.f32 (/.f32 (-.f32 (E.f32) 1) (-.f32 (exp.f32 1) 1))) (-.f32 (*.f32 (E.f32) (+.f32 (*.f32 -1/5040 (pow.f32 (PI.f32) 6)) (+.f32 (*.f32 -1/720 (pow.f32 (PI.f32) 6)) (*.f32 -1/1296 (pow.f32 (PI.f32) 6))))) (*.f32 -1/12 (/.f32 (*.f32 (-.f32 (*.f32 (+.f32 (*.f32 1/72 (pow.f32 (PI.f32) 4)) (*.f32 1/120 (pow.f32 (PI.f32) 4))) (exp.f32 1)) (pow.f32 (*.f32 -1/12 (*.f32 (*.f32 (E.f32) (pow.f32 (PI.f32) 2)) (sqrt.f32 (/.f32 1 (-.f32 (exp.f32 1) 1))))) 2)) (*.f32 (pow.f32 (PI.f32) 2) (exp.f32 1))) (-.f32 (E.f32) 1))))) (*.f32 -1/12 (/.f32 (*.f32 (E.f32) (*.f32 (-.f32 (*.f32 (E.f32) (+.f32 (*.f32 1/72 (pow.f32 (PI.f32) 4)) (*.f32 1/120 (pow.f32 (PI.f32) 4)))) (pow.f32 (*.f32 -1/12 (*.f32 (sqrt.f32 (/.f32 1 (-.f32 (E.f32) 1))) (*.f32 (pow.f32 (PI.f32) 2) (exp.f32 1)))) 2)) (pow.f32 (PI.f32) 2))) (-.f32 (exp.f32 1) 1)))) (pow.f32 x 6))))) 1)
(+.f32 (fma.f32 (fma.f32 1/144 (/.f32 (pow.f32 (E.f32) 2) (/.f32 (expm1.f32 1) (pow.f32 (PI.f32) 4))) (*.f32 (sqrt.f32 (/.f32 (expm1.f32 1) (expm1.f32 1))) (-.f32 (*.f32 (E.f32) (*.f32 (pow.f32 (PI.f32) 4) 1/45)) (pow.f32 (*.f32 -1/12 (*.f32 (E.f32) (*.f32 (pow.f32 (PI.f32) 2) (sqrt.f32 (/.f32 1 (expm1.f32 1)))))) 2)))) (pow.f32 x 4) (+.f32 (E.f32) (fma.f32 -1/6 (*.f32 (E.f32) (*.f32 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 x x)) (sqrt.f32 (/.f32 (expm1.f32 1) (expm1.f32 1))))) (*.f32 (fma.f32 (sqrt.f32 (/.f32 (expm1.f32 1) (expm1.f32 1))) (-.f32 (*.f32 (E.f32) (fma.f32 -1/5040 (pow.f32 (PI.f32) 6) (*.f32 (pow.f32 (PI.f32) 6) -7/3240))) (*.f32 -1/12 (/.f32 (E.f32) (/.f32 (expm1.f32 1) (*.f32 (pow.f32 (PI.f32) 2) (-.f32 (*.f32 (E.f32) (*.f32 (pow.f32 (PI.f32) 4) 1/45)) (pow.f32 (*.f32 -1/12 (*.f32 (E.f32) (*.f32 (pow.f32 (PI.f32) 2) (sqrt.f32 (/.f32 1 (expm1.f32 1)))))) 2))))))) (*.f32 -1/12 (/.f32 (E.f32) (/.f32 (expm1.f32 1) (*.f32 (pow.f32 (PI.f32) 2) (-.f32 (*.f32 (E.f32) (*.f32 (pow.f32 (PI.f32) 4) 1/45)) (pow.f32 (*.f32 -1/12 (*.f32 (E.f32) (*.f32 (pow.f32 (PI.f32) 2) (sqrt.f32 (/.f32 1 (expm1.f32 1)))))) 2))))))) (pow.f32 x 6))))) -1)
(fma.f32 (fma.f32 1 (-.f32 (*.f32 (E.f32) (*.f32 (pow.f32 (PI.f32) 4) 1/45)) (pow.f32 (*.f32 -1/12 (*.f32 (*.f32 (E.f32) (pow.f32 (PI.f32) 2)) (sqrt.f32 (/.f32 1 (expm1.f32 1))))) 2)) (*.f32 1/144 (/.f32 (exp.f32 2) (/.f32 (expm1.f32 1) (pow.f32 (PI.f32) 4))))) (pow.f32 x 4) (+.f32 (fma.f32 (fma.f32 1 (fma.f32 (E.f32) (*.f32 (pow.f32 (PI.f32) 6) -107/45360) (/.f32 (*.f32 1/12 (E.f32)) (/.f32 (expm1.f32 1) (*.f32 (pow.f32 (PI.f32) 2) (-.f32 (*.f32 (E.f32) (*.f32 (pow.f32 (PI.f32) 4) 1/45)) (pow.f32 (*.f32 -1/12 (*.f32 (*.f32 (E.f32) (pow.f32 (PI.f32) 2)) (sqrt.f32 (/.f32 1 (expm1.f32 1))))) 2)))))) (*.f32 -1/12 (*.f32 (/.f32 (E.f32) (expm1.f32 1)) (*.f32 (pow.f32 (PI.f32) 2) (-.f32 (*.f32 (E.f32) (*.f32 (pow.f32 (PI.f32) 4) 1/45)) (pow.f32 (*.f32 -1/12 (*.f32 (*.f32 (E.f32) (pow.f32 (PI.f32) 2)) (sqrt.f32 (/.f32 1 (expm1.f32 1))))) 2)))))) (pow.f32 x 6) (*.f32 -1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (*.f32 x x) (E.f32))))) (expm1.f32 1)))
(+.f32 (fma.f32 (E.f32) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (*.f32 x x) -1/6)) (fma.f32 (fma.f32 1/144 (/.f32 (pow.f32 (PI.f32) 4) (/.f32 (expm1.f32 1) (exp.f32 2))) (fma.f32 (E.f32) (*.f32 (pow.f32 (PI.f32) 4) 1/45) (*.f32 (*.f32 (exp.f32 2) (*.f32 1/144 (pow.f32 (PI.f32) 4))) (/.f32 -1 (expm1.f32 1))))) (pow.f32 x 4) (E.f32))) (fma.f32 (fma.f32 -1/12 (*.f32 (*.f32 (E.f32) (pow.f32 (PI.f32) 2)) (/.f32 (fma.f32 (E.f32) (*.f32 (pow.f32 (PI.f32) 4) 1/45) (*.f32 (*.f32 (exp.f32 2) (*.f32 1/144 (pow.f32 (PI.f32) 4))) (/.f32 -1 (expm1.f32 1)))) (expm1.f32 1))) (fma.f32 (E.f32) (*.f32 (pow.f32 (PI.f32) 6) -107/45360) (*.f32 (/.f32 (*.f32 (E.f32) 1/12) (expm1.f32 1)) (*.f32 (pow.f32 (PI.f32) 2) (fma.f32 (E.f32) (*.f32 (pow.f32 (PI.f32) 4) 1/45) (*.f32 (*.f32 (exp.f32 2) (*.f32 1/144 (pow.f32 (PI.f32) 4))) (/.f32 -1 (expm1.f32 1)))))))) (pow.f32 x 6) -1))
(+.f32 (*.f32 (fma.f32 -1/12 (*.f32 (/.f32 (fma.f32 (E.f32) (*.f32 (pow.f32 (PI.f32) 4) 1/45) (*.f32 (*.f32 (exp.f32 2) (*.f32 1/144 (pow.f32 (PI.f32) 4))) (/.f32 -1 (expm1.f32 1)))) (-.f32 1 (exp.f32 -1))) (pow.f32 (PI.f32) 2)) (fma.f32 (E.f32) (*.f32 (pow.f32 (PI.f32) 6) -107/45360) (*.f32 (*.f32 (/.f32 (fma.f32 (E.f32) (*.f32 (pow.f32 (PI.f32) 4) 1/45) (*.f32 (*.f32 (exp.f32 2) (*.f32 1/144 (pow.f32 (PI.f32) 4))) (/.f32 -1 (expm1.f32 1)))) (-.f32 1 (exp.f32 -1))) (pow.f32 (PI.f32) 2)) 1/12))) (pow.f32 x 6)) (fma.f32 (fma.f32 1/144 (/.f32 (pow.f32 (PI.f32) 4) (-.f32 (exp.f32 -1) (exp.f32 -2))) (fma.f32 (E.f32) (*.f32 (pow.f32 (PI.f32) 4) 1/45) (*.f32 (*.f32 (exp.f32 2) (*.f32 1/144 (pow.f32 (PI.f32) 4))) (/.f32 -1 (expm1.f32 1))))) (pow.f32 x 4) (fma.f32 (E.f32) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (*.f32 x x) -1/6)) (expm1.f32 1))))

prune403.0ms (7.4%)

Pruning

16 alts after pruning (15 fresh and 1 done)

PrunedKeptTotal
New1735178
Fresh31013
Picked011
Done000
Total17616192
Error
0.1b
Counts
192 → 16
Alt Table
StatusErrorProgram
5.0b
(*.f32 (/.f32 (log.f32 (exp.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))))) (*.f32 (*.f32 x (PI.f32)) tau)) (log1p.f32 (expm1.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))))
5.8b
(*.f32 (/.f32 (+.f32 (log.f32 (sqrt.f32 (exp.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))))) (log.f32 (sqrt.f32 (exp.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))))))) (*.f32 (*.f32 x (PI.f32)) tau)) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
1.0b
(*.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (/.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 (PI.f32) tau)) (*.f32 x (*.f32 x (PI.f32)))))
1.6b
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (log1p.f32 (pow.f32 (sqrt.f32 (expm1.f32 (+.f32 (*.f32 1/120 (*.f32 (pow.f32 x 4) (pow.f32 (PI.f32) 4))) (+.f32 1 (+.f32 (*.f32 -1/6 (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2))) (*.f32 -1/5040 (*.f32 (pow.f32 x 6) (pow.f32 (PI.f32) 6)))))))) 2)))
0.9b
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (log1p.f32 (pow.f32 (sqrt.f32 (expm1.f32 (*.f32 (/.f32 1 x) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (PI.f32))))) 2)))
0.9b
(*.f32 (log.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau))))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
1.2b
(*.f32 (*.f32 (/.f32 (pow.f32 (cbrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) 2) tau) (/.f32 (cbrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) (*.f32 x (PI.f32)))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
0.8b
(*.f32 (*.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)) (/.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)) (log.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))))
0.9b
(*.f32 (*.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (/.f32 (/.f32 (/.f32 1 x) (PI.f32)) tau)) (log1p.f32 (expm1.f32 (/.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)) (log1p.f32 (pow.f32 (sqrt.f32 (expm1.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))) 2)))
1.0b
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (log1p.f32 (pow.f32 (cbrt.f32 (expm1.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))) 3)))
1.3b
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (log1p.f32 (expm1.f32 (+.f32 (log.f32 (pow.f32 (cbrt.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))) 2)) (log.f32 (cbrt.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))))))))
3.7b
(*.f32 (fma.f32 -1/5040 (*.f32 (pow.f32 x 6) (*.f32 (pow.f32 (PI.f32) 6) (pow.f32 tau 6))) (fma.f32 -1/6 (*.f32 (*.f32 x x) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 tau tau))) (fma.f32 (pow.f32 x 4) (*.f32 1/120 (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 tau 4))) 1))) (log1p.f32 (pow.f32 (sqrt.f32 (expm1.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))) 2)))
1.0b
(*.f32 (*.f32 (/.f32 1 (cbrt.f32 (pow.f32 (*.f32 x (*.f32 (PI.f32) tau)) 2))) (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (cbrt.f32 (*.f32 x (*.f32 (PI.f32) tau))))) (log1p.f32 (pow.f32 (sqrt.f32 (expm1.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))) 2)))
2.4b
(*.f32 (exp.f32 (log.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau))))) (log1p.f32 (pow.f32 (sqrt.f32 (expm1.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))) 2)))
Compiler

Compiled 7582 to 2838 computations (62.6% saved)

localize47.0ms (0.9%)

Local error

Found 4 expressions with local error:

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

series1.0ms (0%)

Counts
1 → 12
Calls

3 calls:

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

rewrite53.0ms (1%)

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

Useful iterations: 0 (0.0ms)

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

simplify148.0ms (2.7%)

Algorithm
egg-herbie
Rules
989×fma-def_binary32
694×sqr-pow_binary32
482×pow-sqr_binary32
473×associate-/r*_binary32
438×cube-prod_binary32
Iterations

Useful iterations: 6 (0.0ms)

IterNodesCost
033206
179202
2206200
3856200
42199194
52831191
63713182
74468182
84720182
95048182
105490182
116025182
126784182
137072182
147310182
157494182
167646182
177762182
Stop Event
node limit
Counts
69 → 65
Calls
Call 1
Inputs
1
(+.f32 1 (*.f32 -1/6 (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2))))
(+.f32 (*.f32 1/120 (*.f32 (pow.f32 x 4) (pow.f32 (PI.f32) 4))) (+.f32 1 (*.f32 -1/6 (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2)))))
(+.f32 (*.f32 1/120 (*.f32 (pow.f32 x 4) (pow.f32 (PI.f32) 4))) (+.f32 1 (+.f32 (*.f32 -1/6 (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2))) (*.f32 -1/5040 (*.f32 (pow.f32 x 6) (pow.f32 (PI.f32) 6))))))
(/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 x (PI.f32)))
(/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 x (PI.f32)))
(/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 x (PI.f32)))
(/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 x (PI.f32)))
(/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32)))
(/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32)))
(/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32)))
(/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32)))
Outputs
1
(+.f32 1 (*.f32 -1/6 (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2))))
(+.f32 1 (*.f32 -1/6 (*.f32 (*.f32 x x) (pow.f32 (PI.f32) 2))))
(fma.f32 -1/6 (*.f32 (*.f32 x x) (pow.f32 (PI.f32) 2)) 1)
(fma.f32 (*.f32 x x) (*.f32 -1/6 (pow.f32 (PI.f32) 2)) 1)
(fma.f32 -1/6 (pow.f32 (*.f32 x (PI.f32)) 2) 1)
(+.f32 (*.f32 1/120 (*.f32 (pow.f32 x 4) (pow.f32 (PI.f32) 4))) (+.f32 1 (*.f32 -1/6 (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2)))))
(fma.f32 1/120 (*.f32 (pow.f32 x 4) (pow.f32 (PI.f32) 4)) (+.f32 1 (*.f32 -1/6 (*.f32 (*.f32 x x) (pow.f32 (PI.f32) 2)))))
(fma.f32 1/120 (*.f32 (pow.f32 x 4) (pow.f32 (PI.f32) 4)) (fma.f32 -1/6 (*.f32 (*.f32 x x) (pow.f32 (PI.f32) 2)) 1))
(fma.f32 -1/6 (*.f32 x (*.f32 x (pow.f32 (PI.f32) 2))) (fma.f32 1/120 (*.f32 (pow.f32 x 4) (pow.f32 (PI.f32) 4)) 1))
(fma.f32 -1/6 (*.f32 (*.f32 x x) (pow.f32 (PI.f32) 2)) (fma.f32 1/120 (*.f32 (pow.f32 x 4) (pow.f32 (PI.f32) 4)) 1))
(fma.f32 1/120 (pow.f32 (*.f32 x (PI.f32)) 4) (fma.f32 -1/6 (*.f32 (*.f32 x x) (pow.f32 (PI.f32) 2)) 1))
(fma.f32 (pow.f32 (*.f32 x (PI.f32)) 2) (fma.f32 (pow.f32 (*.f32 x (PI.f32)) 2) 1/120 -1/6) 1)
(+.f32 (*.f32 1/120 (*.f32 (pow.f32 x 4) (pow.f32 (PI.f32) 4))) (+.f32 1 (+.f32 (*.f32 -1/6 (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2))) (*.f32 -1/5040 (*.f32 (pow.f32 x 6) (pow.f32 (PI.f32) 6))))))
(fma.f32 1/120 (*.f32 (pow.f32 x 4) (pow.f32 (PI.f32) 4)) (+.f32 1 (fma.f32 -1/6 (*.f32 (*.f32 x x) (pow.f32 (PI.f32) 2)) (*.f32 -1/5040 (*.f32 (pow.f32 x 6) (pow.f32 (PI.f32) 6))))))
(+.f32 (fma.f32 -1/6 (*.f32 (*.f32 x x) (pow.f32 (PI.f32) 2)) (*.f32 -1/5040 (*.f32 (pow.f32 x 6) (pow.f32 (PI.f32) 6)))) (fma.f32 1/120 (*.f32 (pow.f32 x 4) (pow.f32 (PI.f32) 4)) 1))
(fma.f32 1/120 (*.f32 (pow.f32 x 4) (pow.f32 (PI.f32) 4)) (fma.f32 (*.f32 x x) (*.f32 -1/6 (pow.f32 (PI.f32) 2)) (fma.f32 (pow.f32 x 6) (*.f32 -1/5040 (pow.f32 (PI.f32) 6)) 1)))
(fma.f32 -1/6 (*.f32 (*.f32 x x) (pow.f32 (PI.f32) 2)) (fma.f32 1/120 (*.f32 (pow.f32 x 4) (pow.f32 (PI.f32) 4)) (fma.f32 -1/5040 (*.f32 (pow.f32 x 6) (pow.f32 (PI.f32) 6)) 1)))
(fma.f32 -1/6 (*.f32 (*.f32 x x) (pow.f32 (PI.f32) 2)) (fma.f32 1/120 (pow.f32 (*.f32 x (PI.f32)) 4) (fma.f32 -1/5040 (*.f32 (pow.f32 x 6) (pow.f32 (PI.f32) 6)) 1)))
(fma.f32 -1/6 (*.f32 (*.f32 x x) (pow.f32 (PI.f32) 2)) (fma.f32 1/120 (pow.f32 (*.f32 x (PI.f32)) 4) (fma.f32 -1/5040 (pow.f32 (*.f32 x (PI.f32)) 6) 1)))
(fma.f32 (pow.f32 (*.f32 x (PI.f32)) 2) (fma.f32 (pow.f32 (*.f32 x (PI.f32)) 2) 1/120 -1/6) (fma.f32 -1/5040 (pow.f32 (*.f32 x (PI.f32)) 6) 1))
(/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 x (PI.f32)))
(/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32)))
(/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 x (PI.f32)))
(/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32)))
(/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 x (PI.f32)))
(/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32)))
(/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 x (PI.f32)))
(/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32)))
(/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32)))
(/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32)))
(/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32)))
(/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32)))

prune674.0ms (12.4%)

Pruning

14 alts after pruning (14 fresh and 0 done)

PrunedKeptTotal
New2116217
Fresh6814
Picked101
Done101
Total21914233
Error
0.1b
Counts
233 → 14
Alt Table
StatusErrorProgram
5.0b
(*.f32 (/.f32 (log.f32 (exp.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))))) (*.f32 (*.f32 x (PI.f32)) tau)) (log1p.f32 (expm1.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))))
5.8b
(*.f32 (/.f32 (+.f32 (log.f32 (sqrt.f32 (exp.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))))) (log.f32 (sqrt.f32 (exp.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))))))) (*.f32 (*.f32 x (PI.f32)) tau)) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
3.7b
(*.f32 (fma.f32 -1/5040 (*.f32 (pow.f32 x 6) (*.f32 (pow.f32 (PI.f32) 6) (pow.f32 tau 6))) (fma.f32 -1/6 (*.f32 (*.f32 x x) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 tau tau))) (fma.f32 (pow.f32 x 4) (*.f32 1/120 (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 tau 4))) 1))) (log1p.f32 (pow.f32 (sqrt.f32 (expm1.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))) 2)))
0.9b
(*.f32 (log1p.f32 (expm1.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau))))) (log.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))))
1.0b
(*.f32 (*.f32 (/.f32 1 (cbrt.f32 (pow.f32 (*.f32 x (*.f32 (PI.f32) tau)) 2))) (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (cbrt.f32 (*.f32 x (*.f32 (PI.f32) tau))))) (log1p.f32 (pow.f32 (sqrt.f32 (expm1.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))) 2)))
1.2b
(*.f32 (+.f32 (log.f32 (sqrt.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau)))))) (log.f32 (sqrt.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau))))))) (log.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))))
0.6b
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (pow.f32 (pow.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))) 3) 1/3))
0.8b
(*.f32 (*.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)) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
0.9b
(*.f32 (*.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (/.f32 (/.f32 (/.f32 1 x) (PI.f32)) tau)) (log1p.f32 (expm1.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))))
1.2b
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (/.f32 (/.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) x) (pow.f32 (cbrt.f32 (PI.f32)) 2)) (cbrt.f32 (PI.f32))))
1.1b
(*.f32 (log.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau))))) (log.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))))
1.4b
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (fma.f32 (pow.f32 (*.f32 x (PI.f32)) 2) (fma.f32 (pow.f32 (*.f32 x (PI.f32)) 2) 1/120 -1/6) (fma.f32 -1/5040 (pow.f32 (*.f32 x (PI.f32)) 6) 1)))
2.4b
(*.f32 (exp.f32 (log.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau))))) (log1p.f32 (pow.f32 (sqrt.f32 (expm1.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))) 2)))
1.0b
(*.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (/.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 (PI.f32) tau)) (*.f32 x (*.f32 x (PI.f32)))))
Compiler

Compiled 6874 to 1731 computations (74.8% saved)

regimes90.0ms (1.7%)

Accuracy

Total -9.9b remaining (-1554.4%)

Threshold costs -9.9b (-1554.4%)

Counts
32 → 1
Calls
Call 1
Inputs
(*.f32 (log1p.f32 (expm1.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau))))) (log.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))))
(*.f32 (+.f32 (log.f32 (sqrt.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau)))))) (log.f32 (sqrt.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau))))))) (log.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))))
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (pow.f32 (pow.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))) 3) 1/3))
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (/.f32 (/.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) x) (pow.f32 (cbrt.f32 (PI.f32)) 2)) (cbrt.f32 (PI.f32))))
(*.f32 (log.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau))))) (log.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))))
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (fma.f32 (pow.f32 (*.f32 x (PI.f32)) 2) (fma.f32 (pow.f32 (*.f32 x (PI.f32)) 2) 1/120 -1/6) (fma.f32 -1/5040 (pow.f32 (*.f32 x (PI.f32)) 6) 1)))
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (log1p.f32 (pow.f32 (sqrt.f32 (expm1.f32 (+.f32 (*.f32 1/120 (*.f32 (pow.f32 x 4) (pow.f32 (PI.f32) 4))) (+.f32 1 (+.f32 (*.f32 -1/6 (*.f32 (pow.f32 x 2) (pow.f32 (PI.f32) 2))) (*.f32 -1/5040 (*.f32 (pow.f32 x 6) (pow.f32 (PI.f32) 6)))))))) 2)))
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (log1p.f32 (pow.f32 (sqrt.f32 (expm1.f32 (*.f32 (/.f32 1 x) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (PI.f32))))) 2)))
(*.f32 (fma.f32 -1/5040 (*.f32 (pow.f32 x 6) (*.f32 (pow.f32 (PI.f32) 6) (pow.f32 tau 6))) (fma.f32 -1/6 (*.f32 (*.f32 x x) (*.f32 (pow.f32 (PI.f32) 2) (*.f32 tau tau))) (fma.f32 (pow.f32 x 4) (*.f32 1/120 (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 tau 4))) 1))) (log1p.f32 (pow.f32 (sqrt.f32 (expm1.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))) 2)))
(*.f32 (*.f32 (/.f32 1 (cbrt.f32 (pow.f32 (*.f32 x (*.f32 (PI.f32) tau)) 2))) (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (cbrt.f32 (*.f32 x (*.f32 (PI.f32) tau))))) (log1p.f32 (pow.f32 (sqrt.f32 (expm1.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))) 2)))
(*.f32 (exp.f32 (log.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau))))) (log1p.f32 (pow.f32 (sqrt.f32 (expm1.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))) 2)))
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (log1p.f32 (pow.f32 (cbrt.f32 (expm1.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))) 3)))
(*.f32 (/.f32 (log.f32 (exp.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))))) (*.f32 (*.f32 x (PI.f32)) tau)) (log1p.f32 (expm1.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))))
(*.f32 (*.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (/.f32 (/.f32 (/.f32 1 x) (PI.f32)) tau)) (log1p.f32 (expm1.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))))
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (log1p.f32 (pow.f32 (sqrt.f32 (expm1.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))) 2)))
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (log1p.f32 (expm1.f32 (+.f32 (log.f32 (pow.f32 (cbrt.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))) 2)) (log.f32 (cbrt.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))))))))
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (+.f32 (log.f32 (pow.f32 (cbrt.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))) 2)) (log.f32 (cbrt.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))))))
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (pow.f32 (cbrt.f32 (*.f32 x (PI.f32))) 3)))
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (/.f32 (sqrt.f32 (sin.f32 (*.f32 x (PI.f32)))) 1) (/.f32 (sqrt.f32 (sin.f32 (*.f32 x (PI.f32)))) (*.f32 x (PI.f32)))))
(*.f32 (/.f32 (+.f32 (log.f32 (sqrt.f32 (exp.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))))) (log.f32 (sqrt.f32 (exp.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))))))) (*.f32 (*.f32 x (PI.f32)) tau)) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
(*.f32 (*.f32 (/.f32 (/.f32 1 x) (PI.f32)) (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) tau)) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (log1p.f32 (expm1.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))))
(*.f32 (/.f32 (sin.f32 (*.f32 (pow.f32 (sqrt.f32 (*.f32 x (PI.f32))) 2) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
(*.f32 (log.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))) (*.f32 x (*.f32 (PI.f32) tau))))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
(*.f32 (*.f32 (/.f32 (pow.f32 (cbrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) 2) tau) (/.f32 (cbrt.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau)))) (*.f32 x (PI.f32)))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
(*.f32 (*.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)) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (log.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))))
(*.f32 (+.f32 (*.f32 -1/5040 (*.f32 (pow.f32 tau 6) (*.f32 (pow.f32 (PI.f32) 6) (pow.f32 x 6)))) (+.f32 1 (+.f32 (*.f32 -1/6 (*.f32 (pow.f32 tau 2) (*.f32 (pow.f32 (PI.f32) 2) (pow.f32 x 2)))) (*.f32 1/120 (*.f32 (pow.f32 tau 4) (*.f32 (pow.f32 (PI.f32) 4) (pow.f32 x 4))))))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
(*.f32 (/.f32 (log.f32 (exp.f32 (sin.f32 (*.f32 x (*.f32 (PI.f32) tau))))) (*.f32 (*.f32 x (PI.f32)) tau)) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (+.f32 (log.f32 (sqrt.f32 (exp.f32 (*.f32 x (PI.f32))))) (log.f32 (sqrt.f32 (exp.f32 (*.f32 x (PI.f32))))))))
(*.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 x tau))) (/.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 (PI.f32) tau)) (*.f32 x (*.f32 x (PI.f32)))))
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
Outputs
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (pow.f32 (pow.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))) 3) 1/3))
Results
17.0ms0.6bx
17.0ms0.6btau
17.0ms0.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))))
18.0ms0.6b(*.f32 x (PI.f32))
Compiler

Compiled 1014 to 291 computations (71.3% saved)

simplify2.0ms (0%)

Algorithm
egg-herbie
Rules
*-commutative_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0154294967295
1184294967295
Stop Event
saturated
Calls
Call 1
Inputs
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (pow.f32 (pow.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))) 3) 1/3))
Outputs
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (pow.f32 (pow.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))) 3) 1/3))

end18.0ms (0.3%)

Stop Event
fuel
Compiler

Compiled 54 to 28 computations (48.1% saved)

Profiling

Loading profile data...