Details

Time bar (total: 12.4s)

analyze64.0ms (0.5%)

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

Compiled 50 to 36 computations (28% saved)

sample78.0ms (0.6%)

Algorithm
intervals
Results
29.0ms256×body128valid
12.0ms256×pre128true
Compiler

Compiled 82 to 60 computations (26.8% saved)

simplify50.0ms (0.4%)

Algorithm
egg-herbie
Rules
913×times-frac_binary32
551×associate-/l*_binary32
460×associate-/l/_binary32
362×associate-*l/_binary32
312×associate-/r/_binary32
Counts
1 → 1
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02034
15434
217132
371032
4362432
5457132
6500932

prune4.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
0.4b
Counts
2 → 2
Alt Table
StatusErrorProgram
0.5b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (*.f32 (*.f32 (sinh.f32 (/.f32 1 v)) 2) v))
0.5b
(*.f32 cosTheta_O (/.f32 (/.f32 cosTheta_i v) (*.f32 v (*.f32 (*.f32 (sinh.f32 (/.f32 1 v)) 2) (exp.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))))))
Compiler

Compiled 132 to 92 computations (30.3% saved)

localize56.0ms (0.4%)

Local error

Found 4 expressions with local error:

0.2b
(/.f32 (*.f32 sinTheta_i sinTheta_O) v)
0.2b
(*.f32 v (*.f32 (*.f32 (sinh.f32 (/.f32 1 v)) 2) (exp.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))))
0.4b
(/.f32 (/.f32 cosTheta_i v) (*.f32 v (*.f32 (*.f32 (sinh.f32 (/.f32 1 v)) 2) (exp.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v)))))
0.8b
(sinh.f32 (/.f32 1 v))

rewrite203.0ms (1.6%)

Algorithm
rewrite-expression-head
Error
0.1b
Rules
50×add-cbrt-cube_binary32
44×add-exp-log_binary32
34×times-frac_binary32
21×*-un-lft-identity_binary32
21×add-sqr-sqrt_binary32
Counts
4 → 106
Calls

4 calls:

12.0ms
(/.f32 (/.f32 cosTheta_i v) (*.f32 v (*.f32 (*.f32 (sinh.f32 (/.f32 1 v)) 2) (exp.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v)))))
10.0ms
(*.f32 v (*.f32 (*.f32 (sinh.f32 (/.f32 1 v)) 2) (exp.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))))
3.0ms
(/.f32 (*.f32 sinTheta_i sinTheta_O) v)
2.0ms
(sinh.f32 (/.f32 1 v))
Compiler

Compiled 3186 to 1444 computations (54.7% saved)

series306.0ms (2.5%)

Error
0.2b
Counts
4 → 43
Calls

4 calls:

187.0ms
(/.f32 (/.f32 cosTheta_i v) (*.f32 v (*.f32 (*.f32 (sinh.f32 (/.f32 1 v)) 2) (exp.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v)))))
59.0ms
(*.f32 v (*.f32 (*.f32 (sinh.f32 (/.f32 1 v)) 2) (exp.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))))
23.0ms
(/.f32 (*.f32 sinTheta_i sinTheta_O) v)
16.0ms
(sinh.f32 (/.f32 1 v))
Compiler

Compiled 3340 to 2368 computations (29.1% saved)

simplify164.0ms (1.3%)

Algorithm
egg-herbie
Rules
599×associate-/r/_binary32
260×associate-/r*_binary32
232×associate-*l*_binary32
218×associate-*r*_binary32
195×times-frac_binary32
Counts
149 → 111
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02654454
17173655
227143563
346743555
449763555
549623555

prune126.0ms (1%)

Pruning

15 alts after pruning (14 fresh and 1 done)

PrunedKeptTotal
New9813111
Fresh011
Picked011
Done000
Total9815113
Error
0.1b
Counts
113 → 15
Alt Table
StatusErrorProgram
0.5b
(*.f32 cosTheta_O (/.f32 (/.f32 cosTheta_i v) (*.f32 (*.f32 (cbrt.f32 (*.f32 v (*.f32 (exp.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (*.f32 2 (sinh.f32 (/.f32 1 v)))))) (cbrt.f32 (*.f32 v (*.f32 (exp.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (*.f32 2 (sinh.f32 (/.f32 1 v))))))) (cbrt.f32 (*.f32 v (*.f32 (exp.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (*.f32 2 (sinh.f32 (/.f32 1 v)))))))))
0.7b
(*.f32 cosTheta_O (*.f32 (/.f32 (/.f32 (*.f32 (cbrt.f32 cosTheta_i) (cbrt.f32 cosTheta_i)) (*.f32 (cbrt.f32 v) (cbrt.f32 v))) v) (/.f32 (/.f32 (cbrt.f32 cosTheta_i) (cbrt.f32 v)) (*.f32 (exp.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (*.f32 2 (sinh.f32 (/.f32 1 v)))))))
0.6b
(*.f32 cosTheta_O (/.f32 (/.f32 cosTheta_i v) (exp.f32 (+.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v) (log.f32 (*.f32 v (*.f32 2 (sinh.f32 (/.f32 1 v)))))))))
0.5b
(*.f32 cosTheta_O (/.f32 (*.f32 (cbrt.f32 (/.f32 cosTheta_i v)) (cbrt.f32 (/.f32 cosTheta_i v))) (/.f32 v (/.f32 (cbrt.f32 (/.f32 cosTheta_i v)) (*.f32 (exp.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (*.f32 2 (sinh.f32 (/.f32 1 v))))))))
0.5b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (*.f32 (*.f32 (sinh.f32 (/.f32 1 v)) 2) v))
0.5b
(*.f32 cosTheta_O (*.f32 (/.f32 (*.f32 (cbrt.f32 (/.f32 cosTheta_i v)) (cbrt.f32 (/.f32 cosTheta_i v))) v) (/.f32 (cbrt.f32 (/.f32 cosTheta_i v)) (*.f32 (exp.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (*.f32 2 (sinh.f32 (/.f32 1 v)))))))
0.5b
(*.f32 cosTheta_O (/.f32 (/.f32 cosTheta_i v) (*.f32 v (*.f32 (*.f32 (sinh.f32 (/.f32 1 v)) 2) (exp.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))))))
0.5b
(*.f32 cosTheta_O (/.f32 (/.f32 1 (sqrt.f32 v)) (/.f32 v (/.f32 (/.f32 cosTheta_i (sqrt.f32 v)) (*.f32 (exp.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (*.f32 2 (sinh.f32 (/.f32 1 v))))))))
0.5b
(*.f32 cosTheta_O (*.f32 (/.f32 1 (pow.f32 v 3/2)) (/.f32 (/.f32 cosTheta_i (sqrt.f32 v)) (*.f32 (exp.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (*.f32 2 (sinh.f32 (/.f32 1 v)))))))
0.5b
(*.f32 cosTheta_O (*.f32 (/.f32 (/.f32 1 v) (*.f32 (cbrt.f32 v) (cbrt.f32 v))) (/.f32 (/.f32 cosTheta_i (cbrt.f32 v)) (*.f32 (exp.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (*.f32 2 (sinh.f32 (/.f32 1 v)))))))
0.5b
(*.f32 cosTheta_O (/.f32 (/.f32 cosTheta_i v) (*.f32 v (-.f32 (exp.f32 (/.f32 1 v)) (exp.f32 (/.f32 -1 v))))))
0.6b
(*.f32 cosTheta_O (*.f32 (*.f32 (cbrt.f32 (/.f32 (/.f32 cosTheta_i v) (*.f32 v (*.f32 (exp.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (*.f32 2 (sinh.f32 (/.f32 1 v))))))) (cbrt.f32 (/.f32 (/.f32 cosTheta_i v) (*.f32 v (*.f32 (exp.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (*.f32 2 (sinh.f32 (/.f32 1 v)))))))) (cbrt.f32 (/.f32 (/.f32 cosTheta_i v) (*.f32 v (*.f32 (exp.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (*.f32 2 (sinh.f32 (/.f32 1 v)))))))))
23.8b
(*.f32 cosTheta_O (*.f32 (/.f32 (sqrt.f32 cosTheta_i) v) (/.f32 (sqrt.f32 cosTheta_i) (*.f32 v (*.f32 (exp.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (*.f32 2 (sinh.f32 (/.f32 1 v))))))))
0.5b
(*.f32 cosTheta_O (/.f32 (/.f32 (*.f32 (cbrt.f32 cosTheta_i) (cbrt.f32 cosTheta_i)) 1) (/.f32 v (/.f32 (cbrt.f32 cosTheta_i) (*.f32 v (*.f32 (exp.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (*.f32 2 (sinh.f32 (/.f32 1 v)))))))))
0.6b
(*.f32 cosTheta_O (/.f32 (/.f32 (*.f32 (cbrt.f32 cosTheta_i) (cbrt.f32 cosTheta_i)) (sqrt.f32 v)) (/.f32 v (/.f32 (/.f32 (cbrt.f32 cosTheta_i) (sqrt.f32 v)) (*.f32 (exp.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (*.f32 2 (sinh.f32 (/.f32 1 v))))))))
Compiler

Compiled 2819 to 1512 computations (46.4% saved)

localize63.0ms (0.5%)

Local error

Found 4 expressions with local error:

0.2b
(/.f32 (*.f32 sinTheta_i sinTheta_O) v)
0.2b
(*.f32 (*.f32 (sinh.f32 (/.f32 1 v)) 2) v)
0.3b
(/.f32 (*.f32 cosTheta_i cosTheta_O) v)
0.8b
(sinh.f32 (/.f32 1 v))

rewrite148.0ms (1.2%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
19×add-cbrt-cube_binary32
19×add-exp-log_binary32
*-un-lft-identity_binary32
add-sqr-sqrt_binary32
add-cube-cbrt_binary32
Counts
4 → 69
Calls

4 calls:

5.0ms
(*.f32 (*.f32 (sinh.f32 (/.f32 1 v)) 2) v)
5.0ms
(/.f32 (*.f32 sinTheta_i sinTheta_O) v)
3.0ms
(/.f32 (*.f32 cosTheta_i cosTheta_O) v)
2.0ms
(sinh.f32 (/.f32 1 v))
Compiler

Compiled 1869 to 828 computations (55.7% saved)

series94.0ms (0.8%)

Error
0.1b
Counts
4 → 36
Calls

4 calls:

23.0ms
(/.f32 (*.f32 cosTheta_i cosTheta_O) v)
22.0ms
(/.f32 (*.f32 sinTheta_i sinTheta_O) v)
16.0ms
(*.f32 (*.f32 (sinh.f32 (/.f32 1 v)) 2) v)
14.0ms
(sinh.f32 (/.f32 1 v))
Compiler

Compiled 1987 to 1363 computations (31.4% saved)

simplify105.0ms (0.9%)

Algorithm
egg-herbie
Rules
889×associate-/l*_binary32
434×associate-*l/_binary32
343×associate-/l/_binary32
322×associate-*r/_binary32
316×associate-/r*_binary32
Counts
105 → 50
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01701340
14161171
214331171
344371133
447671133
549991133
649341133

prune94.0ms (0.8%)

Pruning

15 alts after pruning (14 fresh and 1 done)

PrunedKeptTotal
New44650
Fresh5813
Picked101
Done011
Total501565
Error
0.1b
Counts
65 → 15
Alt Table
StatusErrorProgram
0.5b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 (/.f32 cosTheta_i (*.f32 (cbrt.f32 v) (cbrt.f32 v))) cosTheta_O) (cbrt.f32 v))) (*.f32 (*.f32 (sinh.f32 (/.f32 1 v)) 2) v))
0.7b
(*.f32 cosTheta_O (*.f32 (/.f32 (/.f32 (*.f32 (cbrt.f32 cosTheta_i) (cbrt.f32 cosTheta_i)) (*.f32 (cbrt.f32 v) (cbrt.f32 v))) v) (/.f32 (/.f32 (cbrt.f32 cosTheta_i) (cbrt.f32 v)) (*.f32 (exp.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (*.f32 2 (sinh.f32 (/.f32 1 v)))))))
0.5b
(*.f32 cosTheta_O (/.f32 (/.f32 cosTheta_i v) (*.f32 v (*.f32 (*.f32 (sinh.f32 (/.f32 1 v)) 2) (exp.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))))))
0.5b
(*.f32 cosTheta_O (/.f32 (/.f32 1 (sqrt.f32 v)) (/.f32 v (/.f32 (/.f32 cosTheta_i (sqrt.f32 v)) (*.f32 (exp.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (*.f32 2 (sinh.f32 (/.f32 1 v))))))))
0.5b
(*.f32 cosTheta_O (*.f32 (/.f32 (/.f32 1 v) (*.f32 (cbrt.f32 v) (cbrt.f32 v))) (/.f32 (/.f32 cosTheta_i (cbrt.f32 v)) (*.f32 (exp.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (*.f32 2 (sinh.f32 (/.f32 1 v)))))))
0.5b
(*.f32 cosTheta_O (/.f32 (/.f32 cosTheta_i v) (*.f32 v (-.f32 (exp.f32 (/.f32 1 v)) (exp.f32 (/.f32 -1 v))))))
0.5b
(*.f32 cosTheta_O (/.f32 (/.f32 (*.f32 (cbrt.f32 cosTheta_i) (cbrt.f32 cosTheta_i)) 1) (/.f32 v (/.f32 (cbrt.f32 cosTheta_i) (*.f32 v (*.f32 (exp.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (*.f32 2 (sinh.f32 (/.f32 1 v)))))))))
0.5b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (*.f32 (*.f32 (cbrt.f32 (*.f32 v (*.f32 2 (sinh.f32 (/.f32 1 v))))) (cbrt.f32 (*.f32 v (*.f32 2 (sinh.f32 (/.f32 1 v)))))) (cbrt.f32 (*.f32 v (*.f32 2 (sinh.f32 (/.f32 1 v)))))))
0.5b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (*.f32 (*.f32 (*.f32 2 (sinh.f32 (/.f32 1 v))) (sqrt.f32 v)) (sqrt.f32 v)))
0.5b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (exp.f32 (log.f32 (*.f32 v (*.f32 2 (sinh.f32 (/.f32 1 v)))))))
0.5b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 (/.f32 cosTheta_i (sqrt.f32 v)) cosTheta_O) (sqrt.f32 v))) (*.f32 (*.f32 (sinh.f32 (/.f32 1 v)) 2) v))
0.5b
(*.f32 cosTheta_O (/.f32 (*.f32 (cbrt.f32 (/.f32 cosTheta_i v)) (cbrt.f32 (/.f32 cosTheta_i v))) (/.f32 v (/.f32 (cbrt.f32 (/.f32 cosTheta_i v)) (*.f32 (exp.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (*.f32 2 (sinh.f32 (/.f32 1 v))))))))
0.5b
(*.f32 cosTheta_O (*.f32 (/.f32 (*.f32 (cbrt.f32 (/.f32 cosTheta_i v)) (cbrt.f32 (/.f32 cosTheta_i v))) v) (/.f32 (cbrt.f32 (/.f32 cosTheta_i v)) (*.f32 (exp.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (*.f32 2 (sinh.f32 (/.f32 1 v)))))))
0.6b
(*.f32 cosTheta_O (*.f32 (*.f32 (cbrt.f32 (/.f32 (/.f32 cosTheta_i v) (*.f32 v (*.f32 (exp.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (*.f32 2 (sinh.f32 (/.f32 1 v))))))) (cbrt.f32 (/.f32 (/.f32 cosTheta_i v) (*.f32 v (*.f32 (exp.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (*.f32 2 (sinh.f32 (/.f32 1 v)))))))) (cbrt.f32 (/.f32 (/.f32 cosTheta_i v) (*.f32 v (*.f32 (exp.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (*.f32 2 (sinh.f32 (/.f32 1 v)))))))))
0.5b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (*.f32 (sqrt.f32 (*.f32 v (*.f32 2 (sinh.f32 (/.f32 1 v))))) (sqrt.f32 (*.f32 v (*.f32 2 (sinh.f32 (/.f32 1 v)))))))
Compiler

Compiled 1916 to 1066 computations (44.4% saved)

localize47.0ms (0.4%)

Local error

Found 4 expressions with local error:

0.3b
(-.f32 (exp.f32 (/.f32 1 v)) (exp.f32 (/.f32 -1 v)))
0.4b
(/.f32 (/.f32 cosTheta_i v) (*.f32 v (-.f32 (exp.f32 (/.f32 1 v)) (exp.f32 (/.f32 -1 v)))))
0.7b
(exp.f32 (/.f32 1 v))
0.7b
(exp.f32 (/.f32 -1 v))

rewrite214.0ms (1.7%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
49×times-frac_binary32
35×*-un-lft-identity_binary32
35×add-sqr-sqrt_binary32
33×add-cube-cbrt_binary32
26×exp-prod_binary32
Counts
4 → 106
Calls

4 calls:

10.0ms
(/.f32 (/.f32 cosTheta_i v) (*.f32 v (-.f32 (exp.f32 (/.f32 1 v)) (exp.f32 (/.f32 -1 v)))))
6.0ms
(-.f32 (exp.f32 (/.f32 1 v)) (exp.f32 (/.f32 -1 v)))
5.0ms
(exp.f32 (/.f32 -1 v))
3.0ms
(exp.f32 (/.f32 1 v))
Compiler

Compiled 2672 to 1643 computations (38.5% saved)

series104.0ms (0.8%)

Error
0.1b
Counts
4 → 39
Calls

4 calls:

42.0ms
(/.f32 (/.f32 cosTheta_i v) (*.f32 v (-.f32 (exp.f32 (/.f32 1 v)) (exp.f32 (/.f32 -1 v)))))
10.0ms
(exp.f32 (/.f32 1 v))
10.0ms
(-.f32 (exp.f32 (/.f32 1 v)) (exp.f32 (/.f32 -1 v)))
8.0ms
(exp.f32 (/.f32 -1 v))
Compiler

Compiled 1618 to 1199 computations (25.9% saved)

simplify139.0ms (1.1%)

Algorithm
egg-herbie
Rules
602×associate-/r*_binary32
539×associate-/l*_binary32
517×associate-/l/_binary32
300×associate-*l/_binary32
205×associate-/r/_binary32
Counts
145 → 88
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02442913
15542625
214292602
348802602
449872602
549612602

prune133.0ms (1.1%)

Pruning

12 alts after pruning (12 fresh and 0 done)

PrunedKeptTotal
New82688
Fresh7613
Picked101
Done101
Total9112103
Error
0.0b
Counts
103 → 12
Alt Table
StatusErrorProgram
0.5b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (exp.f32 (log.f32 (*.f32 v (*.f32 2 (sinh.f32 (/.f32 1 v)))))))
0.5b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 (/.f32 cosTheta_i (sqrt.f32 v)) cosTheta_O) (sqrt.f32 v))) (*.f32 (*.f32 (sinh.f32 (/.f32 1 v)) 2) v))
0.5b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 (/.f32 cosTheta_i (*.f32 (cbrt.f32 v) (cbrt.f32 v))) cosTheta_O) (cbrt.f32 v))) (*.f32 (*.f32 (sinh.f32 (/.f32 1 v)) 2) v))
0.5b
(*.f32 cosTheta_O (*.f32 (/.f32 (/.f32 1 v) (sqrt.f32 v)) (/.f32 (/.f32 cosTheta_i (sqrt.f32 v)) (-.f32 (exp.f32 (/.f32 1 v)) (exp.f32 (/.f32 -1 v))))))
0.5b
(*.f32 cosTheta_O (*.f32 (/.f32 (*.f32 (cbrt.f32 (/.f32 cosTheta_i v)) (cbrt.f32 (/.f32 cosTheta_i v))) v) (/.f32 (cbrt.f32 (/.f32 cosTheta_i v)) (*.f32 (exp.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (*.f32 2 (sinh.f32 (/.f32 1 v)))))))
0.5b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (*.f32 (sqrt.f32 (*.f32 v (*.f32 2 (sinh.f32 (/.f32 1 v))))) (sqrt.f32 (*.f32 v (*.f32 2 (sinh.f32 (/.f32 1 v)))))))
0.5b
(*.f32 cosTheta_O (/.f32 (/.f32 cosTheta_i v) (*.f32 v (-.f32 (pow.f32 E.f32 (/.f32 1 v)) (exp.f32 (/.f32 -1 v))))))
0.5b
(*.f32 cosTheta_O (/.f32 (/.f32 (*.f32 (cbrt.f32 cosTheta_i) (cbrt.f32 cosTheta_i)) 1) (/.f32 v (/.f32 (cbrt.f32 cosTheta_i) (*.f32 v (-.f32 (exp.f32 (/.f32 1 v)) (exp.f32 (/.f32 -1 v))))))))
0.5b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (*.f32 (*.f32 (cbrt.f32 (*.f32 v (*.f32 2 (sinh.f32 (/.f32 1 v))))) (cbrt.f32 (*.f32 v (*.f32 2 (sinh.f32 (/.f32 1 v)))))) (cbrt.f32 (*.f32 v (*.f32 2 (sinh.f32 (/.f32 1 v)))))))
0.5b
(*.f32 cosTheta_O (/.f32 (*.f32 (cbrt.f32 (/.f32 cosTheta_i v)) (cbrt.f32 (/.f32 cosTheta_i v))) (/.f32 v (/.f32 (cbrt.f32 (/.f32 cosTheta_i v)) (-.f32 (exp.f32 (/.f32 1 v)) (exp.f32 (/.f32 -1 v)))))))
0.5b
(*.f32 cosTheta_O (*.f32 (/.f32 (/.f32 cosTheta_i v) (*.f32 v (-.f32 (exp.f32 (/.f32 2 v)) (exp.f32 (neg.f32 (/.f32 2 v)))))) (+.f32 (exp.f32 (/.f32 1 v)) (exp.f32 (/.f32 -1 v)))))
0.5b
(*.f32 cosTheta_O (/.f32 (/.f32 cosTheta_i v) (*.f32 v (*.f32 (+.f32 (sqrt.f32 (exp.f32 (/.f32 -1 v))) (sqrt.f32 (exp.f32 (/.f32 1 v)))) (-.f32 (sqrt.f32 (exp.f32 (/.f32 1 v))) (sqrt.f32 (exp.f32 (/.f32 -1 v))))))))
Compiler

Compiled 2138 to 1367 computations (36.1% saved)

localize53.0ms (0.4%)

Local error

Found 4 expressions with local error:

0.4b
(/.f32 (/.f32 cosTheta_i (sqrt.f32 v)) (-.f32 (exp.f32 (/.f32 1 v)) (exp.f32 (/.f32 -1 v))))
0.4b
(*.f32 (/.f32 (/.f32 1 v) (sqrt.f32 v)) (/.f32 (/.f32 cosTheta_i (sqrt.f32 v)) (-.f32 (exp.f32 (/.f32 1 v)) (exp.f32 (/.f32 -1 v)))))
0.7b
(exp.f32 (/.f32 1 v))
0.7b
(exp.f32 (/.f32 -1 v))

rewrite947.0ms (7.7%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
643×times-frac_binary32
489×add-sqr-sqrt_binary32
374×*-un-lft-identity_binary32
276×add-cube-cbrt_binary32
157×sqrt-prod_binary32
Counts
4 → 458
Calls

4 calls:

111.0ms
(*.f32 (/.f32 (/.f32 1 v) (sqrt.f32 v)) (/.f32 (/.f32 cosTheta_i (sqrt.f32 v)) (-.f32 (exp.f32 (/.f32 1 v)) (exp.f32 (/.f32 -1 v)))))
12.0ms
(/.f32 (/.f32 cosTheta_i (sqrt.f32 v)) (-.f32 (exp.f32 (/.f32 1 v)) (exp.f32 (/.f32 -1 v))))
3.0ms
(exp.f32 (/.f32 -1 v))
3.0ms
(exp.f32 (/.f32 1 v))
Compiler

Compiled 13901 to 8045 computations (42.1% saved)

series105.0ms (0.8%)

Error
0.0b
Counts
4 → 33
Calls

4 calls:

37.0ms
(*.f32 (/.f32 (/.f32 1 v) (sqrt.f32 v)) (/.f32 (/.f32 cosTheta_i (sqrt.f32 v)) (-.f32 (exp.f32 (/.f32 1 v)) (exp.f32 (/.f32 -1 v)))))
28.0ms
(/.f32 (/.f32 cosTheta_i (sqrt.f32 v)) (-.f32 (exp.f32 (/.f32 1 v)) (exp.f32 (/.f32 -1 v))))
10.0ms
(exp.f32 (/.f32 1 v))
9.0ms
(exp.f32 (/.f32 -1 v))
Compiler

Compiled 1723 to 1261 computations (26.8% saved)

simplify387.0ms (3.1%)

Algorithm
egg-herbie
Rules
614×associate-*r/_binary32
606×associate-*l/_binary32
387×associate-/l/_binary32
365×associate-/l*_binary32
213×associate-/r*_binary32
Counts
491 → 376
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
049918582
1141217062
2466817062
3497517062

prune430.0ms (3.5%)

Pruning

15 alts after pruning (15 fresh and 0 done)

PrunedKeptTotal
New3715376
Fresh11011
Picked101
Done000
Total37315388
Error
0.0b
Counts
388 → 15
Alt Table
StatusErrorProgram
23.8b
(*.f32 cosTheta_O (*.f32 (*.f32 (/.f32 (/.f32 1 v) (sqrt.f32 v)) (/.f32 (sqrt.f32 cosTheta_i) (fabs.f32 (cbrt.f32 v)))) (/.f32 (/.f32 (sqrt.f32 cosTheta_i) (sqrt.f32 (cbrt.f32 v))) (-.f32 (exp.f32 (/.f32 1 v)) (exp.f32 (/.f32 -1 v))))))
0.5b
(*.f32 cosTheta_O (*.f32 (/.f32 (*.f32 (cbrt.f32 (/.f32 cosTheta_i v)) (cbrt.f32 (/.f32 cosTheta_i v))) v) (/.f32 (cbrt.f32 (/.f32 cosTheta_i v)) (*.f32 (exp.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (*.f32 2 (sinh.f32 (/.f32 1 v)))))))
0.6b
(*.f32 cosTheta_O (*.f32 (*.f32 (/.f32 (/.f32 1 v) (sqrt.f32 v)) (/.f32 (*.f32 (cbrt.f32 cosTheta_i) (cbrt.f32 cosTheta_i)) (sqrt.f32 (sqrt.f32 v)))) (/.f32 (/.f32 (cbrt.f32 cosTheta_i) (sqrt.f32 (sqrt.f32 v))) (-.f32 (exp.f32 (/.f32 1 v)) (exp.f32 (/.f32 -1 v))))))
0.5b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (*.f32 (sqrt.f32 (*.f32 v (*.f32 2 (sinh.f32 (/.f32 1 v))))) (sqrt.f32 (*.f32 v (*.f32 2 (sinh.f32 (/.f32 1 v)))))))
0.5b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (exp.f32 (log.f32 (*.f32 v (*.f32 2 (sinh.f32 (/.f32 1 v)))))))
0.5b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 (/.f32 cosTheta_i (sqrt.f32 v)) cosTheta_O) (sqrt.f32 v))) (*.f32 (*.f32 (sinh.f32 (/.f32 1 v)) 2) v))
0.5b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 (/.f32 cosTheta_i (*.f32 (cbrt.f32 v) (cbrt.f32 v))) cosTheta_O) (cbrt.f32 v))) (*.f32 (*.f32 (sinh.f32 (/.f32 1 v)) 2) v))
0.6b
(*.f32 cosTheta_O (*.f32 (*.f32 (/.f32 (/.f32 1 v) (sqrt.f32 v)) (*.f32 (cbrt.f32 (/.f32 cosTheta_i (sqrt.f32 v))) (cbrt.f32 (/.f32 cosTheta_i (sqrt.f32 v))))) (/.f32 (cbrt.f32 (/.f32 cosTheta_i (sqrt.f32 v))) (-.f32 (exp.f32 (/.f32 1 v)) (exp.f32 (/.f32 -1 v))))))
0.5b
(*.f32 cosTheta_O (/.f32 (/.f32 cosTheta_i v) (*.f32 v (-.f32 (pow.f32 E.f32 (/.f32 1 v)) (exp.f32 (/.f32 -1 v))))))
0.5b
(*.f32 cosTheta_O (/.f32 (/.f32 (*.f32 (cbrt.f32 cosTheta_i) (cbrt.f32 cosTheta_i)) 1) (/.f32 v (/.f32 (cbrt.f32 cosTheta_i) (*.f32 v (-.f32 (exp.f32 (/.f32 1 v)) (exp.f32 (/.f32 -1 v))))))))
0.6b
(*.f32 cosTheta_O (*.f32 (/.f32 (/.f32 1 v) (sqrt.f32 v)) (*.f32 (/.f32 (*.f32 (cbrt.f32 cosTheta_i) (cbrt.f32 cosTheta_i)) (fabs.f32 (cbrt.f32 v))) (/.f32 (/.f32 (cbrt.f32 cosTheta_i) (sqrt.f32 (cbrt.f32 v))) (-.f32 (exp.f32 (/.f32 1 v)) (exp.f32 (/.f32 -1 v)))))))
0.5b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (*.f32 (*.f32 (cbrt.f32 (*.f32 v (*.f32 2 (sinh.f32 (/.f32 1 v))))) (cbrt.f32 (*.f32 v (*.f32 2 (sinh.f32 (/.f32 1 v)))))) (cbrt.f32 (*.f32 v (*.f32 2 (sinh.f32 (/.f32 1 v)))))))
0.5b
(*.f32 cosTheta_O (/.f32 (*.f32 (cbrt.f32 (/.f32 cosTheta_i v)) (cbrt.f32 (/.f32 cosTheta_i v))) (/.f32 v (/.f32 (cbrt.f32 (/.f32 cosTheta_i v)) (-.f32 (exp.f32 (/.f32 1 v)) (exp.f32 (/.f32 -1 v)))))))
0.5b
(*.f32 cosTheta_O (*.f32 (/.f32 (/.f32 cosTheta_i v) (*.f32 v (-.f32 (exp.f32 (/.f32 2 v)) (exp.f32 (neg.f32 (/.f32 2 v)))))) (+.f32 (exp.f32 (/.f32 1 v)) (exp.f32 (/.f32 -1 v)))))
0.6b
(*.f32 cosTheta_O (*.f32 (/.f32 (/.f32 1 v) (sqrt.f32 v)) (/.f32 (/.f32 cosTheta_i (sqrt.f32 v)) (-.f32 (pow.f32 E.f32 (/.f32 1 v)) (exp.f32 (/.f32 -1 v))))))
Compiler

Compiled 8038 to 4655 computations (42.1% saved)

regimes5.4s (43.8%)

Accuracy

Total 0.3b remaining (80.9%)

Threshold costs 0.3b (80.9%)

Compiler

Compiled 115784 to 80975 computations (30.1% saved)

simplify3.0ms (0%)

Algorithm
egg-herbie
Rules
*-commutative_binary32
1-exp_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01935
12635
22535

end38.0ms (0.3%)

Remove

(sort sinTheta_i sinTheta_O)

Compiler

Compiled 196 to 140 computations (28.6% saved)

sample2.8s (22.6%)

Algorithm
intervals
Results
1.2s8000×body128valid
393.0ms8000×pre128true
Compiler

Compiled 607 to 414 computations (31.8% saved)

Profiling

Loading profile data...