HairBSDF, Mp, upper

Time bar (total: 4.0s)

analyze14.0ms (0.4%)

Memory
-11.5MiB live, 4.3MiB allocated
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%0%100%0%0%0%0
100%0%0%100%0%0%0%1
Compiler

Compiled 52 to 41 computations (21.2% saved)

sample3.8s (96.4%)

Memory
-84.6MiB live, 1 040.6MiB allocated
Samples
1.0s8 255×73valid-baseline
849.0ms8 255×73valid-rival
759.0ms8 255×73valid-sollya
0.0ms73valid-sollya+baseline-real
Precisions
Click to see Rival histograms. Total time spent on operations: 637.0ms
ival-mult: 234.0ms (36.8% of total)
ival-div: 208.0ms (32.7% of total)
ival-sinh: 78.0ms (12.3% of total)
ival-exp: 65.0ms (10.2% of total)
ival-neg: 35.0ms (5.5% of total)
ival-true: 7.0ms (1.1% of total)
...in/eval/compile.rkt:110:19: 6.0ms (0.9% of total)
ival-assert: 3.0ms (0.5% of total)
Precisions
Click to see Base histograms. Total time spent on operations: 658.0ms
ival-mult: 261.0ms (39.6% of total)
ival-div: 210.0ms (31.9% of total)
ival-sinh: 70.0ms (10.6% of total)
ival-exp: 65.0ms (9.9% of total)
ival-neg: 38.0ms (5.8% of total)
const: 15.0ms (2.3% of total)
Bogosity

preprocess76.0ms (1.9%)

Memory
10.5MiB live, 26.2MiB allocated
Algorithm
egg-herbie
Rules
1 126×associate-*r*
1 094×associate-*l*
1 090×associate-*r/
934×*-commutative
920×associate-*l/
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01502070
15511990
221001914
Stop Event
node limit
Calls
Call 1
Inputs
(/.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 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v))
(/.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 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v))
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 (neg.f32 cosTheta_i) cosTheta_O) v)) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v))
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i (neg.f32 cosTheta_O)) v)) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v))
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 (neg.f32 sinTheta_i) sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v))
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i (neg.f32 sinTheta_O)) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v))
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) (neg.f32 v)))) (/.f32 (*.f32 cosTheta_i cosTheta_O) (neg.f32 v))) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) (neg.f32 v))) #s(literal 2 binary32)) (neg.f32 v)))
(neg.f32 (/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 (neg.f32 cosTheta_i) cosTheta_O) v)) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v)))
(neg.f32 (/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i (neg.f32 cosTheta_O)) v)) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v)))
(neg.f32 (/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 (neg.f32 sinTheta_i) sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v)))
(neg.f32 (/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i (neg.f32 sinTheta_O)) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v)))
(neg.f32 (/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) (neg.f32 v)))) (/.f32 (*.f32 cosTheta_i cosTheta_O) (neg.f32 v))) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) (neg.f32 v))) #s(literal 2 binary32)) (neg.f32 v))))
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_O cosTheta_i) v)) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v))
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 cosTheta_i sinTheta_O) v))) (/.f32 (*.f32 sinTheta_i cosTheta_O) v)) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v))
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i cosTheta_i) v))) (/.f32 (*.f32 sinTheta_O cosTheta_O) v)) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v))
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) cosTheta_i))) (/.f32 (*.f32 v cosTheta_O) cosTheta_i)) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) cosTheta_i)) #s(literal 2 binary32)) cosTheta_i))
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 cosTheta_O sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i sinTheta_i) v)) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v))
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i cosTheta_O) v))) (/.f32 (*.f32 cosTheta_i sinTheta_O) v)) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v))
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) cosTheta_O))) (/.f32 (*.f32 cosTheta_i v) cosTheta_O)) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) cosTheta_O)) #s(literal 2 binary32)) cosTheta_O))
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_O sinTheta_i) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v))
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 v sinTheta_O) sinTheta_i))) (/.f32 (*.f32 cosTheta_i cosTheta_O) sinTheta_i)) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) sinTheta_i)) #s(literal 2 binary32)) sinTheta_i))
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i v) sinTheta_O))) (/.f32 (*.f32 cosTheta_i cosTheta_O) sinTheta_O)) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) sinTheta_O)) #s(literal 2 binary32)) sinTheta_O))
Outputs
(/.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 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v))
(/.f32 (*.f32 (exp.f32 (*.f32 sinTheta_i (/.f32 sinTheta_O (neg.f32 v)))) (*.f32 cosTheta_i (/.f32 cosTheta_O v))) (*.f32 v (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32))))
(*.f32 (pow.f32 (exp.f32 sinTheta_i) (/.f32 sinTheta_O (neg.f32 v))) (/.f32 (*.f32 cosTheta_O (/.f32 (/.f32 cosTheta_i v) v)) (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32))))
(/.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) (*.f32 (*.f32 v #s(literal 2 binary32)) v)) (pow.f32 (exp.f32 sinTheta_i) (/.f32 sinTheta_O v))))
(/.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 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v))
(/.f32 (*.f32 (exp.f32 (*.f32 sinTheta_i (/.f32 sinTheta_O (neg.f32 v)))) (*.f32 cosTheta_i (/.f32 cosTheta_O v))) (*.f32 v (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32))))
(*.f32 (pow.f32 (exp.f32 sinTheta_i) (/.f32 sinTheta_O (neg.f32 v))) (/.f32 (*.f32 cosTheta_O (/.f32 (/.f32 cosTheta_i v) v)) (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32))))
(/.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) (*.f32 (*.f32 v #s(literal 2 binary32)) v)) (pow.f32 (exp.f32 sinTheta_i) (/.f32 sinTheta_O v))))
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 (neg.f32 cosTheta_i) cosTheta_O) v)) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v))
(*.f32 (exp.f32 (*.f32 sinTheta_i (/.f32 sinTheta_O (neg.f32 v)))) (/.f32 (*.f32 cosTheta_i (/.f32 (neg.f32 cosTheta_O) v)) (*.f32 v (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)))))
(*.f32 (pow.f32 (exp.f32 sinTheta_i) (/.f32 sinTheta_O (neg.f32 v))) (*.f32 (/.f32 cosTheta_i (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32))) (/.f32 (/.f32 (neg.f32 cosTheta_O) v) v)))
(/.f32 (/.f32 (/.f32 (*.f32 cosTheta_i (/.f32 cosTheta_O v)) (sinh.f32 (/.f32 #s(literal 1 binary32) v))) (*.f32 v #s(literal -2 binary32))) (pow.f32 (exp.f32 sinTheta_i) (/.f32 sinTheta_O v)))
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i (neg.f32 cosTheta_O)) v)) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v))
(*.f32 (exp.f32 (*.f32 sinTheta_i (/.f32 sinTheta_O (neg.f32 v)))) (/.f32 (*.f32 cosTheta_i (/.f32 (neg.f32 cosTheta_O) v)) (*.f32 v (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)))))
(*.f32 (pow.f32 (exp.f32 sinTheta_i) (/.f32 sinTheta_O (neg.f32 v))) (*.f32 (/.f32 cosTheta_i (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32))) (/.f32 (/.f32 (neg.f32 cosTheta_O) v) v)))
(/.f32 (/.f32 (/.f32 (*.f32 cosTheta_i (/.f32 cosTheta_O v)) (sinh.f32 (/.f32 #s(literal 1 binary32) v))) (*.f32 v #s(literal -2 binary32))) (pow.f32 (exp.f32 sinTheta_i) (/.f32 sinTheta_O v)))
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 (neg.f32 sinTheta_i) sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v))
(*.f32 (exp.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) (neg.f32 (neg.f32 v)))) (/.f32 (*.f32 cosTheta_i (/.f32 cosTheta_O v)) (*.f32 v (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)))))
(*.f32 (*.f32 cosTheta_i (/.f32 cosTheta_O v)) (/.f32 (pow.f32 (exp.f32 sinTheta_i) (/.f32 sinTheta_O v)) (*.f32 v (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)))))
(*.f32 cosTheta_i (*.f32 (/.f32 cosTheta_O (*.f32 v v)) (/.f32 (/.f32 (pow.f32 (exp.f32 sinTheta_i) (/.f32 sinTheta_O v)) #s(literal 2 binary32)) (sinh.f32 (/.f32 #s(literal 1 binary32) v)))))
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i (neg.f32 sinTheta_O)) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v))
(*.f32 (exp.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) (neg.f32 (neg.f32 v)))) (/.f32 (*.f32 cosTheta_i (/.f32 cosTheta_O v)) (*.f32 v (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)))))
(*.f32 (*.f32 cosTheta_i (/.f32 cosTheta_O v)) (/.f32 (pow.f32 (exp.f32 sinTheta_i) (/.f32 sinTheta_O v)) (*.f32 v (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)))))
(*.f32 cosTheta_i (*.f32 (/.f32 cosTheta_O (*.f32 v v)) (/.f32 (/.f32 (pow.f32 (exp.f32 sinTheta_i) (/.f32 sinTheta_O v)) #s(literal 2 binary32)) (sinh.f32 (/.f32 #s(literal 1 binary32) v)))))
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) (neg.f32 v)))) (/.f32 (*.f32 cosTheta_i cosTheta_O) (neg.f32 v))) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) (neg.f32 v))) #s(literal 2 binary32)) (neg.f32 v)))
(*.f32 (exp.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) (neg.f32 (neg.f32 v)))) (/.f32 (*.f32 cosTheta_i (/.f32 cosTheta_O (neg.f32 v))) (*.f32 (neg.f32 v) (*.f32 #s(literal 2 binary32) (sinh.f32 (/.f32 #s(literal 1 binary32) (neg.f32 v)))))))
(*.f32 (*.f32 cosTheta_i (/.f32 (neg.f32 cosTheta_O) v)) (/.f32 (pow.f32 (exp.f32 sinTheta_i) (/.f32 sinTheta_O v)) (*.f32 (sinh.f32 (/.f32 #s(literal -1 binary32) v)) (*.f32 #s(literal -2 binary32) v))))
(*.f32 (/.f32 (pow.f32 (exp.f32 sinTheta_i) (/.f32 sinTheta_O v)) (*.f32 #s(literal 2 binary32) (sinh.f32 (/.f32 #s(literal -1 binary32) v)))) (*.f32 cosTheta_i (/.f32 cosTheta_O (*.f32 v v))))
(neg.f32 (/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 (neg.f32 cosTheta_i) cosTheta_O) v)) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v)))
(/.f32 (*.f32 (exp.f32 (*.f32 sinTheta_i (/.f32 sinTheta_O (neg.f32 v)))) (*.f32 cosTheta_i (/.f32 cosTheta_O v))) (*.f32 v (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32))))
(*.f32 (pow.f32 (exp.f32 sinTheta_i) (/.f32 sinTheta_O (neg.f32 v))) (/.f32 (*.f32 cosTheta_O (/.f32 (/.f32 cosTheta_i v) v)) (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32))))
(/.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) (*.f32 (*.f32 v #s(literal 2 binary32)) v)) (pow.f32 (exp.f32 sinTheta_i) (/.f32 sinTheta_O v))))
(neg.f32 (/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i (neg.f32 cosTheta_O)) v)) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v)))
(/.f32 (*.f32 (exp.f32 (*.f32 sinTheta_i (/.f32 sinTheta_O (neg.f32 v)))) (*.f32 cosTheta_i (/.f32 cosTheta_O v))) (*.f32 v (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32))))
(*.f32 (pow.f32 (exp.f32 sinTheta_i) (/.f32 sinTheta_O (neg.f32 v))) (/.f32 (*.f32 cosTheta_O (/.f32 (/.f32 cosTheta_i v) v)) (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32))))
(/.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) (*.f32 (*.f32 v #s(literal 2 binary32)) v)) (pow.f32 (exp.f32 sinTheta_i) (/.f32 sinTheta_O v))))
(neg.f32 (/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 (neg.f32 sinTheta_i) sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v)))
(/.f32 (*.f32 (*.f32 cosTheta_i (/.f32 cosTheta_O v)) (exp.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) (neg.f32 (neg.f32 v))))) (neg.f32 (*.f32 v (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)))))
(*.f32 (*.f32 cosTheta_i (/.f32 cosTheta_O v)) (/.f32 (pow.f32 (exp.f32 sinTheta_i) (/.f32 sinTheta_O v)) (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) (*.f32 #s(literal -2 binary32) v))))
(*.f32 (pow.f32 (exp.f32 sinTheta_i) (/.f32 sinTheta_O v)) (/.f32 (/.f32 (*.f32 cosTheta_i (/.f32 cosTheta_O v)) (sinh.f32 (/.f32 #s(literal 1 binary32) v))) (*.f32 v #s(literal -2 binary32))))
(neg.f32 (/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i (neg.f32 sinTheta_O)) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v)))
(/.f32 (*.f32 (*.f32 cosTheta_i (/.f32 cosTheta_O v)) (exp.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) (neg.f32 (neg.f32 v))))) (neg.f32 (*.f32 v (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)))))
(*.f32 (*.f32 cosTheta_i (/.f32 cosTheta_O v)) (/.f32 (pow.f32 (exp.f32 sinTheta_i) (/.f32 sinTheta_O v)) (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) (*.f32 #s(literal -2 binary32) v))))
(*.f32 (pow.f32 (exp.f32 sinTheta_i) (/.f32 sinTheta_O v)) (/.f32 (/.f32 (*.f32 cosTheta_i (/.f32 cosTheta_O v)) (sinh.f32 (/.f32 #s(literal 1 binary32) v))) (*.f32 v #s(literal -2 binary32))))
(neg.f32 (/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) (neg.f32 v)))) (/.f32 (*.f32 cosTheta_i cosTheta_O) (neg.f32 v))) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) (neg.f32 v))) #s(literal 2 binary32)) (neg.f32 v))))
(/.f32 (*.f32 (exp.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) (neg.f32 (neg.f32 v)))) (*.f32 cosTheta_i (/.f32 cosTheta_O (neg.f32 v)))) (neg.f32 (*.f32 (neg.f32 v) (*.f32 #s(literal 2 binary32) (sinh.f32 (/.f32 #s(literal 1 binary32) (neg.f32 v)))))))
(/.f32 (*.f32 cosTheta_i (*.f32 (/.f32 cosTheta_O v) (pow.f32 (exp.f32 sinTheta_i) (/.f32 sinTheta_O v)))) (*.f32 (sinh.f32 (/.f32 #s(literal -1 binary32) v)) (*.f32 #s(literal -2 binary32) v)))
(*.f32 (*.f32 cosTheta_i (/.f32 cosTheta_O v)) (/.f32 (pow.f32 (exp.f32 sinTheta_i) (/.f32 sinTheta_O v)) (*.f32 (sinh.f32 (/.f32 #s(literal -1 binary32) v)) (*.f32 v #s(literal -2 binary32)))))
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_O cosTheta_i) v)) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v))
(/.f32 (*.f32 (exp.f32 (*.f32 sinTheta_i (/.f32 sinTheta_O (neg.f32 v)))) (*.f32 cosTheta_i (/.f32 cosTheta_O v))) (*.f32 v (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32))))
(*.f32 (pow.f32 (exp.f32 sinTheta_i) (/.f32 sinTheta_O (neg.f32 v))) (/.f32 (*.f32 cosTheta_O (/.f32 (/.f32 cosTheta_i v) v)) (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32))))
(/.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) (*.f32 (*.f32 v #s(literal 2 binary32)) v)) (pow.f32 (exp.f32 sinTheta_i) (/.f32 sinTheta_O v))))
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 cosTheta_i sinTheta_O) v))) (/.f32 (*.f32 sinTheta_i cosTheta_O) v)) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v))
(*.f32 (exp.f32 (/.f32 (*.f32 sinTheta_O cosTheta_i) (neg.f32 v))) (/.f32 (*.f32 sinTheta_i (/.f32 cosTheta_O v)) (*.f32 v (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)))))
(*.f32 (exp.f32 (*.f32 cosTheta_i (/.f32 sinTheta_O (neg.f32 v)))) (*.f32 (/.f32 sinTheta_i (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32))) (/.f32 (/.f32 cosTheta_O v) v)))
(/.f32 (/.f32 (*.f32 sinTheta_i (/.f32 (/.f32 cosTheta_O v) (*.f32 v #s(literal 2 binary32)))) (sinh.f32 (/.f32 #s(literal 1 binary32) v))) (pow.f32 (exp.f32 sinTheta_O) (/.f32 cosTheta_i v)))
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i cosTheta_i) v))) (/.f32 (*.f32 sinTheta_O cosTheta_O) v)) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v))
(*.f32 (exp.f32 (/.f32 (*.f32 sinTheta_i cosTheta_i) (neg.f32 v))) (/.f32 (*.f32 sinTheta_O (/.f32 cosTheta_O v)) (*.f32 v (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)))))
(*.f32 (exp.f32 (*.f32 sinTheta_i (/.f32 cosTheta_i (neg.f32 v)))) (*.f32 cosTheta_O (/.f32 (/.f32 sinTheta_O v) (*.f32 v (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32))))))
(/.f32 (*.f32 (/.f32 (/.f32 cosTheta_O v) (*.f32 v #s(literal 2 binary32))) (/.f32 sinTheta_O (sinh.f32 (/.f32 #s(literal 1 binary32) v)))) (pow.f32 (exp.f32 (/.f32 sinTheta_i v)) cosTheta_i))
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) cosTheta_i))) (/.f32 (*.f32 v cosTheta_O) cosTheta_i)) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) cosTheta_i)) #s(literal 2 binary32)) cosTheta_i))
(*.f32 (exp.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) (neg.f32 cosTheta_i))) (/.f32 (*.f32 v (/.f32 cosTheta_O cosTheta_i)) (*.f32 cosTheta_i (*.f32 #s(literal 2 binary32) (sinh.f32 (/.f32 #s(literal 1 binary32) cosTheta_i))))))
(*.f32 (exp.f32 (*.f32 (neg.f32 sinTheta_i) (/.f32 sinTheta_O cosTheta_i))) (*.f32 v (/.f32 (/.f32 cosTheta_O cosTheta_i) (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) cosTheta_i)) (*.f32 cosTheta_i #s(literal 2 binary32))))))
(*.f32 (/.f32 v (pow.f32 (exp.f32 sinTheta_i) (/.f32 sinTheta_O cosTheta_i))) (/.f32 cosTheta_O (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) cosTheta_i)) (*.f32 (*.f32 cosTheta_i #s(literal 2 binary32)) cosTheta_i))))
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 cosTheta_O sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i sinTheta_i) v)) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v))
(*.f32 (exp.f32 (neg.f32 (*.f32 sinTheta_O (/.f32 cosTheta_O v)))) (/.f32 (*.f32 sinTheta_i (/.f32 cosTheta_i v)) (*.f32 v (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)))))
(*.f32 (/.f32 (*.f32 cosTheta_i (/.f32 sinTheta_i v)) (sinh.f32 (/.f32 #s(literal 1 binary32) v))) (/.f32 (exp.f32 (*.f32 sinTheta_O (/.f32 (neg.f32 cosTheta_O) v))) (*.f32 v #s(literal 2 binary32))))
(/.f32 (*.f32 cosTheta_i (/.f32 sinTheta_i (pow.f32 (exp.f32 sinTheta_O) (/.f32 cosTheta_O v)))) (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) (*.f32 (*.f32 v #s(literal 2 binary32)) v)))
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i cosTheta_O) v))) (/.f32 (*.f32 cosTheta_i sinTheta_O) v)) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v))
(/.f32 (*.f32 (*.f32 cosTheta_i (/.f32 sinTheta_O v)) (exp.f32 (/.f32 (*.f32 sinTheta_i cosTheta_O) (neg.f32 v)))) (*.f32 v (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32))))
(*.f32 (exp.f32 (*.f32 sinTheta_i (/.f32 (neg.f32 cosTheta_O) v))) (/.f32 (*.f32 cosTheta_i (/.f32 (/.f32 sinTheta_O v) v)) (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32))))
(/.f32 (/.f32 (*.f32 sinTheta_O (/.f32 cosTheta_i v)) (*.f32 #s(literal 2 binary32) (pow.f32 (exp.f32 sinTheta_i) (/.f32 cosTheta_O v)))) (*.f32 v (sinh.f32 (/.f32 #s(literal 1 binary32) v))))
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) cosTheta_O))) (/.f32 (*.f32 cosTheta_i v) cosTheta_O)) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) cosTheta_O)) #s(literal 2 binary32)) cosTheta_O))
(*.f32 (exp.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) (neg.f32 cosTheta_O))) (/.f32 (*.f32 cosTheta_i (/.f32 v cosTheta_O)) (*.f32 cosTheta_O (*.f32 #s(literal 2 binary32) (sinh.f32 (/.f32 #s(literal 1 binary32) cosTheta_O))))))
(*.f32 (exp.f32 (*.f32 sinTheta_i (/.f32 sinTheta_O (neg.f32 cosTheta_O)))) (*.f32 (/.f32 cosTheta_i (sinh.f32 (/.f32 #s(literal 1 binary32) cosTheta_O))) (/.f32 (/.f32 v cosTheta_O) (*.f32 cosTheta_O #s(literal 2 binary32)))))
(/.f32 (*.f32 v cosTheta_i) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) cosTheta_O)) (*.f32 (*.f32 cosTheta_O #s(literal 2 binary32)) cosTheta_O)) (pow.f32 (exp.f32 sinTheta_i) (/.f32 sinTheta_O cosTheta_O))))
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_O sinTheta_i) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v))
(/.f32 (*.f32 (exp.f32 (*.f32 sinTheta_i (/.f32 sinTheta_O (neg.f32 v)))) (*.f32 cosTheta_i (/.f32 cosTheta_O v))) (*.f32 v (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32))))
(*.f32 (pow.f32 (exp.f32 sinTheta_i) (/.f32 sinTheta_O (neg.f32 v))) (/.f32 (*.f32 cosTheta_O (/.f32 (/.f32 cosTheta_i v) v)) (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32))))
(/.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) (*.f32 (*.f32 v #s(literal 2 binary32)) v)) (pow.f32 (exp.f32 sinTheta_i) (/.f32 sinTheta_O v))))
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 v sinTheta_O) sinTheta_i))) (/.f32 (*.f32 cosTheta_i cosTheta_O) sinTheta_i)) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) sinTheta_i)) #s(literal 2 binary32)) sinTheta_i))
(*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_O v) sinTheta_i))) (/.f32 (*.f32 cosTheta_i (/.f32 cosTheta_O sinTheta_i)) (*.f32 sinTheta_i (*.f32 #s(literal 2 binary32) (sinh.f32 (/.f32 #s(literal 1 binary32) sinTheta_i))))))
(*.f32 (exp.f32 (*.f32 v (/.f32 sinTheta_O (neg.f32 sinTheta_i)))) (*.f32 cosTheta_i (/.f32 (/.f32 cosTheta_O sinTheta_i) (*.f32 #s(literal 2 binary32) (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) sinTheta_i)) sinTheta_i)))))
(/.f32 (*.f32 cosTheta_i (/.f32 cosTheta_O sinTheta_i)) (*.f32 (*.f32 #s(literal 2 binary32) (*.f32 sinTheta_i (sinh.f32 (/.f32 #s(literal 1 binary32) sinTheta_i)))) (pow.f32 (exp.f32 sinTheta_O) (/.f32 v sinTheta_i))))
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i v) sinTheta_O))) (/.f32 (*.f32 cosTheta_i cosTheta_O) sinTheta_O)) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) sinTheta_O)) #s(literal 2 binary32)) sinTheta_O))
(*.f32 (/.f32 (exp.f32 (neg.f32 (*.f32 sinTheta_i (/.f32 v sinTheta_O)))) (*.f32 #s(literal 2 binary32) (sinh.f32 (/.f32 #s(literal 1 binary32) sinTheta_O)))) (/.f32 (*.f32 cosTheta_i (/.f32 cosTheta_O sinTheta_O)) sinTheta_O))
(*.f32 (exp.f32 (*.f32 sinTheta_i (/.f32 v (neg.f32 sinTheta_O)))) (*.f32 cosTheta_i (/.f32 (/.f32 cosTheta_O sinTheta_O) (*.f32 #s(literal 2 binary32) (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) sinTheta_O)) sinTheta_O)))))
(/.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) sinTheta_O)) (*.f32 (*.f32 sinTheta_O #s(literal 2 binary32)) sinTheta_O)) (pow.f32 (exp.f32 sinTheta_i) (/.f32 v sinTheta_O))))
Symmetry

(negabs cosTheta_i)

(negabs cosTheta_O)

(sort cosTheta_i cosTheta_O)

(sort sinTheta_i sinTheta_O)

Compiler

Compiled 27 to 19 computations (29.6% saved)

eval0.0ms (0%)

Memory
0.3MiB live, 0.3MiB allocated
Compiler

Compiled 5 to 5 computations (0% saved)

prune1.0ms (0%)

Memory
1.0MiB live, 1.0MiB allocated
Alt Table
Click to see full alt table
StatusAccuracyProgram
98.5%
(/.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 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v))
Compiler

Compiled 54 to 38 computations (29.6% saved)

simplify3.0ms (0.1%)

Memory
0.8MiB live, 0.8MiB allocated
Algorithm
egg-herbie
Rules
20×*-commutative
10×sub-neg
10×neg-sub0
10×+-commutative
10×neg-mul-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02891
14591
25791
36691
47291
57491
Stop Event
saturated
Calls
Call 1
Inputs
(/.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 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v))
Outputs
(/.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 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v))
(/.f32 (*.f32 (exp.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) (neg.f32 v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (*.f32 v (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32))))
(/.f32 (*.f32 (exp.f32 (/.f32 (*.f32 sinTheta_i (neg.f32 sinTheta_O)) v)) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (*.f32 v (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32))))

soundness0.0ms (0%)

Memory
0.5MiB live, 0.5MiB allocated
Stop Event
fuel
Compiler

Compiled 27 to 19 computations (29.6% saved)

preprocess48.0ms (1.2%)

Memory
-14.9MiB live, 37.0MiB allocated
Remove

(sort sinTheta_i sinTheta_O)

(sort cosTheta_i cosTheta_O)

(negabs cosTheta_O)

(negabs cosTheta_i)

Compiler

Compiled 540 to 380 computations (29.6% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...