Details

Time bar (total: 21.4s)

analyze477.0ms (2.2%)

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)

sample65.0ms (0.3%)

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

Compiled 50 to 42 computations (16% saved)

simplify17.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

prune2.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New000
Fresh011
Picked000
Done000
Total011
Error
13.2b
Counts
1 → 1
Alt Table
StatusErrorProgram
13.2b
(*.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)

localize40.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

rewrite125.0ms (0.6%)

Algorithm
rewrite-expression-head
Error
9.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:

8.0ms
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (sin.f32 (*.f32 (*.f32 2 PI.f32) u2)))
4.0ms
(*.f32 (*.f32 2 PI.f32) u2)
3.0ms
(log.f32 (-.f32 1 u1))
1.0ms
(sin.f32 (*.f32 (*.f32 2 PI.f32) u2))
Compiler

Compiled 1307 to 1025 computations (21.6% saved)

series120.0ms (0.6%)

Error
0.5b
Counts
4 → 24
Calls

4 calls:

51.0ms
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (sin.f32 (*.f32 (*.f32 2 PI.f32) u2)))
15.0ms
(sin.f32 (*.f32 (*.f32 2 PI.f32) u2))
15.0ms
(log.f32 (-.f32 1 u1))
8.0ms
(*.f32 (*.f32 2 PI.f32) u2)
Compiler

Compiled 1269 to 1043 computations (17.8% saved)

simplify153.0ms (0.7%)

Algorithm
egg-herbie
Rules
541×sub-neg_binary32
467×*-commutative_binary32
326×neg-mul-1_binary32
318×distribute-rgt-neg-in_binary32
304×unsub-neg_binary32
Counts
97 → 69
Iterations

Useful iterations: 6 (0.0ms)

IterNodesCost
02011991
14431840
213521790
323491744
440861744
543571744
649031738
749111738

prune117.0ms (0.5%)

Pruning

14 alts after pruning (14 fresh and 0 done)

PrunedKeptTotal
New551469
Fresh000
Picked101
Done000
Total561470
Error
0.4b
Counts
70 → 14
Alt Table
StatusErrorProgram
13.2b
(*.f32 (sqrt.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1))))) (*.f32 (sin.f32 (*.f32 2 (*.f32 u2 PI.f32))) (sqrt.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))))))
2.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)))
13.3b
(*.f32 (*.f32 (cbrt.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1))))) (cbrt.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))))) (*.f32 (sin.f32 (*.f32 2 (*.f32 u2 PI.f32))) (cbrt.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))))))
3.0b
(*.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)))
13.2b
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (sin.f32 (*.f32 (sqrt.f32 (*.f32 2 (*.f32 u2 PI.f32))) (sqrt.f32 (*.f32 2 (*.f32 u2 PI.f32))))))
13.3b
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (sin.f32 (*.f32 (*.f32 (cbrt.f32 (*.f32 2 (*.f32 u2 PI.f32))) (cbrt.f32 (*.f32 2 (*.f32 u2 PI.f32)))) (cbrt.f32 (*.f32 2 (*.f32 u2 PI.f32))))))
13.4b
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (sin.f32 (exp.f32 (log.f32 (*.f32 2 (*.f32 u2 PI.f32))))))
15.0b
(*.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)))
14.4b
(*.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)))
14.5b
(*.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)))
4.2b
(*.f32 (sqrt.f32 (neg.f32 (*.f32 u1 (+.f32 -1 (*.f32 u1 -1/2))))) (sin.f32 (*.f32 (*.f32 2 PI.f32) u2)))
7.6b
(*.f32 (sqrt.f32 (neg.f32 (neg.f32 u1))) (sin.f32 (*.f32 (*.f32 2 PI.f32) u2)))
13.2b
(*.f32 (*.f32 (cbrt.f32 (*.f32 (sin.f32 (*.f32 2 (*.f32 u2 PI.f32))) (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))))) (cbrt.f32 (*.f32 (sin.f32 (*.f32 2 (*.f32 u2 PI.f32))) (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1))))))) (cbrt.f32 (*.f32 (sin.f32 (*.f32 2 (*.f32 u2 PI.f32))) (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))))))
13.6b
(exp.f32 (log.f32 (*.f32 (sin.f32 (*.f32 2 (*.f32 u2 PI.f32))) (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))))))
Compiler

Compiled 1735 to 1335 computations (23.1% saved)

localize80.0ms (0.4%)

Local error

Found 4 expressions with local error:

0.3b
(*.f32 (*.f32 u1 u1) (+.f32 -1/2 (*.f32 u1 -1/3)))
0.3b
(*.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)))
0.3b
(*.f32 u1 -1/3)
0.4b
(*.f32 (*.f32 2 PI.f32) u2)

rewrite250.0ms (1.2%)

Algorithm
rewrite-expression-head
Error
0.1b
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 → 90
Calls

4 calls:

15.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)))
4.0ms
(*.f32 (*.f32 2 PI.f32) u2)
3.0ms
(*.f32 u1 -1/3)
Compiler

Compiled 3012 to 2121 computations (29.6% saved)

series149.0ms (0.7%)

Error
0.3b
Counts
4 → 25
Calls

4 calls:

73.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)))
21.0ms
(*.f32 (*.f32 u1 u1) (+.f32 -1/2 (*.f32 u1 -1/3)))
13.0ms
(*.f32 (*.f32 2 PI.f32) u2)
12.0ms
(*.f32 u1 -1/3)
Compiler

Compiled 1849 to 1461 computations (21% saved)

simplify123.0ms (0.6%)

Algorithm
egg-herbie
Rules
445×distribute-rgt-in_binary32
434×distribute-lft-in_binary32
363×associate-*l*_binary32
305×associate-*r*_binary32
231×cancel-sign-sub-inv_binary32
Counts
115 → 90
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02363176
15842896
219932679
348512679
449362679

prune233.0ms (1.1%)

Pruning

19 alts after pruning (19 fresh and 0 done)

PrunedKeptTotal
New81990
Fresh31013
Picked101
Done000
Total8519104
Error
0.1b
Counts
104 → 19
Alt Table
StatusErrorProgram
2.5b
(*.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 (*.f32 -1/3 u1) -1/2)) -1)))))))
13.3b
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (sin.f32 (*.f32 (*.f32 (cbrt.f32 (*.f32 2 (*.f32 u2 PI.f32))) (cbrt.f32 (*.f32 2 (*.f32 u2 PI.f32)))) (cbrt.f32 (*.f32 2 (*.f32 u2 PI.f32))))))
2.5b
(*.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 (*.f32 -1/3 u1) -1/2)) -1)))))))
13.4b
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (sin.f32 (exp.f32 (log.f32 (*.f32 2 (*.f32 u2 PI.f32))))))
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 (*.f32 -1/3 u1) -1/2))) 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))))))
15.0b
(*.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)))
6.6b
(*.f32 2 (*.f32 (*.f32 u2 PI.f32) (sqrt.f32 (*.f32 u1 (-.f32 (*.f32 (pow.f32 u1 3) 1/4) (+.f32 (*.f32 u1 (+.f32 (*.f32 -1/3 u1) -1/2)) -1))))))
3.1b
(*.f32 (sqrt.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 (*.f32 -1/3 u1) -1/2)) -1)))))) (sqrt.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 (*.f32 -1/3 u1) -1/2)) -1)))))))
14.5b
(*.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)))
13.3b
(*.f32 (*.f32 (cbrt.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1))))) (cbrt.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))))) (*.f32 (sin.f32 (*.f32 2 (*.f32 u2 PI.f32))) (cbrt.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))))))
3.0b
(*.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)))
13.2b
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (sin.f32 (*.f32 (sqrt.f32 (*.f32 2 (*.f32 u2 PI.f32))) (sqrt.f32 (*.f32 2 (*.f32 u2 PI.f32))))))
14.4b
(*.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)))
2.7b
(*.f32 (*.f32 (cbrt.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 (*.f32 -1/3 u1) -1/2)) -1)))))) (cbrt.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 (*.f32 -1/3 u1) -1/2)) -1))))))) (cbrt.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 (*.f32 -1/3 u1) -1/2)) -1)))))))
4.2b
(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 (*.f32 -1/3 u1) -1/2)) -1)))))))
7.6b
(*.f32 (sqrt.f32 (neg.f32 (neg.f32 u1))) (sin.f32 (*.f32 (*.f32 2 PI.f32) u2)))
13.2b
(*.f32 (*.f32 (cbrt.f32 (*.f32 (sin.f32 (*.f32 2 (*.f32 u2 PI.f32))) (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))))) (cbrt.f32 (*.f32 (sin.f32 (*.f32 2 (*.f32 u2 PI.f32))) (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1))))))) (cbrt.f32 (*.f32 (sin.f32 (*.f32 2 (*.f32 u2 PI.f32))) (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))))))
2.7b
(*.f32 (*.f32 (sqrt.f32 (*.f32 u1 (-.f32 (*.f32 (pow.f32 u1 3) 1/4) (+.f32 (*.f32 u1 (+.f32 (*.f32 -1/3 u1) -1/2)) -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))))
3.2b
(*.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 (exp.f32 (log.f32 (*.f32 2 (*.f32 u2 PI.f32))))))
Compiler

Compiled 3793 to 2832 computations (25.3% saved)

localize164.0ms (0.8%)

Local error

Found 4 expressions with local error:

0.4b
(*.f32 u2 PI.f32)
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 (*.f32 -1/3 u1) -1/2))) 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 (*.f32 -1/3 u1) -1/2))) u1) 3)

rewrite555.0ms (2.6%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
26×add-sqr-sqrt_binary32
18×*-un-lft-identity_binary32
18×add-cube-cbrt_binary32
16×pow1_binary32
12×associate-*r*_binary32
Counts
4 → 113
Calls

4 calls:

16.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))
15.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 (*.f32 -1/3 u1) -1/2))) u1) 3))))
9.0ms
(pow.f32 (-.f32 (*.f32 u1 (*.f32 u1 (+.f32 (*.f32 -1/3 u1) -1/2))) u1) 3)
3.0ms
(*.f32 u2 PI.f32)
Compiler

Compiled 9805 to 6659 computations (32.1% saved)

series451.0ms (2.1%)

Error
0.1b
Counts
4 → 42
Calls

4 calls:

207.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 (*.f32 -1/3 u1) -1/2))) u1) 3))))
55.0ms
(pow.f32 (-.f32 (*.f32 u1 (*.f32 u1 (+.f32 (*.f32 -1/3 u1) -1/2))) u1) 3)
50.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))
25.0ms
(*.f32 u2 PI.f32)
Compiler

Compiled 7086 to 5304 computations (25.1% saved)

simplify211.0ms (1%)

Algorithm
egg-herbie
Rules
403×associate-*l*_binary32
388×associate-*r*_binary32
284×neg-mul-1_binary32
280×exp-prod_binary32
253×cancel-sign-sub-inv_binary32
Counts
155 → 128
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03326036
18065193
230565108
342275108
449625108
549725108

prune500.0ms (2.3%)

Pruning

22 alts after pruning (22 fresh and 0 done)

PrunedKeptTotal
New1217128
Fresh31518
Picked101
Done000
Total12522147
Error
0.0b
Counts
147 → 22
Alt Table
StatusErrorProgram
2.5b
(*.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 (*.f32 -1/3 u1) -1/2)) -1)))))))
13.3b
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (sin.f32 (*.f32 (*.f32 (cbrt.f32 (*.f32 2 (*.f32 u2 PI.f32))) (cbrt.f32 (*.f32 2 (*.f32 u2 PI.f32)))) (cbrt.f32 (*.f32 2 (*.f32 u2 PI.f32))))))
2.7b
(/.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 (*.f32 -1/3 u1) -1/2))) u1) 3)))) (sqrt.f32 (+.f32 (*.f32 (pow.f32 (cbrt.f32 (-.f32 (*.f32 u1 (*.f32 u1 (+.f32 (*.f32 u1 -1/3) -1/2))) u1)) 4) (pow.f32 (cbrt.f32 (-.f32 (*.f32 u1 (*.f32 u1 (+.f32 (*.f32 u1 -1/3) -1/2))) u1)) 2)) (-.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 (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 (*.f32 -1/3 u1) -1/2)) -1)))))))
13.4b
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (sin.f32 (exp.f32 (log.f32 (*.f32 2 (*.f32 u2 PI.f32))))))
15.0b
(*.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)))
6.6b
(*.f32 2 (*.f32 (*.f32 u2 PI.f32) (sqrt.f32 (*.f32 u1 (-.f32 (*.f32 (pow.f32 u1 3) 1/4) (+.f32 (*.f32 u1 (+.f32 (*.f32 -1/3 u1) -1/2)) -1))))))
2.7b
(*.f32 (*.f32 (cbrt.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 (*.f32 -1/3 u1) -1/2)) -1)))))) (cbrt.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 (*.f32 -1/3 u1) -1/2)) -1))))))) (cbrt.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 (*.f32 -1/3 u1) -1/2)) -1)))))))
2.7b
(/.f32 (*.f32 (*.f32 (sin.f32 (*.f32 2 (*.f32 u2 PI.f32))) (*.f32 (cbrt.f32 (sqrt.f32 (-.f32 (*.f32 1/64 (pow.f32 u1 12)) (pow.f32 (-.f32 (*.f32 u1 (*.f32 u1 (+.f32 (*.f32 u1 -1/3) -1/2))) u1) 3)))) (cbrt.f32 (sqrt.f32 (-.f32 (*.f32 1/64 (pow.f32 u1 12)) (pow.f32 (-.f32 (*.f32 u1 (*.f32 u1 (+.f32 (*.f32 u1 -1/3) -1/2))) u1) 3)))))) (cbrt.f32 (sqrt.f32 (-.f32 (*.f32 (pow.f32 u1 12) 1/64) (pow.f32 (-.f32 (*.f32 u1 (*.f32 u1 (+.f32 (*.f32 -1/3 u1) -1/2))) 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))))))
13.3b
(*.f32 (*.f32 (cbrt.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1))))) (cbrt.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))))) (*.f32 (sin.f32 (*.f32 2 (*.f32 u2 PI.f32))) (cbrt.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))))))
2.5b
(/.f32 (*.f32 (sin.f32 (*.f32 2 (*.f32 (sqrt.f32 u2) (*.f32 PI.f32 (sqrt.f32 u2))))) (sqrt.f32 (-.f32 (*.f32 (pow.f32 u1 12) 1/64) (pow.f32 (-.f32 (*.f32 u1 (*.f32 u1 (+.f32 (*.f32 -1/3 u1) -1/2))) 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.7b
(/.f32 (*.f32 (*.f32 (cbrt.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 (*.f32 u1 -1/3) -1/2))) u1) 3))))) (cbrt.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 (*.f32 u1 -1/3) -1/2))) u1) 3)))))) (cbrt.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 (*.f32 u1 -1/3) -1/2))) 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))))))
13.2b
(*.f32 (*.f32 (cbrt.f32 (*.f32 (sin.f32 (*.f32 2 (*.f32 u2 PI.f32))) (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))))) (cbrt.f32 (*.f32 (sin.f32 (*.f32 2 (*.f32 u2 PI.f32))) (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1))))))) (cbrt.f32 (*.f32 (sin.f32 (*.f32 2 (*.f32 u2 PI.f32))) (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))))))
2.7b
(*.f32 (*.f32 (sqrt.f32 (*.f32 u1 (-.f32 (*.f32 (pow.f32 u1 3) 1/4) (+.f32 (*.f32 u1 (+.f32 (*.f32 -1/3 u1) -1/2)) -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))))
3.1b
(/.f32 (*.f32 (sqrt.f32 (sin.f32 (*.f32 2 (*.f32 u2 PI.f32)))) (*.f32 (sqrt.f32 (-.f32 (*.f32 1/64 (pow.f32 u1 12)) (pow.f32 (-.f32 (*.f32 u1 (*.f32 u1 (+.f32 (*.f32 u1 -1/3) -1/2))) u1) 3))) (sqrt.f32 (sin.f32 (*.f32 2 (*.f32 u2 PI.f32)))))) (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))))))
3.2b
(*.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 (exp.f32 (log.f32 (*.f32 2 (*.f32 u2 PI.f32))))))
2.7b
(/.f32 (*.f32 (*.f32 (cbrt.f32 (sin.f32 (*.f32 2 (*.f32 u2 PI.f32)))) (cbrt.f32 (sin.f32 (*.f32 2 (*.f32 u2 PI.f32))))) (*.f32 (sqrt.f32 (-.f32 (*.f32 1/64 (pow.f32 u1 12)) (pow.f32 (-.f32 (*.f32 u1 (*.f32 u1 (+.f32 (*.f32 u1 -1/3) -1/2))) u1) 3))) (cbrt.f32 (sin.f32 (*.f32 2 (*.f32 u2 PI.f32)))))) (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))))))
13.2b
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (sin.f32 (*.f32 (sqrt.f32 (*.f32 2 (*.f32 u2 PI.f32))) (sqrt.f32 (*.f32 2 (*.f32 u2 PI.f32))))))
14.4b
(*.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)))
14.5b
(*.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)))
3.5b
(/.f32 (-.f32 (*.f32 (sqrt.f32 (+.f32 (*.f32 7/12 (pow.f32 u1 7)) (+.f32 (*.f32 9/8 (pow.f32 u1 6)) (+.f32 (*.f32 (pow.f32 u1 9) 1/27) (+.f32 (*.f32 1/6 (pow.f32 u1 8)) (+.f32 (pow.f32 u1 3) (+.f32 (*.f32 7/4 (pow.f32 u1 5)) (+.f32 (*.f32 3/2 (pow.f32 u1 4)) (*.f32 1/64 (pow.f32 u1 12)))))))))) (+.f32 (*.f32 2 (*.f32 u2 PI.f32)) (*.f32 4/15 (*.f32 (pow.f32 u2 5) (pow.f32 PI.f32 5))))) (*.f32 (sqrt.f32 (+.f32 (*.f32 7/12 (pow.f32 u1 7)) (+.f32 (*.f32 9/8 (pow.f32 u1 6)) (+.f32 (*.f32 (pow.f32 u1 9) 1/27) (+.f32 (*.f32 1/6 (pow.f32 u1 8)) (+.f32 (pow.f32 u1 3) (+.f32 (*.f32 7/4 (pow.f32 u1 5)) (+.f32 (*.f32 3/2 (pow.f32 u1 4)) (*.f32 1/64 (pow.f32 u1 12)))))))))) (+.f32 (*.f32 4/3 (pow.f32 (*.f32 u2 PI.f32) 3)) (*.f32 8/315 (*.f32 (pow.f32 u2 7) (pow.f32 PI.f32 7)))))) (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))))))
7.6b
(*.f32 (sqrt.f32 (neg.f32 (neg.f32 u1))) (sin.f32 (*.f32 (*.f32 2 PI.f32) u2)))
Compiler

Compiled 10051 to 7258 computations (27.8% saved)

localize137.0ms (0.6%)

Local error

Found 4 expressions with local error:

0.3b
(*.f32 -1/3 u1)
0.3b
(*.f32 u1 -1/3)
0.4b
(*.f32 u2 PI.f32)
0.4b
(*.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 (*.f32 -1/3 u1) -1/2)) -1))))))

rewrite268.0ms (1.3%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
23×add-sqr-sqrt_binary32
16×associate-*r*_binary32
13×associate-*l*_binary32
13×*-un-lft-identity_binary32
13×add-cube-cbrt_binary32
Counts
4 → 80
Calls

4 calls:

15.0ms
(*.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 (*.f32 -1/3 u1) -1/2)) -1))))))
7.0ms
(*.f32 -1/3 u1)
3.0ms
(*.f32 u1 -1/3)
3.0ms
(*.f32 u2 PI.f32)
Compiler

Compiled 3998 to 2916 computations (27.1% saved)

series247.0ms (1.2%)

Error
0.0b
Counts
4 → 23
Calls

4 calls:

143.0ms
(*.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 (*.f32 -1/3 u1) -1/2)) -1))))))
17.0ms
(*.f32 -1/3 u1)
16.0ms
(*.f32 u2 PI.f32)
16.0ms
(*.f32 u1 -1/3)
Compiler

Compiled 3109 to 2443 computations (21.4% saved)

simplify124.0ms (0.6%)

Algorithm
egg-herbie
Rules
689×times-frac_binary32
255×sub-neg_binary32
234×associate-*r*_binary32
234×associate-*l*_binary32
192×distribute-rgt-in_binary32
Counts
103 → 67
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02292716
15252543
216382306
335782276
446882276
549952276

prune238.0ms (1.1%)

Pruning

23 alts after pruning (22 fresh and 1 done)

PrunedKeptTotal
New64367
Fresh21921
Picked011
Done000
Total662389
Error
0.0b
Counts
89 → 23
Alt Table
StatusErrorProgram
2.5b
(*.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 (*.f32 -1/3 u1) -1/2)) -1)))))))
13.3b
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (sin.f32 (*.f32 (*.f32 (cbrt.f32 (*.f32 2 (*.f32 u2 PI.f32))) (cbrt.f32 (*.f32 2 (*.f32 u2 PI.f32)))) (cbrt.f32 (*.f32 2 (*.f32 u2 PI.f32))))))
2.7b
(/.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 (*.f32 -1/3 u1) -1/2))) u1) 3)))) (sqrt.f32 (+.f32 (*.f32 (pow.f32 (cbrt.f32 (-.f32 (*.f32 u1 (*.f32 u1 (+.f32 (*.f32 u1 -1/3) -1/2))) u1)) 4) (pow.f32 (cbrt.f32 (-.f32 (*.f32 u1 (*.f32 u1 (+.f32 (*.f32 u1 -1/3) -1/2))) u1)) 2)) (-.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 (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 (*.f32 -1/3 u1) -1/2)) -1)))))))
13.4b
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (sin.f32 (exp.f32 (log.f32 (*.f32 2 (*.f32 u2 PI.f32))))))
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 (*.f32 (sin.f32 (*.f32 2 (*.f32 u2 PI.f32))) (sqrt.f32 (sqrt.f32 (sqrt.f32 (*.f32 u1 (+.f32 1 (+.f32 (*.f32 1/4 (pow.f32 u1 3)) (*.f32 u1 (+.f32 (*.f32 1/3 u1) 1/2))))))))) (sqrt.f32 (sqrt.f32 (sqrt.f32 (*.f32 u1 (-.f32 (*.f32 (pow.f32 u1 3) 1/4) (+.f32 (*.f32 u1 (+.f32 (*.f32 -1/3 u1) -1/2)) -1))))))))
2.7b
(*.f32 (*.f32 (cbrt.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 (*.f32 -1/3 u1) -1/2)) -1)))))) (cbrt.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 (*.f32 -1/3 u1) -1/2)) -1))))))) (cbrt.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 (*.f32 -1/3 u1) -1/2)) -1)))))))
2.7b
(/.f32 (*.f32 (*.f32 (sin.f32 (*.f32 2 (*.f32 u2 PI.f32))) (*.f32 (cbrt.f32 (sqrt.f32 (-.f32 (*.f32 1/64 (pow.f32 u1 12)) (pow.f32 (-.f32 (*.f32 u1 (*.f32 u1 (+.f32 (*.f32 u1 -1/3) -1/2))) u1) 3)))) (cbrt.f32 (sqrt.f32 (-.f32 (*.f32 1/64 (pow.f32 u1 12)) (pow.f32 (-.f32 (*.f32 u1 (*.f32 u1 (+.f32 (*.f32 u1 -1/3) -1/2))) u1) 3)))))) (cbrt.f32 (sqrt.f32 (-.f32 (*.f32 (pow.f32 u1 12) 1/64) (pow.f32 (-.f32 (*.f32 u1 (*.f32 u1 (+.f32 (*.f32 -1/3 u1) -1/2))) 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))))))
13.3b
(*.f32 (*.f32 (cbrt.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1))))) (cbrt.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))))) (*.f32 (sin.f32 (*.f32 2 (*.f32 u2 PI.f32))) (cbrt.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))))))
2.5b
(/.f32 (*.f32 (sin.f32 (*.f32 2 (*.f32 (sqrt.f32 u2) (*.f32 PI.f32 (sqrt.f32 u2))))) (sqrt.f32 (-.f32 (*.f32 (pow.f32 u1 12) 1/64) (pow.f32 (-.f32 (*.f32 u1 (*.f32 u1 (+.f32 (*.f32 -1/3 u1) -1/2))) 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.7b
(/.f32 (*.f32 (*.f32 (cbrt.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 (*.f32 u1 -1/3) -1/2))) u1) 3))))) (cbrt.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 (*.f32 u1 -1/3) -1/2))) u1) 3)))))) (cbrt.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 (*.f32 u1 -1/3) -1/2))) 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))))))
13.2b
(*.f32 (*.f32 (cbrt.f32 (*.f32 (sin.f32 (*.f32 2 (*.f32 u2 PI.f32))) (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))))) (cbrt.f32 (*.f32 (sin.f32 (*.f32 2 (*.f32 u2 PI.f32))) (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1))))))) (cbrt.f32 (*.f32 (sin.f32 (*.f32 2 (*.f32 u2 PI.f32))) (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))))))
17.2b
(*.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))))) (log.f32 (pow.f32 (exp.f32 (sin.f32 (*.f32 2 (*.f32 u2 PI.f32)))) (sqrt.f32 (sqrt.f32 (*.f32 u1 (+.f32 1 (+.f32 (*.f32 1/4 (pow.f32 u1 3)) (*.f32 u1 (+.f32 (*.f32 1/3 u1) 1/2))))))))))
2.5b
(*.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 (*.f32 (sin.f32 (*.f32 2 (*.f32 u2 PI.f32))) (fabs.f32 (cbrt.f32 (sqrt.f32 (*.f32 u1 (+.f32 1 (+.f32 (*.f32 1/4 (pow.f32 u1 3)) (*.f32 u1 (+.f32 (*.f32 1/3 u1) 1/2))))))))) (sqrt.f32 (cbrt.f32 (sqrt.f32 (*.f32 u1 (-.f32 (*.f32 (pow.f32 u1 3) 1/4) (+.f32 (*.f32 u1 (+.f32 (*.f32 -1/3 u1) -1/2)) -1))))))))
3.1b
(/.f32 (*.f32 (sqrt.f32 (sin.f32 (*.f32 2 (*.f32 u2 PI.f32)))) (*.f32 (sqrt.f32 (-.f32 (*.f32 1/64 (pow.f32 u1 12)) (pow.f32 (-.f32 (*.f32 u1 (*.f32 u1 (+.f32 (*.f32 u1 -1/3) -1/2))) u1) 3))) (sqrt.f32 (sin.f32 (*.f32 2 (*.f32 u2 PI.f32)))))) (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))))))
3.2b
(*.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 (exp.f32 (log.f32 (*.f32 2 (*.f32 u2 PI.f32))))))
2.7b
(/.f32 (*.f32 (*.f32 (cbrt.f32 (sin.f32 (*.f32 2 (*.f32 u2 PI.f32)))) (cbrt.f32 (sin.f32 (*.f32 2 (*.f32 u2 PI.f32))))) (*.f32 (sqrt.f32 (-.f32 (*.f32 1/64 (pow.f32 u1 12)) (pow.f32 (-.f32 (*.f32 u1 (*.f32 u1 (+.f32 (*.f32 u1 -1/3) -1/2))) u1) 3))) (cbrt.f32 (sin.f32 (*.f32 2 (*.f32 u2 PI.f32)))))) (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))))))
13.2b
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 1 u1)))) (sin.f32 (*.f32 (sqrt.f32 (*.f32 2 (*.f32 u2 PI.f32))) (sqrt.f32 (*.f32 2 (*.f32 u2 PI.f32))))))
15.0b
(*.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)))
14.4b
(*.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)))
14.5b
(*.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)))
3.5b
(/.f32 (-.f32 (*.f32 (sqrt.f32 (+.f32 (*.f32 7/12 (pow.f32 u1 7)) (+.f32 (*.f32 9/8 (pow.f32 u1 6)) (+.f32 (*.f32 (pow.f32 u1 9) 1/27) (+.f32 (*.f32 1/6 (pow.f32 u1 8)) (+.f32 (pow.f32 u1 3) (+.f32 (*.f32 7/4 (pow.f32 u1 5)) (+.f32 (*.f32 3/2 (pow.f32 u1 4)) (*.f32 1/64 (pow.f32 u1 12)))))))))) (+.f32 (*.f32 2 (*.f32 u2 PI.f32)) (*.f32 4/15 (*.f32 (pow.f32 u2 5) (pow.f32 PI.f32 5))))) (*.f32 (sqrt.f32 (+.f32 (*.f32 7/12 (pow.f32 u1 7)) (+.f32 (*.f32 9/8 (pow.f32 u1 6)) (+.f32 (*.f32 (pow.f32 u1 9) 1/27) (+.f32 (*.f32 1/6 (pow.f32 u1 8)) (+.f32 (pow.f32 u1 3) (+.f32 (*.f32 7/4 (pow.f32 u1 5)) (+.f32 (*.f32 3/2 (pow.f32 u1 4)) (*.f32 1/64 (pow.f32 u1 12)))))))))) (+.f32 (*.f32 4/3 (pow.f32 (*.f32 u2 PI.f32) 3)) (*.f32 8/315 (*.f32 (pow.f32 u2 7) (pow.f32 PI.f32 7)))))) (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))))))
7.6b
(*.f32 (sqrt.f32 (neg.f32 (neg.f32 u1))) (sin.f32 (*.f32 (*.f32 2 PI.f32) u2)))
Compiler

Compiled 4318 to 3227 computations (25.3% saved)

regimes12.6s (58.7%)

Accuracy

Total 0.5b remaining (82.5%)

Threshold costs 0.5b (82.5%)

Compiler

Compiled 200271 to 153782 computations (23.2% saved)

bsearch31.0ms (0.1%)

Compiler

Compiled 6 to 5 computations (16.7% saved)

simplify11.0ms (0.1%)

Algorithm
egg-herbie
Rules
26×distribute-rgt-neg-in_binary32
25×cancel-sign-sub-inv_binary32
23×*-commutative_binary32
21×distribute-lft-neg-in_binary32
19×neg-sub0_binary32
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
045144
172144
296142
3121142
4152142
5179142
6204142
7224142
8228142
9219142

end6.0ms (0%)

Compiler

Compiled 89 to 69 computations (22.5% saved)

sample3.9s (18.4%)

Algorithm
intervals
Results
1.1s8000×body128valid
254.0ms8000×pre128true
0.0mspre128false
Compiler

Compiled 1630 to 1258 computations (22.8% saved)

Profiling

Loading profile data...