Details

Time bar (total: 22.9s)

analyze380.0ms (1.7%)

Algorithm
search
Search
TrueOtherFalseIter
0%0%100%0
0%0%100%1
0%0%100%2
0%0%100%3
0%0%100%4
0%0%100%5
0%0%100%6
0%0%100%7
0%0%100%8
0%0%100%9
0%0%100%10
0%0%100%11
0%0%100%12
0%0%100%13
0%0%100%14
Compiler

Compiled 31 to 25 computations (19.4% saved)

sample54.0ms (0.2%)

Algorithm
intervals
Results
26.0ms256×body128valid
8.0ms256×pre128true
Compiler

Compiled 50 to 42 computations (16% saved)

simplify14.0ms (0.1%)

Algorithm
egg-herbie
Rules
23×sub-neg_binary32
17×cancel-sign-sub-inv_binary32
11×*-commutative_binary32
distribute-rgt-neg-in_binary32
+-commutative_binary32
Counts
1 → 0
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01422
12622
23722
34422
45122
56022
67422
79722
810822
911022
1012722
1112322
1213422
1313722
1413822
1511622

prune6.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New000
Fresh011
Picked000
Done000
Total011
Error
12.3b
Counts
1 → 1
Alt Table
StatusErrorProgram
12.3b
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (sin.f32 (*.f32 (*.f32 2 PI.f32) u2)))
Compiler

Compiled 32 to 28 computations (12.5% saved)

localize38.0ms (0.2%)

Local error

Found 4 expressions with local error:

0.1b
(sin.f32 (*.f32 (*.f32 2 PI.f32) u2))
0.3b
(*.f32 (*.f32 2 PI.f32) u2)
0.4b
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (sin.f32 (*.f32 (*.f32 2 PI.f32) u2)))
12.9b
(log.f32 (-.f32 1 u1))

rewrite140.0ms (0.6%)

Algorithm
rewrite-expression-head
Error
8.0b
Rules
18×add-sqr-sqrt_binary32
16×associate-*l*_binary32
14×*-un-lft-identity_binary32
14×pow1_binary32
13×sqrt-prod_binary32
Counts
4 → 73
Calls

4 calls:

9.0ms
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (sin.f32 (*.f32 (*.f32 2 PI.f32) u2)))
5.0ms
(*.f32 (*.f32 2 PI.f32) u2)
4.0ms
(log.f32 (-.f32 1 u1))
2.0ms
(sin.f32 (*.f32 (*.f32 2 PI.f32) u2))
Compiler

Compiled 1307 to 1025 computations (21.6% saved)

series127.0ms (0.6%)

Error
0.5b
Counts
4 → 24
Calls

4 calls:

49.0ms
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (sin.f32 (*.f32 (*.f32 2 PI.f32) u2)))
17.0ms
(log.f32 (-.f32 1 u1))
16.0ms
(sin.f32 (*.f32 (*.f32 2 PI.f32) u2))
10.0ms
(*.f32 (*.f32 2 PI.f32) u2)
Compiler

Compiled 1256 to 1030 computations (18% saved)

simplify110.0ms (0.5%)

Algorithm
egg-herbie
Rules
524×sub-neg_binary32
468×*-commutative_binary32
333×distribute-rgt-neg-in_binary32
306×distribute-lft-neg-in_binary32
268×unsub-neg_binary32
Counts
97 → 71
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01981991
14441840
213411790
323741744
442061744
550241744

prune131.0ms (0.6%)

Pruning

14 alts after pruning (14 fresh and 0 done)

PrunedKeptTotal
New571471
Fresh000
Picked101
Done000
Total581472
Error
0.4b
Counts
72 → 14
Alt Table
StatusErrorProgram
12.3b
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (cbrt.f32 (pow.f32 (sin.f32 (*.f32 2 (*.f32 u2 PI.f32))) 3)))
13.8b
(*.f32 (sqrt.f32 (neg.f32 (+.f32 (*.f32 2 (log.f32 (cbrt.f32 (-.f32 1 u1)))) (log.f32 (cbrt.f32 (-.f32 1 u1)))))) (sin.f32 (*.f32 (*.f32 2 PI.f32) u2)))
13.0b
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (exp.f32 (log.f32 (sin.f32 (*.f32 2 (*.f32 u2 PI.f32))))))
13.3b
(*.f32 (sqrt.f32 (neg.f32 (-.f32 (log.f32 (-.f32 1 (*.f32 u1 u1))) (log.f32 (+.f32 u1 1))))) (sin.f32 (*.f32 (*.f32 2 PI.f32) u2)))
18.6b
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (log.f32 (exp.f32 (sin.f32 (*.f32 2 (*.f32 u2 PI.f32))))))
13.2b
(*.f32 (sqrt.f32 (neg.f32 (-.f32 (log.f32 (-.f32 1 (pow.f32 u1 3))) (log.f32 (+.f32 1 (+.f32 u1 (*.f32 u1 u1))))))) (sin.f32 (*.f32 (*.f32 2 PI.f32) u2)))
12.3b
(*.f32 (sqrt.f32 (*.f32 (cbrt.f32 (log.f32 (-.f32 1 u1))) (cbrt.f32 (log.f32 (-.f32 1 u1))))) (*.f32 (sin.f32 (*.f32 2 (*.f32 u2 PI.f32))) (sqrt.f32 (neg.f32 (cbrt.f32 (log.f32 (-.f32 1 u1)))))))
4.8b
(*.f32 (sqrt.f32 (neg.f32 (*.f32 u1 (+.f32 -1 (*.f32 u1 -1/2))))) (sin.f32 (*.f32 (*.f32 2 PI.f32) u2)))
12.8b
(*.f32 (*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (sqrt.f32 (sin.f32 (*.f32 2 (*.f32 u2 PI.f32))))) (sqrt.f32 (sin.f32 (*.f32 (*.f32 2 PI.f32) u2))))
12.8b
(*.f32 (*.f32 (sqrt.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1))))) (sqrt.f32 (sin.f32 (*.f32 2 (*.f32 u2 PI.f32))))) (*.f32 (sqrt.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1))))) (sqrt.f32 (sin.f32 (*.f32 2 (*.f32 u2 PI.f32))))))
12.3b
(*.f32 (*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (*.f32 (cbrt.f32 (sin.f32 (*.f32 2 (*.f32 u2 PI.f32)))) (cbrt.f32 (sin.f32 (*.f32 2 (*.f32 u2 PI.f32)))))) (cbrt.f32 (sin.f32 (*.f32 (*.f32 2 PI.f32) u2))))
13.0b
(exp.f32 (log.f32 (*.f32 (sin.f32 (*.f32 2 (*.f32 u2 PI.f32))) (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))))))
2.5b
(*.f32 (sqrt.f32 (neg.f32 (+.f32 (-.f32 (*.f32 (*.f32 u1 u1) (-.f32 -1/2 (*.f32 u1 1/3))) u1) (*.f32 (pow.f32 u1 4) -1/4)))) (sin.f32 (*.f32 (*.f32 2 PI.f32) u2)))
3.3b
(*.f32 (sqrt.f32 (neg.f32 (-.f32 (*.f32 (*.f32 u1 u1) (-.f32 -1/2 (*.f32 u1 1/3))) u1))) (sin.f32 (*.f32 (*.f32 2 PI.f32) u2)))
Compiler

Compiled 1734 to 1344 computations (22.5% saved)

localize63.0ms (0.3%)

Local error

Found 4 expressions with local error:

0.3b
(*.f32 (*.f32 2 PI.f32) u2)
0.4b
(*.f32 u1 1/3)
0.4b
(*.f32 (*.f32 u1 u1) (-.f32 -1/2 (*.f32 u1 1/3)))
0.4b
(*.f32 (sqrt.f32 (neg.f32 (+.f32 (-.f32 (*.f32 (*.f32 u1 u1) (-.f32 -1/2 (*.f32 u1 1/3))) u1) (*.f32 (pow.f32 u1 4) -1/4)))) (sin.f32 (*.f32 (*.f32 2 PI.f32) u2)))

rewrite265.0ms (1.2%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
20×add-sqr-sqrt_binary32
18×associate-*l*_binary32
18×add-cbrt-cube_binary32
18×add-exp-log_binary32
18×pow1_binary32
Counts
4 → 92
Calls

4 calls:

17.0ms
(*.f32 (sqrt.f32 (neg.f32 (+.f32 (-.f32 (*.f32 (*.f32 u1 u1) (-.f32 -1/2 (*.f32 u1 1/3))) u1) (*.f32 (pow.f32 u1 4) -1/4)))) (sin.f32 (*.f32 (*.f32 2 PI.f32) u2)))
8.0ms
(*.f32 (*.f32 u1 u1) (-.f32 -1/2 (*.f32 u1 1/3)))
5.0ms
(*.f32 (*.f32 2 PI.f32) u2)
4.0ms
(*.f32 u1 1/3)
Compiler

Compiled 3076 to 2162 computations (29.7% saved)

series181.0ms (0.8%)

Error
0.3b
Counts
4 → 27
Calls

4 calls:

90.0ms
(*.f32 (sqrt.f32 (neg.f32 (+.f32 (-.f32 (*.f32 (*.f32 u1 u1) (-.f32 -1/2 (*.f32 u1 1/3))) u1) (*.f32 (pow.f32 u1 4) -1/4)))) (sin.f32 (*.f32 (*.f32 2 PI.f32) u2)))
23.0ms
(*.f32 (*.f32 u1 u1) (-.f32 -1/2 (*.f32 u1 1/3)))
16.0ms
(*.f32 (*.f32 2 PI.f32) u2)
13.0ms
(*.f32 u1 1/3)
Compiler

Compiled 1892 to 1489 computations (21.3% saved)

simplify149.0ms (0.7%)

Algorithm
egg-herbie
Rules
378×associate-*l*_binary32
282×associate-*r*_binary32
259×distribute-rgt-in_binary32
255×cancel-sign-sub-inv_binary32
248×distribute-lft-in_binary32
Counts
119 → 90
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02483344
15912863
219732698
344672689
449872689
548982689

prune242.0ms (1.1%)

Pruning

20 alts after pruning (20 fresh and 0 done)

PrunedKeptTotal
New81990
Fresh21113
Picked101
Done000
Total8420104
Error
0.1b
Counts
104 → 20
Alt Table
StatusErrorProgram
12.3b
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (cbrt.f32 (pow.f32 (sin.f32 (*.f32 2 (*.f32 u2 PI.f32))) 3)))
13.8b
(*.f32 (sqrt.f32 (neg.f32 (+.f32 (*.f32 2 (log.f32 (cbrt.f32 (-.f32 1 u1)))) (log.f32 (cbrt.f32 (-.f32 1 u1)))))) (sin.f32 (*.f32 (*.f32 2 PI.f32) u2)))
13.0b
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (exp.f32 (log.f32 (sin.f32 (*.f32 2 (*.f32 u2 PI.f32))))))
13.3b
(*.f32 (sqrt.f32 (neg.f32 (-.f32 (log.f32 (-.f32 1 (*.f32 u1 u1))) (log.f32 (+.f32 u1 1))))) (sin.f32 (*.f32 (*.f32 2 PI.f32) u2)))
3.2b
(*.f32 (*.f32 (sqrt.f32 (*.f32 u1 (-.f32 (*.f32 (pow.f32 u1 3) 1/4) (+.f32 (*.f32 u1 (-.f32 -1/2 (*.f32 u1 1/3))) -1)))) (sqrt.f32 (sin.f32 (*.f32 2 (*.f32 u2 PI.f32))))) (sqrt.f32 (sin.f32 (*.f32 (*.f32 2 PI.f32) u2))))
18.6b
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (log.f32 (exp.f32 (sin.f32 (*.f32 2 (*.f32 u2 PI.f32))))))
13.2b
(*.f32 (sqrt.f32 (neg.f32 (-.f32 (log.f32 (-.f32 1 (pow.f32 u1 3))) (log.f32 (+.f32 1 (+.f32 u1 (*.f32 u1 u1))))))) (sin.f32 (*.f32 (*.f32 2 PI.f32) u2)))
2.8b
(*.f32 (*.f32 (sqrt.f32 (*.f32 u1 (-.f32 (*.f32 (pow.f32 u1 3) 1/4) (+.f32 (*.f32 u1 (-.f32 -1/2 (*.f32 u1 1/3))) -1)))) (*.f32 (cbrt.f32 (sin.f32 (*.f32 2 (*.f32 u2 PI.f32)))) (cbrt.f32 (sin.f32 (*.f32 2 (*.f32 u2 PI.f32)))))) (cbrt.f32 (sin.f32 (*.f32 (*.f32 2 PI.f32) u2))))
2.6b
(*.f32 (sqrt.f32 (sqrt.f32 (neg.f32 (+.f32 (-.f32 (*.f32 (*.f32 u1 u1) (-.f32 -1/2 (*.f32 u1 1/3))) u1) (*.f32 (pow.f32 u1 4) -1/4))))) (*.f32 (sin.f32 (*.f32 2 (*.f32 u2 PI.f32))) (sqrt.f32 (sqrt.f32 (*.f32 u1 (-.f32 (*.f32 (pow.f32 u1 3) 1/4) (+.f32 (*.f32 u1 (-.f32 -1/2 (*.f32 u1 1/3))) -1)))))))
2.6b
(*.f32 (sqrt.f32 (*.f32 (cbrt.f32 (neg.f32 (+.f32 (-.f32 (*.f32 (*.f32 u1 u1) (-.f32 -1/2 (*.f32 u1 1/3))) u1) (*.f32 (pow.f32 u1 4) -1/4)))) (cbrt.f32 (neg.f32 (+.f32 (-.f32 (*.f32 (*.f32 u1 u1) (-.f32 -1/2 (*.f32 u1 1/3))) u1) (*.f32 (pow.f32 u1 4) -1/4)))))) (*.f32 (sin.f32 (*.f32 2 (*.f32 u2 PI.f32))) (sqrt.f32 (cbrt.f32 (*.f32 u1 (-.f32 (*.f32 (pow.f32 u1 3) 1/4) (+.f32 (*.f32 u1 (-.f32 -1/2 (*.f32 u1 1/3))) -1)))))))
12.3b
(*.f32 (sqrt.f32 (*.f32 (cbrt.f32 (log.f32 (-.f32 1 u1))) (cbrt.f32 (log.f32 (-.f32 1 u1))))) (*.f32 (sin.f32 (*.f32 2 (*.f32 u2 PI.f32))) (sqrt.f32 (neg.f32 (cbrt.f32 (log.f32 (-.f32 1 u1)))))))
2.7b
(*.f32 (*.f32 (cbrt.f32 (sqrt.f32 (neg.f32 (+.f32 (-.f32 (*.f32 (*.f32 u1 u1) (-.f32 -1/2 (*.f32 u1 1/3))) u1) (*.f32 (pow.f32 u1 4) -1/4))))) (cbrt.f32 (sqrt.f32 (neg.f32 (+.f32 (-.f32 (*.f32 (*.f32 u1 u1) (-.f32 -1/2 (*.f32 u1 1/3))) u1) (*.f32 (pow.f32 u1 4) -1/4)))))) (*.f32 (sin.f32 (*.f32 2 (*.f32 u2 PI.f32))) (cbrt.f32 (sqrt.f32 (*.f32 u1 (-.f32 (*.f32 (pow.f32 u1 3) 1/4) (+.f32 (*.f32 u1 (-.f32 -1/2 (*.f32 u1 1/3))) -1)))))))
12.8b
(*.f32 (*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (sqrt.f32 (sin.f32 (*.f32 2 (*.f32 u2 PI.f32))))) (sqrt.f32 (sin.f32 (*.f32 (*.f32 2 PI.f32) u2))))
12.8b
(*.f32 (*.f32 (sqrt.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1))))) (sqrt.f32 (sin.f32 (*.f32 2 (*.f32 u2 PI.f32))))) (*.f32 (sqrt.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1))))) (sqrt.f32 (sin.f32 (*.f32 2 (*.f32 u2 PI.f32))))))
4.3b
(exp.f32 (log.f32 (*.f32 (sin.f32 (*.f32 2 (*.f32 u2 PI.f32))) (sqrt.f32 (*.f32 u1 (-.f32 (*.f32 (pow.f32 u1 3) 1/4) (+.f32 (*.f32 u1 (-.f32 -1/2 (*.f32 u1 1/3))) -1)))))))
12.3b
(*.f32 (*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (*.f32 (cbrt.f32 (sin.f32 (*.f32 2 (*.f32 u2 PI.f32)))) (cbrt.f32 (sin.f32 (*.f32 2 (*.f32 u2 PI.f32)))))) (cbrt.f32 (sin.f32 (*.f32 (*.f32 2 PI.f32) u2))))
13.0b
(exp.f32 (log.f32 (*.f32 (sin.f32 (*.f32 2 (*.f32 u2 PI.f32))) (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))))))
2.5b
(/.f32 (*.f32 (sin.f32 (*.f32 2 (*.f32 u2 PI.f32))) (sqrt.f32 (-.f32 (*.f32 (pow.f32 u1 12) 1/64) (pow.f32 (-.f32 (*.f32 u1 (*.f32 u1 (-.f32 -1/2 (*.f32 u1 1/3)))) u1) 3)))) (sqrt.f32 (+.f32 (*.f32 (-.f32 (*.f32 (*.f32 u1 u1) (-.f32 -1/2 (*.f32 u1 1/3))) u1) (-.f32 (*.f32 (*.f32 u1 u1) (-.f32 -1/2 (*.f32 u1 1/3))) u1)) (-.f32 (*.f32 (*.f32 (pow.f32 u1 4) -1/4) (*.f32 (pow.f32 u1 4) -1/4)) (*.f32 (-.f32 (*.f32 (*.f32 u1 u1) (-.f32 -1/2 (*.f32 u1 1/3))) u1) (*.f32 (pow.f32 u1 4) -1/4))))))
4.7b
(*.f32 (sqrt.f32 (neg.f32 (+.f32 (-.f32 (log.f32 (pow.f32 (exp.f32 (*.f32 u1 u1)) (-.f32 -1/2 (*.f32 u1 1/3)))) u1) (*.f32 (pow.f32 u1 4) -1/4)))) (sin.f32 (*.f32 (*.f32 2 PI.f32) u2)))
2.5b
(*.f32 (sqrt.f32 (*.f32 u1 (-.f32 (*.f32 (pow.f32 u1 3) 1/4) (+.f32 (*.f32 u1 (-.f32 -1/2 (*.f32 u1 1/3))) -1)))) (sin.f32 (*.f32 (*.f32 2 PI.f32) u2)))
Compiler

Compiled 3536 to 2657 computations (24.9% saved)

localize62.0ms (0.3%)

Local error

Found 4 expressions with local error:

0.3b
(*.f32 u1 (-.f32 -1/2 (*.f32 u1 1/3)))
0.3b
(*.f32 (*.f32 2 PI.f32) u2)
0.4b
(*.f32 u1 1/3)
0.4b
(*.f32 (sqrt.f32 (*.f32 u1 (-.f32 (*.f32 (pow.f32 u1 3) 1/4) (+.f32 (*.f32 u1 (-.f32 -1/2 (*.f32 u1 1/3))) -1)))) (sin.f32 (*.f32 (*.f32 2 PI.f32) u2)))

rewrite238.0ms (1%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
17×add-sqr-sqrt_binary32
15×add-cbrt-cube_binary32
15×add-exp-log_binary32
15×pow1_binary32
12×associate-*r*_binary32
Counts
4 → 81
Calls

4 calls:

15.0ms
(*.f32 (sqrt.f32 (*.f32 u1 (-.f32 (*.f32 (pow.f32 u1 3) 1/4) (+.f32 (*.f32 u1 (-.f32 -1/2 (*.f32 u1 1/3))) -1)))) (sin.f32 (*.f32 (*.f32 2 PI.f32) u2)))
6.0ms
(*.f32 u1 (-.f32 -1/2 (*.f32 u1 1/3)))
5.0ms
(*.f32 (*.f32 2 PI.f32) u2)
4.0ms
(*.f32 u1 1/3)
Compiler

Compiled 2571 to 1966 computations (23.5% saved)

series174.0ms (0.8%)

Error
0.1b
Counts
4 → 27
Calls

4 calls:

84.0ms
(*.f32 (sqrt.f32 (*.f32 u1 (-.f32 (*.f32 (pow.f32 u1 3) 1/4) (+.f32 (*.f32 u1 (-.f32 -1/2 (*.f32 u1 1/3))) -1)))) (sin.f32 (*.f32 (*.f32 2 PI.f32) u2)))
24.0ms
(*.f32 u1 (-.f32 -1/2 (*.f32 u1 1/3)))
14.0ms
(*.f32 (*.f32 2 PI.f32) u2)
13.0ms
(*.f32 u1 1/3)
Compiler

Compiled 1872 to 1484 computations (20.7% saved)

simplify161.0ms (0.7%)

Algorithm
egg-herbie
Rules
408×cancel-sign-sub-inv_binary32
312×associate-*l*_binary32
298×distribute-rgt-in_binary32
286×distribute-lft-in_binary32
245×associate-*r*_binary32
Counts
108 → 76
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02262720
15332308
217992154
338022145
448542145
549962145
648632145

prune229.0ms (1%)

Pruning

21 alts after pruning (20 fresh and 1 done)

PrunedKeptTotal
New75176
Fresh01919
Picked011
Done000
Total752196
Error
0.1b
Counts
96 → 21
Alt Table
StatusErrorProgram
12.3b
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (cbrt.f32 (pow.f32 (sin.f32 (*.f32 2 (*.f32 u2 PI.f32))) 3)))
13.8b
(*.f32 (sqrt.f32 (neg.f32 (+.f32 (*.f32 2 (log.f32 (cbrt.f32 (-.f32 1 u1)))) (log.f32 (cbrt.f32 (-.f32 1 u1)))))) (sin.f32 (*.f32 (*.f32 2 PI.f32) u2)))
13.0b
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (exp.f32 (log.f32 (sin.f32 (*.f32 2 (*.f32 u2 PI.f32))))))
13.3b
(*.f32 (sqrt.f32 (neg.f32 (-.f32 (log.f32 (-.f32 1 (*.f32 u1 u1))) (log.f32 (+.f32 u1 1))))) (sin.f32 (*.f32 (*.f32 2 PI.f32) u2)))
3.2b
(*.f32 (*.f32 (sqrt.f32 (*.f32 u1 (-.f32 (*.f32 (pow.f32 u1 3) 1/4) (+.f32 (*.f32 u1 (-.f32 -1/2 (*.f32 u1 1/3))) -1)))) (sqrt.f32 (sin.f32 (*.f32 2 (*.f32 u2 PI.f32))))) (sqrt.f32 (sin.f32 (*.f32 (*.f32 2 PI.f32) u2))))
18.6b
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (log.f32 (exp.f32 (sin.f32 (*.f32 2 (*.f32 u2 PI.f32))))))
13.2b
(*.f32 (sqrt.f32 (neg.f32 (-.f32 (log.f32 (-.f32 1 (pow.f32 u1 3))) (log.f32 (+.f32 1 (+.f32 u1 (*.f32 u1 u1))))))) (sin.f32 (*.f32 (*.f32 2 PI.f32) u2)))
2.8b
(*.f32 (*.f32 (sqrt.f32 (*.f32 u1 (-.f32 (*.f32 (pow.f32 u1 3) 1/4) (+.f32 (*.f32 u1 (-.f32 -1/2 (*.f32 u1 1/3))) -1)))) (*.f32 (cbrt.f32 (sin.f32 (*.f32 2 (*.f32 u2 PI.f32)))) (cbrt.f32 (sin.f32 (*.f32 2 (*.f32 u2 PI.f32)))))) (cbrt.f32 (sin.f32 (*.f32 (*.f32 2 PI.f32) u2))))
2.6b
(*.f32 (sqrt.f32 (sqrt.f32 (neg.f32 (+.f32 (-.f32 (*.f32 (*.f32 u1 u1) (-.f32 -1/2 (*.f32 u1 1/3))) u1) (*.f32 (pow.f32 u1 4) -1/4))))) (*.f32 (sin.f32 (*.f32 2 (*.f32 u2 PI.f32))) (sqrt.f32 (sqrt.f32 (*.f32 u1 (-.f32 (*.f32 (pow.f32 u1 3) 1/4) (+.f32 (*.f32 u1 (-.f32 -1/2 (*.f32 u1 1/3))) -1)))))))
2.5b
(/.f32 (*.f32 (sin.f32 (*.f32 2 (*.f32 u2 PI.f32))) (sqrt.f32 (*.f32 u1 (-.f32 (pow.f32 (*.f32 1/4 (pow.f32 u1 3)) 3) (pow.f32 (+.f32 (*.f32 u1 (-.f32 -1/2 (*.f32 u1 1/3))) -1) 3))))) (sqrt.f32 (+.f32 (*.f32 (*.f32 (pow.f32 u1 3) 1/4) (*.f32 (pow.f32 u1 3) 1/4)) (+.f32 (*.f32 (+.f32 (*.f32 u1 (-.f32 -1/2 (*.f32 u1 1/3))) -1) (+.f32 (*.f32 u1 (-.f32 -1/2 (*.f32 u1 1/3))) -1)) (*.f32 (*.f32 (pow.f32 u1 3) 1/4) (+.f32 (*.f32 u1 (-.f32 -1/2 (*.f32 u1 1/3))) -1))))))
2.6b
(*.f32 (sqrt.f32 (*.f32 (cbrt.f32 (neg.f32 (+.f32 (-.f32 (*.f32 (*.f32 u1 u1) (-.f32 -1/2 (*.f32 u1 1/3))) u1) (*.f32 (pow.f32 u1 4) -1/4)))) (cbrt.f32 (neg.f32 (+.f32 (-.f32 (*.f32 (*.f32 u1 u1) (-.f32 -1/2 (*.f32 u1 1/3))) u1) (*.f32 (pow.f32 u1 4) -1/4)))))) (*.f32 (sin.f32 (*.f32 2 (*.f32 u2 PI.f32))) (sqrt.f32 (cbrt.f32 (*.f32 u1 (-.f32 (*.f32 (pow.f32 u1 3) 1/4) (+.f32 (*.f32 u1 (-.f32 -1/2 (*.f32 u1 1/3))) -1)))))))
12.3b
(*.f32 (sqrt.f32 (*.f32 (cbrt.f32 (log.f32 (-.f32 1 u1))) (cbrt.f32 (log.f32 (-.f32 1 u1))))) (*.f32 (sin.f32 (*.f32 2 (*.f32 u2 PI.f32))) (sqrt.f32 (neg.f32 (cbrt.f32 (log.f32 (-.f32 1 u1)))))))
2.7b
(*.f32 (*.f32 (cbrt.f32 (sqrt.f32 (neg.f32 (+.f32 (-.f32 (*.f32 (*.f32 u1 u1) (-.f32 -1/2 (*.f32 u1 1/3))) u1) (*.f32 (pow.f32 u1 4) -1/4))))) (cbrt.f32 (sqrt.f32 (neg.f32 (+.f32 (-.f32 (*.f32 (*.f32 u1 u1) (-.f32 -1/2 (*.f32 u1 1/3))) u1) (*.f32 (pow.f32 u1 4) -1/4)))))) (*.f32 (sin.f32 (*.f32 2 (*.f32 u2 PI.f32))) (cbrt.f32 (sqrt.f32 (*.f32 u1 (-.f32 (*.f32 (pow.f32 u1 3) 1/4) (+.f32 (*.f32 u1 (-.f32 -1/2 (*.f32 u1 1/3))) -1)))))))
12.8b
(*.f32 (*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (sqrt.f32 (sin.f32 (*.f32 2 (*.f32 u2 PI.f32))))) (sqrt.f32 (sin.f32 (*.f32 (*.f32 2 PI.f32) u2))))
12.8b
(*.f32 (*.f32 (sqrt.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1))))) (sqrt.f32 (sin.f32 (*.f32 2 (*.f32 u2 PI.f32))))) (*.f32 (sqrt.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1))))) (sqrt.f32 (sin.f32 (*.f32 2 (*.f32 u2 PI.f32))))))
4.3b
(exp.f32 (log.f32 (*.f32 (sin.f32 (*.f32 2 (*.f32 u2 PI.f32))) (sqrt.f32 (*.f32 u1 (-.f32 (*.f32 (pow.f32 u1 3) 1/4) (+.f32 (*.f32 u1 (-.f32 -1/2 (*.f32 u1 1/3))) -1)))))))
12.3b
(*.f32 (*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (*.f32 (cbrt.f32 (sin.f32 (*.f32 2 (*.f32 u2 PI.f32)))) (cbrt.f32 (sin.f32 (*.f32 2 (*.f32 u2 PI.f32)))))) (cbrt.f32 (sin.f32 (*.f32 (*.f32 2 PI.f32) u2))))
13.0b
(exp.f32 (log.f32 (*.f32 (sin.f32 (*.f32 2 (*.f32 u2 PI.f32))) (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))))))
2.5b
(/.f32 (*.f32 (sin.f32 (*.f32 2 (*.f32 u2 PI.f32))) (sqrt.f32 (-.f32 (*.f32 (pow.f32 u1 12) 1/64) (pow.f32 (-.f32 (*.f32 u1 (*.f32 u1 (-.f32 -1/2 (*.f32 u1 1/3)))) u1) 3)))) (sqrt.f32 (+.f32 (*.f32 (-.f32 (*.f32 (*.f32 u1 u1) (-.f32 -1/2 (*.f32 u1 1/3))) u1) (-.f32 (*.f32 (*.f32 u1 u1) (-.f32 -1/2 (*.f32 u1 1/3))) u1)) (-.f32 (*.f32 (*.f32 (pow.f32 u1 4) -1/4) (*.f32 (pow.f32 u1 4) -1/4)) (*.f32 (-.f32 (*.f32 (*.f32 u1 u1) (-.f32 -1/2 (*.f32 u1 1/3))) u1) (*.f32 (pow.f32 u1 4) -1/4))))))
4.7b
(*.f32 (sqrt.f32 (neg.f32 (+.f32 (-.f32 (log.f32 (pow.f32 (exp.f32 (*.f32 u1 u1)) (-.f32 -1/2 (*.f32 u1 1/3)))) u1) (*.f32 (pow.f32 u1 4) -1/4)))) (sin.f32 (*.f32 (*.f32 2 PI.f32) u2)))
2.5b
(*.f32 (sqrt.f32 (*.f32 u1 (-.f32 (*.f32 (pow.f32 u1 3) 1/4) (+.f32 (*.f32 u1 (-.f32 -1/2 (*.f32 u1 1/3))) -1)))) (sin.f32 (*.f32 (*.f32 2 PI.f32) u2)))
Compiler

Compiled 3234 to 2474 computations (23.5% saved)

localize129.0ms (0.6%)

Local error

Found 4 expressions with local error:

0.4b
(*.f32 (*.f32 u1 u1) (-.f32 -1/2 (*.f32 u1 1/3)))
0.4b
(*.f32 (sin.f32 (*.f32 2 (*.f32 u2 PI.f32))) (sqrt.f32 (-.f32 (*.f32 (pow.f32 u1 12) 1/64) (pow.f32 (-.f32 (*.f32 u1 (*.f32 u1 (-.f32 -1/2 (*.f32 u1 1/3)))) u1) 3))))
0.4b
(*.f32 (-.f32 (*.f32 (*.f32 u1 u1) (-.f32 -1/2 (*.f32 u1 1/3))) u1) (-.f32 (*.f32 (*.f32 u1 u1) (-.f32 -1/2 (*.f32 u1 1/3))) u1))
0.6b
(pow.f32 (-.f32 (*.f32 u1 (*.f32 u1 (-.f32 -1/2 (*.f32 u1 1/3)))) u1) 3)

rewrite727.0ms (3.2%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
24×add-sqr-sqrt_binary32
19×pow1_binary32
17×*-un-lft-identity_binary32
17×add-cube-cbrt_binary32
14×distribute-lft-in_binary32
Counts
4 → 124
Calls

4 calls:

19.0ms
(*.f32 (-.f32 (*.f32 (*.f32 u1 u1) (-.f32 -1/2 (*.f32 u1 1/3))) u1) (-.f32 (*.f32 (*.f32 u1 u1) (-.f32 -1/2 (*.f32 u1 1/3))) u1))
16.0ms
(*.f32 (sin.f32 (*.f32 2 (*.f32 u2 PI.f32))) (sqrt.f32 (-.f32 (*.f32 (pow.f32 u1 12) 1/64) (pow.f32 (-.f32 (*.f32 u1 (*.f32 u1 (-.f32 -1/2 (*.f32 u1 1/3)))) u1) 3))))
9.0ms
(pow.f32 (-.f32 (*.f32 u1 (*.f32 u1 (-.f32 -1/2 (*.f32 u1 1/3)))) u1) 3)
8.0ms
(*.f32 (*.f32 u1 u1) (-.f32 -1/2 (*.f32 u1 1/3)))
Compiler

Compiled 10901 to 7408 computations (32% saved)

series599.0ms (2.6%)

Error
0.0b
Counts
4 → 45
Calls

4 calls:

255.0ms
(*.f32 (sin.f32 (*.f32 2 (*.f32 u2 PI.f32))) (sqrt.f32 (-.f32 (*.f32 (pow.f32 u1 12) 1/64) (pow.f32 (-.f32 (*.f32 u1 (*.f32 u1 (-.f32 -1/2 (*.f32 u1 1/3)))) u1) 3))))
66.0ms
(pow.f32 (-.f32 (*.f32 u1 (*.f32 u1 (-.f32 -1/2 (*.f32 u1 1/3)))) u1) 3)
61.0ms
(*.f32 (-.f32 (*.f32 (*.f32 u1 u1) (-.f32 -1/2 (*.f32 u1 1/3))) u1) (-.f32 (*.f32 (*.f32 u1 u1) (-.f32 -1/2 (*.f32 u1 1/3))) u1))
57.0ms
(*.f32 (*.f32 u1 u1) (-.f32 -1/2 (*.f32 u1 1/3)))
Compiler

Compiled 7506 to 5632 computations (25% saved)

simplify234.0ms (1%)

Algorithm
egg-herbie
Rules
484×associate-*l*_binary32
448×associate-*r*_binary32
322×exp-prod_binary32
320×cancel-sign-sub-inv_binary32
220×log-prod_binary32
Counts
169 → 146
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03616561
18585602
233115522
345535522
449755522
549295522

prune489.0ms (2.1%)

Pruning

20 alts after pruning (19 fresh and 1 done)

PrunedKeptTotal
New1433146
Fresh31619
Picked101
Done011
Total14720167
Error
0.0b
Counts
167 → 20
Alt Table
StatusErrorProgram
12.3b
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (cbrt.f32 (pow.f32 (sin.f32 (*.f32 2 (*.f32 u2 PI.f32))) 3)))
13.8b
(*.f32 (sqrt.f32 (neg.f32 (+.f32 (*.f32 2 (log.f32 (cbrt.f32 (-.f32 1 u1)))) (log.f32 (cbrt.f32 (-.f32 1 u1)))))) (sin.f32 (*.f32 (*.f32 2 PI.f32) u2)))
13.0b
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (exp.f32 (log.f32 (sin.f32 (*.f32 2 (*.f32 u2 PI.f32))))))
13.3b
(*.f32 (sqrt.f32 (neg.f32 (-.f32 (log.f32 (-.f32 1 (*.f32 u1 u1))) (log.f32 (+.f32 u1 1))))) (sin.f32 (*.f32 (*.f32 2 PI.f32) u2)))
3.2b
(*.f32 (*.f32 (sqrt.f32 (*.f32 u1 (-.f32 (*.f32 (pow.f32 u1 3) 1/4) (+.f32 (*.f32 u1 (-.f32 -1/2 (*.f32 u1 1/3))) -1)))) (sqrt.f32 (sin.f32 (*.f32 2 (*.f32 u2 PI.f32))))) (sqrt.f32 (sin.f32 (*.f32 (*.f32 2 PI.f32) u2))))
3.2b
(/.f32 (*.f32 (sqrt.f32 (*.f32 (sin.f32 (*.f32 2 (*.f32 u2 PI.f32))) (sqrt.f32 (-.f32 (*.f32 1/64 (pow.f32 u1 12)) (pow.f32 (-.f32 (*.f32 u1 (*.f32 u1 (-.f32 -1/2 (*.f32 u1 1/3)))) u1) 3))))) (sqrt.f32 (*.f32 (sin.f32 (*.f32 2 (*.f32 u2 PI.f32))) (sqrt.f32 (-.f32 (*.f32 1/64 (pow.f32 u1 12)) (pow.f32 (-.f32 (*.f32 u1 (*.f32 u1 (-.f32 -1/2 (*.f32 u1 1/3)))) u1) 3)))))) (sqrt.f32 (+.f32 (*.f32 (-.f32 (*.f32 (*.f32 u1 u1) (-.f32 -1/2 (*.f32 u1 1/3))) u1) (-.f32 (*.f32 (*.f32 u1 u1) (-.f32 -1/2 (*.f32 u1 1/3))) u1)) (-.f32 (*.f32 (*.f32 (pow.f32 u1 4) -1/4) (*.f32 (pow.f32 u1 4) -1/4)) (*.f32 (-.f32 (*.f32 (*.f32 u1 u1) (-.f32 -1/2 (*.f32 u1 1/3))) u1) (*.f32 (pow.f32 u1 4) -1/4))))))
18.6b
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (log.f32 (exp.f32 (sin.f32 (*.f32 2 (*.f32 u2 PI.f32))))))
13.2b
(*.f32 (sqrt.f32 (neg.f32 (-.f32 (log.f32 (-.f32 1 (pow.f32 u1 3))) (log.f32 (+.f32 1 (+.f32 u1 (*.f32 u1 u1))))))) (sin.f32 (*.f32 (*.f32 2 PI.f32) u2)))
2.8b
(*.f32 (*.f32 (sqrt.f32 (*.f32 u1 (-.f32 (*.f32 (pow.f32 u1 3) 1/4) (+.f32 (*.f32 u1 (-.f32 -1/2 (*.f32 u1 1/3))) -1)))) (*.f32 (cbrt.f32 (sin.f32 (*.f32 2 (*.f32 u2 PI.f32)))) (cbrt.f32 (sin.f32 (*.f32 2 (*.f32 u2 PI.f32)))))) (cbrt.f32 (sin.f32 (*.f32 (*.f32 2 PI.f32) u2))))
2.6b
(*.f32 (sqrt.f32 (sqrt.f32 (neg.f32 (+.f32 (-.f32 (*.f32 (*.f32 u1 u1) (-.f32 -1/2 (*.f32 u1 1/3))) u1) (*.f32 (pow.f32 u1 4) -1/4))))) (*.f32 (sin.f32 (*.f32 2 (*.f32 u2 PI.f32))) (sqrt.f32 (sqrt.f32 (*.f32 u1 (-.f32 (*.f32 (pow.f32 u1 3) 1/4) (+.f32 (*.f32 u1 (-.f32 -1/2 (*.f32 u1 1/3))) -1)))))))
2.4b
(/.f32 (*.f32 (sin.f32 (*.f32 2 (*.f32 u2 PI.f32))) (sqrt.f32 (-.f32 (*.f32 (pow.f32 u1 12) 1/64) (pow.f32 (-.f32 (*.f32 u1 (*.f32 u1 (-.f32 -1/2 (*.f32 u1 1/3)))) u1) 3)))) (sqrt.f32 (+.f32 (+.f32 (*.f32 u1 u1) (+.f32 (pow.f32 u1 3) (+.f32 (*.f32 (pow.f32 u1 4) 11/12) (*.f32 (pow.f32 u1 5) 1/3)))) (-.f32 (*.f32 (*.f32 (pow.f32 u1 4) -1/4) (*.f32 (pow.f32 u1 4) -1/4)) (*.f32 (-.f32 (*.f32 (*.f32 u1 u1) (-.f32 -1/2 (*.f32 u1 1/3))) u1) (*.f32 (pow.f32 u1 4) -1/4))))))
12.3b
(*.f32 (sqrt.f32 (*.f32 (cbrt.f32 (log.f32 (-.f32 1 u1))) (cbrt.f32 (log.f32 (-.f32 1 u1))))) (*.f32 (sin.f32 (*.f32 2 (*.f32 u2 PI.f32))) (sqrt.f32 (neg.f32 (cbrt.f32 (log.f32 (-.f32 1 u1)))))))
2.7b
(*.f32 (*.f32 (cbrt.f32 (sqrt.f32 (neg.f32 (+.f32 (-.f32 (*.f32 (*.f32 u1 u1) (-.f32 -1/2 (*.f32 u1 1/3))) u1) (*.f32 (pow.f32 u1 4) -1/4))))) (cbrt.f32 (sqrt.f32 (neg.f32 (+.f32 (-.f32 (*.f32 (*.f32 u1 u1) (-.f32 -1/2 (*.f32 u1 1/3))) u1) (*.f32 (pow.f32 u1 4) -1/4)))))) (*.f32 (sin.f32 (*.f32 2 (*.f32 u2 PI.f32))) (cbrt.f32 (sqrt.f32 (*.f32 u1 (-.f32 (*.f32 (pow.f32 u1 3) 1/4) (+.f32 (*.f32 u1 (-.f32 -1/2 (*.f32 u1 1/3))) -1)))))))
12.8b
(*.f32 (*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (sqrt.f32 (sin.f32 (*.f32 2 (*.f32 u2 PI.f32))))) (sqrt.f32 (sin.f32 (*.f32 (*.f32 2 PI.f32) u2))))
12.8b
(*.f32 (*.f32 (sqrt.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1))))) (sqrt.f32 (sin.f32 (*.f32 2 (*.f32 u2 PI.f32))))) (*.f32 (sqrt.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1))))) (sqrt.f32 (sin.f32 (*.f32 2 (*.f32 u2 PI.f32))))))
4.3b
(exp.f32 (log.f32 (*.f32 (sin.f32 (*.f32 2 (*.f32 u2 PI.f32))) (sqrt.f32 (*.f32 u1 (-.f32 (*.f32 (pow.f32 u1 3) 1/4) (+.f32 (*.f32 u1 (-.f32 -1/2 (*.f32 u1 1/3))) -1)))))))
12.3b
(*.f32 (*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (*.f32 (cbrt.f32 (sin.f32 (*.f32 2 (*.f32 u2 PI.f32)))) (cbrt.f32 (sin.f32 (*.f32 2 (*.f32 u2 PI.f32)))))) (cbrt.f32 (sin.f32 (*.f32 (*.f32 2 PI.f32) u2))))
13.0b
(exp.f32 (log.f32 (*.f32 (sin.f32 (*.f32 2 (*.f32 u2 PI.f32))) (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))))))
2.7b
(/.f32 (*.f32 (*.f32 (sin.f32 (*.f32 2 (*.f32 u2 PI.f32))) (sqrt.f32 (sqrt.f32 (-.f32 (*.f32 1/64 (pow.f32 u1 12)) (pow.f32 (-.f32 (*.f32 u1 (*.f32 u1 (-.f32 -1/2 (*.f32 u1 1/3)))) u1) 3))))) (sqrt.f32 (sqrt.f32 (-.f32 (*.f32 (pow.f32 u1 12) 1/64) (pow.f32 (-.f32 (*.f32 u1 (*.f32 u1 (-.f32 -1/2 (*.f32 u1 1/3)))) u1) 3))))) (sqrt.f32 (+.f32 (*.f32 (-.f32 (*.f32 (*.f32 u1 u1) (-.f32 -1/2 (*.f32 u1 1/3))) u1) (-.f32 (*.f32 (*.f32 u1 u1) (-.f32 -1/2 (*.f32 u1 1/3))) u1)) (-.f32 (*.f32 (*.f32 (pow.f32 u1 4) -1/4) (*.f32 (pow.f32 u1 4) -1/4)) (*.f32 (-.f32 (*.f32 (*.f32 u1 u1) (-.f32 -1/2 (*.f32 u1 1/3))) u1) (*.f32 (pow.f32 u1 4) -1/4))))))
2.5b
(*.f32 (sqrt.f32 (*.f32 u1 (-.f32 (*.f32 (pow.f32 u1 3) 1/4) (+.f32 (*.f32 u1 (-.f32 -1/2 (*.f32 u1 1/3))) -1)))) (sin.f32 (*.f32 (*.f32 2 PI.f32) u2)))
Compiler

Compiled 8318 to 5954 computations (28.4% saved)

regimes14.7s (64.1%)

Accuracy

Total 0.5b remaining (78.9%)

Threshold costs 0.5b (78.9%)

Compiler

Compiled 180815 to 141239 computations (21.9% saved)

bsearch52.0ms (0.2%)

Compiler

Compiled 6 to 5 computations (16.7% saved)

simplify6.0ms (0%)

Algorithm
egg-herbie
Rules
12×*-commutative_binary32
+-commutative_binary32
sub-neg_binary32
neg-sub0_binary32
neg-mul-1_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
037120
157120
262120
365120
466120
565120

end4.0ms (0%)

Compiler

Compiled 76 to 60 computations (21.1% saved)

sample3.2s (14%)

Algorithm
intervals
Results
849.0ms8000×body128valid
240.0ms8000×pre128true
0.0mspre128false
Compiler

Compiled 945 to 751 computations (20.5% saved)

Profiling

Loading profile data...