Details

Time bar (total: 6.9s)

analyze3.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 (32.7%)

Alt Table
StatusErrorProgram
0.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 x (PI.f32))))
Results
2.1s8256×body128valid
Compiler

Compiled 145 to 72 computations (50.3% saved)

localize34.0ms (0.5%)

Local error

Found 4 expressions with local error:

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

series49.0ms (0.7%)

Counts
4 → 72
Calls

4 calls:

29.0ms
(/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau))
10.0ms
(/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32)))
8.0ms
(sin.f32 (*.f32 (*.f32 x (PI.f32)) tau))
2.0ms
(*.f32 x (PI.f32))

rewrite129.0ms (1.9%)

Algorithm
batch-egg-rewrite
Rules
720×prod-diff_binary32
487×fma-udef_binary32
203×expm1-udef_binary32
203×log1p-udef_binary32
201×fma-neg_binary32
Counts
4 → 117
Calls

4 calls:

126.0ms
(sin.f32 (*.f32 (*.f32 x (PI.f32)) tau))
126.0ms
(*.f32 x (PI.f32))
126.0ms
(/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32)))
126.0ms
(/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01049
121349
2304049
3472749
4468749
5507549
000
100

prune268.0ms (3.9%)

Pruning

15 alts after pruning (15 fresh and 0 done)

PrunedKeptTotal
New25515270
Fresh000
Picked101
Done000
Total25615271
Error
0.1b
Counts
271 → 15
Alt Table
StatusErrorProgram
0.8b
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (/.f32 (sin.f32 (cbrt.f32 (*.f32 (pow.f32 x 3) (pow.f32 (PI.f32) 3)))) (*.f32 x (PI.f32))))
1.1b
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (*.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))))))
5.9b
(*.f32 (/.f32 (sin.f32 (*.f32 (-.f32 (exp.f32 (log1p.f32 (*.f32 x (PI.f32)))) 1) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
0.9b
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (*.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)))
0.8b
(*.f32 (-.f32 (exp.f32 (log1p.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)))) 1) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
1.0b
(*.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 (sqrt.f32 (*.f32 x (PI.f32))) 2)))
0.8b
(*.f32 (log.f32 (+.f32 1 (expm1.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.2b
(*.f32 (*.f32 (/.f32 1 (pow.f32 (cbrt.f32 (*.f32 (*.f32 x (PI.f32)) tau)) 2)) (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (cbrt.f32 (*.f32 (*.f32 x (PI.f32)) tau)))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
0.9b
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (sqrt.f32 (sin.f32 (*.f32 x (PI.f32)))) (*.f32 (sqrt.f32 (sin.f32 (*.f32 x (PI.f32)))) (/.f32 1 (*.f32 x (PI.f32))))))
5.9b
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (/.f32 (sin.f32 (-.f32 (exp.f32 (log1p.f32 (*.f32 x (PI.f32)))) 1)) (*.f32 x (PI.f32))))
1.2b
(*.f32 (/.f32 (sin.f32 (*.f32 (pow.f32 (cbrt.f32 (*.f32 x (PI.f32))) 3) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
0.8b
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (-.f32 (exp.f32 (log1p.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))) 1))
0.7b
(*.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (PI.f32) (*.f32 tau x))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
1.2b
(*.f32 (*.f32 (/.f32 (pow.f32 (cbrt.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau))) 2) (sqrt.f32 (*.f32 (*.f32 x (PI.f32)) tau))) (/.f32 (cbrt.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau))) (sqrt.f32 (*.f32 (*.f32 x (PI.f32)) tau)))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
3.8b
(*.f32 (-.f32 (+.f32 1 (*.f32 1/120 (*.f32 (pow.f32 (PI.f32) 4) (*.f32 (pow.f32 tau 4) (pow.f32 x 4))))) (+.f32 (*.f32 1/5040 (*.f32 (pow.f32 (PI.f32) 6) (*.f32 (pow.f32 tau 6) (pow.f32 x 6)))) (*.f32 1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (pow.f32 tau 2) (pow.f32 x 2)))))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
Compiler

Compiled 7708 to 1669 computations (78.3% saved)

localize38.0ms (0.6%)

Local error

Found 4 expressions with local error:

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

series50.0ms (0.7%)

Counts
4 → 32
Calls

4 calls:

29.0ms
(/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (PI.f32) (*.f32 tau x)))
9.0ms
(/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32)))
6.0ms
(*.f32 (PI.f32) (*.f32 tau x))
5.0ms
(*.f32 x (PI.f32))

rewrite78.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
763×prod-diff_binary32
221×log1p-udef_binary32
121×add-sqr-sqrt_binary32
113×egg-rr
111×add-log-exp_binary32
Counts
4 → 113
Calls

4 calls:

75.0ms
(*.f32 (PI.f32) (*.f32 tau x))
75.0ms
(*.f32 x (PI.f32))
75.0ms
(/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32)))
75.0ms
(/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (PI.f32) (*.f32 tau x)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01147
123347
2328647
3501647
000
100

prune273.0ms (4%)

Pruning

16 alts after pruning (16 fresh and 0 done)

PrunedKeptTotal
New1843187
Fresh11314
Picked101
Done000
Total18616202
Error
0.1b
Counts
202 → 16
Alt Table
StatusErrorProgram
1.2b
(*.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (/.f32 (pow.f32 (cbrt.f32 (sin.f32 (*.f32 (PI.f32) x))) 2) (sqrt.f32 (*.f32 (PI.f32) x))) (/.f32 (cbrt.f32 (sin.f32 (*.f32 (PI.f32) x))) (sqrt.f32 (*.f32 (PI.f32) x)))))
0.8b
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (/.f32 (sin.f32 (cbrt.f32 (*.f32 (pow.f32 x 3) (pow.f32 (PI.f32) 3)))) (*.f32 x (PI.f32))))
1.1b
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (*.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))))))
0.9b
(*.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (PI.f32) (*.f32 tau x))) (pow.f32 (cbrt.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 (PI.f32) x))) 3))
0.8b
(*.f32 (-.f32 (exp.f32 (log1p.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)))) 1) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
1.0b
(*.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 (sqrt.f32 (*.f32 x (PI.f32))) 2)))
3.8b
(*.f32 (-.f32 (+.f32 1 (*.f32 1/120 (*.f32 (pow.f32 (PI.f32) 4) (*.f32 (pow.f32 tau 4) (pow.f32 x 4))))) (+.f32 (*.f32 1/5040 (*.f32 (pow.f32 (PI.f32) 6) (*.f32 (pow.f32 tau 6) (pow.f32 x 6)))) (*.f32 1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (pow.f32 tau 2) (pow.f32 x 2)))))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
1.2b
(*.f32 (*.f32 (/.f32 (pow.f32 (cbrt.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x)))) 2) (PI.f32)) (/.f32 (cbrt.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x)))) (*.f32 tau x))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
0.8b
(*.f32 (log.f32 (+.f32 1 (expm1.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.2b
(*.f32 (*.f32 (/.f32 1 (pow.f32 (cbrt.f32 (*.f32 (*.f32 x (PI.f32)) tau)) 2)) (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (cbrt.f32 (*.f32 (*.f32 x (PI.f32)) tau)))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
0.9b
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (sqrt.f32 (sin.f32 (*.f32 x (PI.f32)))) (*.f32 (sqrt.f32 (sin.f32 (*.f32 x (PI.f32)))) (/.f32 1 (*.f32 x (PI.f32))))))
5.9b
(*.f32 (/.f32 (sin.f32 (*.f32 (-.f32 (exp.f32 (log1p.f32 (*.f32 x (PI.f32)))) 1) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
5.9b
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (/.f32 (sin.f32 (-.f32 (exp.f32 (log1p.f32 (*.f32 x (PI.f32)))) 1)) (*.f32 x (PI.f32))))
1.2b
(*.f32 (/.f32 (sin.f32 (*.f32 (pow.f32 (cbrt.f32 (*.f32 x (PI.f32))) 3) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
0.8b
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (-.f32 (exp.f32 (log1p.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))) 1))
1.2b
(*.f32 (*.f32 (/.f32 (pow.f32 (cbrt.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau))) 2) (sqrt.f32 (*.f32 (*.f32 x (PI.f32)) tau))) (/.f32 (cbrt.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau))) (sqrt.f32 (*.f32 (*.f32 x (PI.f32)) tau)))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
Compiler

Compiled 5793 to 1445 computations (75.1% saved)

localize52.0ms (0.8%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.4b
(*.f32 x (PI.f32))
0.4b
(/.f32 (sin.f32 (cbrt.f32 (*.f32 (pow.f32 x 3) (pow.f32 (PI.f32) 3)))) (*.f32 x (PI.f32)))
0.4b
(/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau))
1.0b
(pow.f32 (PI.f32) 3)

series53.0ms (0.8%)

Counts
4 → 48
Calls

4 calls:

31.0ms
(/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau))
20.0ms
(/.f32 (sin.f32 (cbrt.f32 (*.f32 (pow.f32 x 3) (pow.f32 (PI.f32) 3)))) (*.f32 x (PI.f32)))
2.0ms
(*.f32 x (PI.f32))
0.0ms
(pow.f32 (PI.f32) 3)

rewrite81.0ms (1.2%)

Algorithm
batch-egg-rewrite
Rules
828×prod-diff_binary32
146×add-sqr-sqrt_binary32
137×add-cbrt-cube_binary32
137×log1p-expm1-u_binary32
137×expm1-log1p-u_binary32
Counts
4 → 118
Calls

4 calls:

78.0ms
(*.f32 x (PI.f32))
78.0ms
(/.f32 (sin.f32 (cbrt.f32 (*.f32 (pow.f32 x 3) (pow.f32 (PI.f32) 3)))) (*.f32 x (PI.f32)))
78.0ms
(/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau))
78.0ms
(pow.f32 (PI.f32) 3)
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01544
130144
2387244
3526544
000
100

prune278.0ms (4.1%)

Pruning

17 alts after pruning (17 fresh and 0 done)

PrunedKeptTotal
New2144218
Fresh21315
Picked101
Done000
Total21717234
Error
0.1b
Counts
234 → 17
Alt Table
StatusErrorProgram
1.2b
(*.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (/.f32 (pow.f32 (cbrt.f32 (sin.f32 (*.f32 (PI.f32) x))) 2) (sqrt.f32 (*.f32 (PI.f32) x))) (/.f32 (cbrt.f32 (sin.f32 (*.f32 (PI.f32) x))) (sqrt.f32 (*.f32 (PI.f32) x)))))
1.1b
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (*.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))))))
0.8b
(*.f32 (log.f32 (+.f32 1 (expm1.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau))))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
0.8b
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (/.f32 (sin.f32 (cbrt.f32 (*.f32 (pow.f32 x 3) (exp.f32 (*.f32 3 (log.f32 (PI.f32))))))) (*.f32 x (PI.f32))))
0.9b
(*.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (PI.f32) (*.f32 tau x))) (pow.f32 (cbrt.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) x)) (*.f32 (PI.f32) x))) 3))
0.8b
(*.f32 (-.f32 (exp.f32 (log1p.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)))) 1) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
1.0b
(*.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 (sqrt.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 (cbrt.f32 (*.f32 (pow.f32 x 3) (*.f32 (pow.f32 (pow.f32 (cbrt.f32 (PI.f32)) 2) 3) (PI.f32))))) (*.f32 x (PI.f32))))
0.9b
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (/.f32 (sqrt.f32 (sin.f32 (*.f32 (PI.f32) x))) 1) (/.f32 (sqrt.f32 (sin.f32 (*.f32 (PI.f32) x))) (*.f32 (PI.f32) x))))
0.8b
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (-.f32 (exp.f32 (log1p.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))) 1))
3.8b
(*.f32 (-.f32 (+.f32 1 (*.f32 1/120 (*.f32 (pow.f32 (PI.f32) 4) (*.f32 (pow.f32 tau 4) (pow.f32 x 4))))) (+.f32 (*.f32 1/5040 (*.f32 (pow.f32 (PI.f32) 6) (*.f32 (pow.f32 tau 6) (pow.f32 x 6)))) (*.f32 1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (pow.f32 tau 2) (pow.f32 x 2)))))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
1.2b
(*.f32 (*.f32 (/.f32 (pow.f32 (cbrt.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x)))) 2) (PI.f32)) (/.f32 (cbrt.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x)))) (*.f32 tau x))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
1.1b
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (/.f32 (sin.f32 (cbrt.f32 (*.f32 (pow.f32 x 3) (pow.f32 (PI.f32) 3)))) (pow.f32 (cbrt.f32 (*.f32 (PI.f32) x)) 3)))
1.2b
(*.f32 (*.f32 (/.f32 1 (pow.f32 (cbrt.f32 (*.f32 (*.f32 x (PI.f32)) tau)) 2)) (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (cbrt.f32 (*.f32 (*.f32 x (PI.f32)) tau)))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
5.9b
(*.f32 (/.f32 (sin.f32 (*.f32 (-.f32 (exp.f32 (log1p.f32 (*.f32 x (PI.f32)))) 1) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
1.2b
(*.f32 (/.f32 (sin.f32 (*.f32 (pow.f32 (cbrt.f32 (*.f32 x (PI.f32))) 3) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
1.2b
(*.f32 (*.f32 (/.f32 (pow.f32 (cbrt.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau))) 2) (sqrt.f32 (*.f32 (*.f32 x (PI.f32)) tau))) (/.f32 (cbrt.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau))) (sqrt.f32 (*.f32 (*.f32 x (PI.f32)) tau)))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
Compiler

Compiled 7391 to 2889 computations (60.9% saved)

localize65.0ms (0.9%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.4b
(/.f32 (sin.f32 (cbrt.f32 (*.f32 (pow.f32 x 3) (exp.f32 (*.f32 3 (log.f32 (PI.f32))))))) (*.f32 x (PI.f32)))
0.4b
(/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau))
1.0b
(log.f32 (PI.f32))
1.6b
(exp.f32 (*.f32 3 (log.f32 (PI.f32))))

series53.0ms (0.8%)

Counts
4 → 36
Calls

4 calls:

34.0ms
(/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau))
18.0ms
(/.f32 (sin.f32 (cbrt.f32 (*.f32 (pow.f32 x 3) (exp.f32 (*.f32 3 (log.f32 (PI.f32))))))) (*.f32 x (PI.f32)))
0.0ms
(exp.f32 (*.f32 3 (log.f32 (PI.f32))))
0.0ms
(log.f32 (PI.f32))

rewrite86.0ms (1.3%)

Algorithm
batch-egg-rewrite
Rules
828×prod-diff_binary32
169×add-sqr-sqrt_binary32
160×add-cbrt-cube_binary32
160×add-log-exp_binary32
160×log1p-expm1-u_binary32
Counts
4 → 127
Calls

4 calls:

84.0ms
(/.f32 (sin.f32 (cbrt.f32 (*.f32 (pow.f32 x 3) (exp.f32 (*.f32 3 (log.f32 (PI.f32))))))) (*.f32 x (PI.f32)))
84.0ms
(/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau))
83.0ms
(log.f32 (PI.f32))
83.0ms
(exp.f32 (*.f32 3 (log.f32 (PI.f32))))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01756
134943
2421443
3559743
000
100

prune172.0ms (2.5%)

Pruning

17 alts after pruning (17 fresh and 0 done)

PrunedKeptTotal
New1585163
Fresh41216
Picked101
Done000
Total16317180
Error
0.1b
Counts
180 → 17
Alt Table
StatusErrorProgram
1.2b
(*.f32 (/.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (PI.f32) (*.f32 tau x))) (*.f32 (/.f32 (pow.f32 (cbrt.f32 (sin.f32 (*.f32 (PI.f32) x))) 2) (sqrt.f32 (*.f32 (PI.f32) x))) (/.f32 (cbrt.f32 (sin.f32 (*.f32 (PI.f32) x))) (sqrt.f32 (*.f32 (PI.f32) x)))))
0.9b
(*.f32 (*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 (PI.f32) x) tau)) (*.f32 (PI.f32) x)) (/.f32 1 tau)) (/.f32 (sin.f32 (cbrt.f32 (*.f32 (pow.f32 x 3) (exp.f32 (*.f32 3 (log.f32 (PI.f32))))))) (*.f32 x (PI.f32))))
0.9b
(*.f32 (log.f32 (exp.f32 (/.f32 (sin.f32 (*.f32 (*.f32 (PI.f32) x) tau)) (*.f32 (*.f32 (PI.f32) x) tau)))) (/.f32 (sin.f32 (cbrt.f32 (*.f32 (pow.f32 x 3) (exp.f32 (*.f32 3 (log.f32 (PI.f32))))))) (*.f32 x (PI.f32))))
1.1b
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (/.f32 (sin.f32 (cbrt.f32 (*.f32 (pow.f32 x 3) (pow.f32 (PI.f32) 3)))) (pow.f32 (cbrt.f32 (*.f32 (PI.f32) x)) 3)))
0.8b
(*.f32 (-.f32 (exp.f32 (log1p.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)))) 1) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
1.9b
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (/.f32 (sin.f32 (cbrt.f32 (*.f32 (pow.f32 x 3) (exp.f32 (*.f32 3 (-.f32 (exp.f32 (log1p.f32 (log.f32 (PI.f32)))) 1)))))) (*.f32 x (PI.f32))))
1.0b
(*.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 (sqrt.f32 (*.f32 x (PI.f32))) 2)))
3.8b
(*.f32 (-.f32 (+.f32 1 (*.f32 1/120 (*.f32 (pow.f32 (PI.f32) 4) (*.f32 (pow.f32 tau 4) (pow.f32 x 4))))) (+.f32 (*.f32 1/5040 (*.f32 (pow.f32 (PI.f32) 6) (*.f32 (pow.f32 tau 6) (pow.f32 x 6)))) (*.f32 1/6 (*.f32 (pow.f32 (PI.f32) 2) (*.f32 (pow.f32 tau 2) (pow.f32 x 2)))))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
1.2b
(*.f32 (*.f32 (/.f32 (pow.f32 (cbrt.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x)))) 2) (PI.f32)) (/.f32 (cbrt.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 tau x)))) (*.f32 tau x))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
0.9b
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (/.f32 (sin.f32 (cbrt.f32 (*.f32 (pow.f32 x 3) (pow.f32 (pow.f32 (pow.f32 (PI.f32) 3) 3) 1/3)))) (*.f32 x (PI.f32))))
0.8b
(*.f32 (log.f32 (+.f32 1 (expm1.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.2b
(*.f32 (*.f32 (/.f32 1 (pow.f32 (cbrt.f32 (*.f32 (*.f32 x (PI.f32)) tau)) 2)) (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (cbrt.f32 (*.f32 (*.f32 x (PI.f32)) tau)))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
5.9b
(*.f32 (/.f32 (sin.f32 (*.f32 (-.f32 (exp.f32 (log1p.f32 (*.f32 x (PI.f32)))) 1) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
1.2b
(*.f32 (/.f32 (sin.f32 (*.f32 (pow.f32 (cbrt.f32 (*.f32 x (PI.f32))) 3) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
0.8b
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (-.f32 (exp.f32 (log1p.f32 (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))) 1))
0.9b
(*.f32 (/.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau)) (*.f32 (*.f32 x (PI.f32)) tau)) (/.f32 (sin.f32 (cbrt.f32 (*.f32 (pow.f32 x 3) (pow.f32 (exp.f32 1) (*.f32 3 (log.f32 (PI.f32))))))) (*.f32 x (PI.f32))))
1.2b
(*.f32 (*.f32 (/.f32 (pow.f32 (cbrt.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau))) 2) (sqrt.f32 (*.f32 (*.f32 x (PI.f32)) tau))) (/.f32 (cbrt.f32 (sin.f32 (*.f32 (*.f32 x (PI.f32)) tau))) (sqrt.f32 (*.f32 (*.f32 x (PI.f32)) tau)))) (/.f32 (sin.f32 (*.f32 x (PI.f32))) (*.f32 x (PI.f32))))
Compiler

Compiled 5554 to 2116 computations (61.9% saved)

regimes2.6s (37.7%)

Accuracy

Total 0.5b remaining (76.9%)

Threshold costs 0.5b (76.9%)

Counts
407 → 1
Compiler

Compiled 47864 to 26236 computations (45.2% saved)

simplify2.0ms (0%)

Algorithm
egg-herbie
Rules
*-commutative_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01440
11840
21840

end265.0ms (3.9%)

Compiler

Compiled 606 to 341 computations (43.7% saved)

Profiling

Loading profile data...